From 392ef54c35db01592167b5484a46a1b9e55ad1b7 Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@esi-group.com>
Date: Fri, 5 Oct 2018 10:15:13 +0200
Subject: [PATCH] ENH: use dictionary::readEntry for detection of input errors
 (#762, #1033)

- instead of   dict.lookup(name) >> val;
  can use      dict.readEntry(name, val);

  for checking of input token sizes.
  This helps catch certain types of input errors:

  {

      key1 ;                // <- Missing value
      key2 1234             // <- Missing ';' terminator
      key3 val;
  }

STYLE: readIfPresent() instead of 'if found ...' in a few more places.
---
 .../XiGModels/basicXiSubG/basicXiSubG.C       |  2 +-
 .../XiModels/XiEqModels/Gulder/Gulder.C       |  6 ++--
 .../XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C | 10 +++---
 .../instabilityXiEq/instabilityXiEq.C         |  2 +-
 .../PDRFoam/XiModels/XiGModels/KTS/KTS.C      |  2 +-
 .../XiGModels/instabilityG/instabilityG.C     |  4 +--
 .../PDRFoam/XiModels/algebraic/algebraic.C    |  2 +-
 .../PDRFoam/XiModels/transport/transport.C    |  2 +-
 .../VoFSolidificationMeltingSourceIO.C        |  2 +-
 ...incompressibleTwoPhaseInteractingMixture.C |  4 +--
 .../BinghamPlastic/BinghamPlastic.C           |  6 ++--
 .../mixtureViscosityModels/plastic/plastic.C  |  6 ++--
 .../multiphaseSystem/multiphaseSystem.C       |  2 +-
 .../constant/constant.C                       |  4 +--
 .../thermoIncompressibleTwoPhaseMixture.C     | 16 +++++-----
 .../twoPhaseMixtureEThermo.C                  | 10 +++---
 .../incompressibleThreePhaseMixture.C         |  6 ++--
 .../phaseChangeTwoPhaseMixtures/Kunz/Kunz.C   |  8 ++---
 .../Merkle/Merkle.C                           |  8 ++---
 .../SchnerrSauer/SchnerrSauer.C               |  8 ++---
 .../phaseChangeTwoPhaseMixture.C              |  8 ++---
 .../multiphaseSystem/multiphaseSystem.C       | 12 +++----
 .../multiphaseSystem/phaseModel/phaseModel.C  |  8 ++---
 .../multiphaseMixture/multiphaseMixture.C     |  8 ++---
 .../multiphaseMixture/phase/phase.C           |  2 +-
 .../constantDiameter/constantDiameter.C       |  2 +-
 .../isothermalDiameter/isothermalDiameter.C   |  4 +--
 .../kineticTheoryModel/kineticTheoryModel.C   |  2 +-
 .../phasePressureModel/phasePressureModel.C   |  6 ++--
 .../twoPhaseSystem/diameterModels/IATE/IATE.C |  4 +--
 .../kineticTheoryModel/kineticTheoryModel.C   |  2 +-
 .../phasePressureModel/phasePressureModel.C   |  6 ++--
 .../twoPhaseSystem/diameterModels/IATE/IATE.C |  4 +--
 .../constantDiameter/constantDiameter.C       |  2 +-
 .../isothermalDiameter/isothermalDiameter.C   |  4 +--
 .../extrude/extrudeMesh/extrudeMesh.C         |  4 +--
 .../extrudeToRegionMesh/extrudeToRegionMesh.C |  4 +--
 .../surfaceOffsetLinearDistance.C             | 12 +++----
 .../manipulation/renumberMesh/renumberMesh.C  |  2 +-
 .../helpTypes/helpSolver/helpSolver.C         |  2 +-
 .../foamHelp/helpTypes/helpType/helpType.C    |  2 +-
 .../foamToEnsightParts/getTimeIndex.H         |  2 +-
 .../postProcessing/postProcess/postProcess.C  |  4 +--
 .../createZeroDirectory/caseInfo.C            |  6 ++--
 .../createZeroDirectory/solverTemplate.C      |  2 +-
 .../preProcessing/mapFields/mapFields.C       |  4 +--
 .../preProcessing/mapFieldsPar/mapFieldsPar.C |  4 +--
 .../extractionMethod/extractFromFile.C        |  2 +-
 .../extractionMethod/extractFromSurface.C     |  2 +-
 .../functionObject/FUNCTIONOBJECT.C           |  9 +++---
 .../GeometricField/GeometricField.C           | 10 +++---
 .../UniformDimensionedField.C                 |  2 +-
 .../interpolationLookUpTable.C                |  6 ++--
 .../uniformInterpolationTable.C               |  8 ++---
 .../matrices/LduMatrix/LduMatrix/LduMatrixI.H |  5 +--
 .../lduMatrix/lduMatrixPreconditioner.C       |  4 +--
 .../lduMatrix/lduMatrix/lduMatrixSmoother.C   |  4 +--
 .../meshes/meshShapes/cellModel/cellModelIO.C |  8 ++---
 .../constraint/cyclic/cyclicPolyPatch.C       |  6 ++--
 .../constraint/oldCyclic/oldCyclicPolyPatch.C |  6 ++--
 .../demandDrivenEntry/demandDrivenEntryI.H    |  2 +-
 .../functions/Function1/TableFile/TableFile.C |  2 +-
 ...allHeatFluxTemperatureFvPatchScalarField.C |  7 ++--
 ...tureCoupledBaffleMixedFvPatchScalarField.C |  5 ++-
 ...eratureRadCoupledMixedFvPatchScalarField.C |  5 ++-
 .../turbulenceModels/LES/LESModel/LESModel.C  |  2 +-
 .../LES/LESdeltas/smoothDelta/smoothDelta.C   |  2 +-
 .../anisotropicFilter/anisotropicFilter.C     |  2 +-
 .../LESfilters/laplaceFilter/laplaceFilter.C  |  2 +-
 .../turbulenceModels/RAS/RASModel/RASModel.C  |  2 +-
 src/combustionModels/FSD/FSD.C                |  4 +--
 .../consumptionSpeed/consumptionSpeed.C       |  8 ++---
 .../reactionRateFlameArea.C                   |  2 +-
 .../relaxation/relaxation.C                   |  4 +--
 src/combustionModels/PaSR/PaSR.C              |  2 +-
 .../combustionModel/combustionModel.C         |  8 ++---
 .../combustionModelTemplates.C                |  2 +-
 src/combustionModels/diffusion/diffusion.C    |  2 +-
 .../eddyDissipationDiffusionModel.C           |  2 +-
 .../eddyDissipationModelBase.C                |  2 +-
 .../infinitelyFastChemistry.C                 |  2 +-
 src/combustionModels/laminar/laminar.C        | 10 ++----
 .../extrudePatchMesh/extrudePatchMesh.C       |  8 ++---
 .../solidBodyMotionFunctions/SDA/SDA.C        | 22 ++++++-------
 .../axisRotationMotion/axisRotationMotion.C   |  4 +--
 .../linearMotion/linearMotion.C               |  2 +-
 .../oscillatingLinearMotion.C                 |  4 +--
 .../oscillatingRotatingMotion.C               |  6 ++--
 .../tabulated6DoFMotion/tabulated6DoFMotion.C |  2 +-
 .../inletOutlet/inletOutletFaPatchField.C     |  5 +--
 .../cfdTools/general/MRF/MRFZone.C            |  4 +--
 .../general/coupling/externalFileCoupler.C    |  2 +-
 .../porosityModel/fixedCoeff/fixedCoeff.C     |  6 ++--
 .../porosityModel/porosityModel.C             |  2 +-
 ...ureForceBaffleVelocityFvPatchVectorField.C |  5 +--
 .../derived/advective/advectiveFvPatchField.C |  2 +-
 .../derived/fan/fanFvPatchField.C             |  4 +--
 .../fanPressureFvPatchScalarField.C           |  4 +--
 .../plenumPressureFvPatchScalarField.C        |  6 +---
 .../fieldSelection/fieldSelection.C           |  2 +-
 .../functionObjects/volRegion/volRegion.C     |  2 +-
 .../distributionModels/binned/binned.C        |  2 +-
 .../cloudSolution/cloudSolution.C             |  8 ++---
 .../Templates/ThermoCloud/ThermoCloud.C       |  2 +-
 .../ParticleCollector/ParticleCollector.C     |  2 +-
 .../ConeNozzleInjection/ConeNozzleInjection.C |  2 +-
 .../InjectionModel/InjectionModel.C           |  4 +--
 .../LocalInteraction/patchInteractionData.C   |  2 +-
 .../SingleMixtureFraction.C                   |  6 ++--
 .../ThermoSurfaceFilm/ThermoSurfaceFilm.C     |  8 ++---
 .../derived/doubleSigmoid/doubleSigmoid.C     |  8 ++---
 .../derived/sigmoid/sigmoid.C                 |  4 +--
 .../pairPotential/derived/azizChen/azizChen.C | 18 +++++------
 .../derived/dampedCoulomb/dampedCoulomb.C     |  2 +-
 .../exponentialRepulsion.C                    |  4 +--
 .../derived/lennardJones/lennardJones.C       |  4 +--
 .../derived/maitlandSmith/maitlandSmith.C     |  8 ++---
 .../potential/potential/potential.C           |  8 ++---
 .../derived/harmonicSpring/harmonicSpring.C   |  2 +-
 .../derived/pitchForkRing/pitchForkRing.C     |  6 ++--
 .../restrainedHarmonicSpring.C                |  4 +--
 .../BreakupModel/BreakupModel/BreakupModel.C  |  4 +--
 .../spray/submodels/BreakupModel/ETAB/ETAB.C  |  6 ++--
 .../BreakupModel/PilchErdman/PilchErdman.C    |  4 +--
 .../BreakupModel/ReitzDiwakar/ReitzDiwakar.C  |  8 ++---
 .../BreakupModel/ReitzKHRT/ReitzKHRT.C        | 12 +++----
 .../refinementSurfaces/surfaceZonesInfo.C     |  2 +-
 .../shellSurfaces/shellSurfaces.C             |  4 +--
 .../cyclicAMIPolyPatch/cyclicAMIPolyPatch.C   |  6 ++--
 .../coordinateRotation/axesRotation.C         |  4 +--
 .../coordinateRotation/cylindrical.C          |  2 +-
 .../coordinateSystems/coordinateSystem.C      |  4 +--
 .../mappedPolyPatch/mappedPatchBase.C         |  7 ++--
 .../geomDecomp/geomDecomp.C                   |  2 +-
 .../reactingOneDim/reactingOneDim.C           |  8 ++---
 .../pyrolysisModels/thermo/thermo.C           |  4 +--
 .../kinematicSingleLayer.C                    |  6 ++--
 .../constantFilmThermo/constantFilmThermo.C   | 20 ++++++------
 .../liquidFilmThermo/liquidFilmThermo.C       |  6 ++--
 .../surfaceFilmModel/surfaceFilmModelNew.C    |  2 +-
 .../thermoSingleLayer/thermoSingleLayer.C     |  4 +--
 .../thermalBaffle/thermalBaffle.C             |  4 +--
 .../linearAxialAngularSpring.C                |  4 +--
 .../restraints/linearDamper/linearDamper.C    |  2 +-
 .../restraints/linearSpring/linearSpring.C    | 10 +++---
 .../sphericalAngularDamper.C                  |  2 +-
 .../rigidBodyMotion/rigidBodyMotion.C         |  4 +--
 .../rigidBodyMeshMotion/rigidBodyMeshMotion.C |  2 +-
 .../sixDoFRigidBodyMotionAxisConstraint.C     |  2 +-
 .../sixDoFRigidBodyMotionLineConstraint.C     |  2 +-
 .../sixDoFRigidBodyMotionPlaneConstraint.C    |  2 +-
 .../linearAxialAngularSpring.C                |  4 +--
 .../restraints/linearDamper/linearDamper.C    |  2 +-
 .../restraints/linearSpring/linearSpring.C    | 10 +++---
 .../sphericalAngularDamper.C                  |  2 +-
 .../sphericalAngularSpring.C                  |  4 +--
 .../tabulatedAxialAngularSpring.C             |  2 +-
 .../sixDoFRigidBodyMotionIO.C                 |  4 +--
 .../sixDoFRigidBodyMotionSolver.C             |  4 +--
 .../Chung/Chung.C                             |  8 ++---
 .../Wallis/Wallis.C                           |  8 ++---
 .../linear/linear.C                           |  4 +--
 .../reduction/DRGEP/DRGEP.C                   |  5 +--
 .../TDACChemistryModel/reduction/EFA/EFA.C    |  6 ++--
 .../fvDOM/absorptionCoeffs/absorptionCoeffs.C | 12 +++----
 .../radiationModels/fvDOM/fvDOM/fvDOM.C       |  5 +--
 .../radiationModel/radiationModel.C           |  8 ++---
 .../radiationModel/radiationModelNew.C        |  2 +-
 .../radiationModels/solarLoad/solarLoad.C     |  4 +--
 .../radiationModels/viewFactor/viewFactor.C   |  5 +--
 .../greyMeanSolidAbsorptionEmission.C         |  4 +--
 .../multiBandSolidAbsorptionEmission.C        |  4 +--
 .../wideBandAbsorptionEmission.C              |  4 +--
 .../solarCalculator/solarCalculator.C         | 32 ++++++++-----------
 .../sootModel/sootModel/sootModelNew.C        |  4 +--
 .../multiBandSolidTransmissivity.C            |  2 +-
 .../chemkinReader/chemkinReader.C             | 16 ++++------
 .../thirdBodyEfficienciesI.H                  |  6 ++--
 178 files changed, 420 insertions(+), 479 deletions(-)

diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.C b/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.C
index 26104e40ab..04d3b6a5a4 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.C
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.C
@@ -104,7 +104,7 @@ bool Foam::XiGModels::basicSubGrid::read(const dictionary& XiGProperties)
 {
     XiGModel::read(XiGProperties);
 
-    XiGModelCoeffs_.lookup("k1") >> k1;
+    XiGModelCoeffs_.readEntry("k1", k1);
 
     return true;
 }
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.C b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.C
index c2b863087c..acbe023e0c 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.C
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.C
@@ -96,9 +96,9 @@ bool Foam::XiEqModels::Gulder::read(const dictionary& XiEqProperties)
 {
     XiEqModel::read(XiEqProperties);
 
-    XiEqModelCoeffs_.lookup("XiEqCoef") >> XiEqCoef_;
-    XiEqModelCoeffs_.lookup("uPrimeCoef") >> uPrimeCoef_;
-    XiEqModelCoeffs_.lookup("subGridSchelkin") >> subGridSchelkin_;
+    XiEqModelCoeffs_.readEntry("XiEqCoef", XiEqCoef_);
+    XiEqModelCoeffs_.readEntry("uPrimeCoef", uPrimeCoef_);
+    XiEqModelCoeffs_.readEntry("subGridSchelkin", subGridSchelkin_);
 
     return true;
 }
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C
index c7b55925ca..59758b889e 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C
@@ -147,11 +147,11 @@ bool Foam::XiEqModels::SCOPEXiEq::read(const dictionary& XiEqProperties)
 {
     XiEqModel::read(XiEqProperties);
 
-    XiEqModelCoeffs_.lookup("XiEqCoef") >> XiEqCoef_;
-    XiEqModelCoeffs_.lookup("XiEqExp") >> XiEqExp_;
-    XiEqModelCoeffs_.lookup("lCoef") >> lCoef_;
-    XiEqModelCoeffs_.lookup("uPrimeCoef") >> uPrimeCoef_;
-    XiEqModelCoeffs_.lookup("subGridSchelkin") >> subGridSchelkin_;
+    XiEqModelCoeffs_.readEntry("XiEqCoef", XiEqCoef_);
+    XiEqModelCoeffs_.readEntry("XiEqExp", XiEqExp_);
+    XiEqModelCoeffs_.readEntry("lCoef", lCoef_);
+    XiEqModelCoeffs_.readEntry("uPrimeCoef", uPrimeCoef_);
+    XiEqModelCoeffs_.readEntry("subGridSchelkin", subGridSchelkin_);
 
     return true;
 }
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.C b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.C
index 9894fb166e..39651e983c 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.C
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.C
@@ -73,7 +73,7 @@ bool Foam::XiEqModels::instability::read(const dictionary& XiEqProperties)
 {
     XiEqModel::read(XiEqProperties);
 
-    XiEqModelCoeffs_.lookup("XiEqIn") >> XiEqIn;
+    XiEqModelCoeffs_.readEntry("XiEqIn", XiEqIn);
 
     return XiEqModel_->read(XiEqModelCoeffs_);
 }
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.C b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.C
index aaddecc9d9..5750278f32 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.C
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.C
@@ -76,7 +76,7 @@ bool Foam::XiGModels::KTS::read(const dictionary& XiGProperties)
 {
     XiGModel::read(XiGProperties);
 
-    XiGModelCoeffs_.lookup("GEtaCoef") >> GEtaCoef_;
+    XiGModelCoeffs_.readEntry("GEtaCoef", GEtaCoef_);
 
     return true;
 }
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/instabilityG/instabilityG.C b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/instabilityG/instabilityG.C
index eb3aeffeaf..a516bf0e46 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/instabilityG/instabilityG.C
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/instabilityG/instabilityG.C
@@ -86,8 +86,8 @@ bool Foam::XiGModels::instabilityG::read(const dictionary& XiGProperties)
 {
     XiGModel::read(XiGProperties);
 
-    XiGModelCoeffs_.lookup("GIn") >> GIn_;
-    XiGModelCoeffs_.lookup("lambdaIn") >> lambdaIn_;
+    XiGModelCoeffs_.readEntry("GIn", GIn_);
+    XiGModelCoeffs_.readEntry("lambdaIn", lambdaIn_);
 
     return true;
 }
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/algebraic/algebraic.C b/applications/solvers/combustion/PDRFoam/XiModels/algebraic/algebraic.C
index d744272d69..7908a578b5 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/algebraic/algebraic.C
+++ b/applications/solvers/combustion/PDRFoam/XiModels/algebraic/algebraic.C
@@ -89,7 +89,7 @@ bool Foam::XiModels::algebraic::read(const dictionary& XiProperties)
 {
     XiModel::read(XiProperties);
 
-    XiModelCoeffs_.lookup("XiShapeCoef") >> XiShapeCoef;
+    XiModelCoeffs_.readEntry("XiShapeCoef", XiShapeCoef);
 
     return true;
 }
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.C b/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.C
index a3eabb0721..b23c057a6a 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.C
+++ b/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.C
@@ -136,7 +136,7 @@ bool Foam::XiModels::transport::read(const dictionary& XiProperties)
 {
     XiModel::read(XiProperties);
 
-    XiModelCoeffs_.lookup("XiShapeCoef") >> XiShapeCoef;
+    XiModelCoeffs_.readEntry("XiShapeCoef", XiShapeCoef);
 
     return true;
 }
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFSolidificationMeltingSource/VoFSolidificationMeltingSourceIO.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFSolidificationMeltingSource/VoFSolidificationMeltingSourceIO.C
index 43e5df3da0..775fd10c3f 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFSolidificationMeltingSource/VoFSolidificationMeltingSourceIO.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/VoFSolidificationMeltingSource/VoFSolidificationMeltingSourceIO.C
@@ -32,7 +32,7 @@ bool Foam::fv::VoFSolidificationMeltingSource::read(const dictionary& dict)
     if (cellSetOption::read(dict))
     {
         alphaSolidT_ = Function1<scalar>::New("alphaSolidT", coeffs_);
-        coeffs_.lookup("L") >> L_;
+        coeffs_.readEntry("L", L_);
         coeffs_.readIfPresent("relax", relax_);
         coeffs_.readIfPresent("Cu", Cu_);
         coeffs_.readIfPresent("q", q_);
diff --git a/applications/solvers/multiphase/driftFluxFoam/incompressibleTwoPhaseInteractingMixture/incompressibleTwoPhaseInteractingMixture.C b/applications/solvers/multiphase/driftFluxFoam/incompressibleTwoPhaseInteractingMixture/incompressibleTwoPhaseInteractingMixture.C
index 5058b55eaf..6bf159f2ff 100644
--- a/applications/solvers/multiphase/driftFluxFoam/incompressibleTwoPhaseInteractingMixture/incompressibleTwoPhaseInteractingMixture.C
+++ b/applications/solvers/multiphase/driftFluxFoam/incompressibleTwoPhaseInteractingMixture/incompressibleTwoPhaseInteractingMixture.C
@@ -122,8 +122,8 @@ bool Foam::incompressibleTwoPhaseInteractingMixture::read()
          && nucModel_().read(subDict(phase2Name_))
         )
         {
-            muModel_->viscosityProperties().lookup("rho") >> rhod_;
-            nucModel_->viscosityProperties().lookup("rho") >> rhoc_;
+            muModel_->viscosityProperties().readEntry("rho", rhod_);
+            nucModel_->viscosityProperties().readEntry("rho", rhoc_);
 
             dd_ = dimensionedScalar
             (
diff --git a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/BinghamPlastic/BinghamPlastic.C b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/BinghamPlastic/BinghamPlastic.C
index 2711e79d9d..45100db021 100644
--- a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/BinghamPlastic/BinghamPlastic.C
+++ b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/BinghamPlastic/BinghamPlastic.C
@@ -128,9 +128,9 @@ bool Foam::mixtureViscosityModels::BinghamPlastic::read
 {
     plastic::read(viscosityProperties);
 
-    plasticCoeffs_.lookup("yieldStressCoeff") >> yieldStressCoeff_;
-    plasticCoeffs_.lookup("yieldStressExponent") >> yieldStressExponent_;
-    plasticCoeffs_.lookup("yieldStressOffset") >> yieldStressOffset_;
+    plasticCoeffs_.readEntry("yieldStressCoeff", yieldStressCoeff_);
+    plasticCoeffs_.readEntry("yieldStressExponent", yieldStressExponent_);
+    plasticCoeffs_.readEntry("yieldStressOffset", yieldStressOffset_);
 
     return true;
 }
diff --git a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/plastic/plastic.C b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/plastic/plastic.C
index c096513474..a11032ff13 100644
--- a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/plastic/plastic.C
+++ b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/plastic/plastic.C
@@ -119,9 +119,9 @@ bool Foam::mixtureViscosityModels::plastic::read
 
     plasticCoeffs_ = viscosityProperties.optionalSubDict(typeName + "Coeffs");
 
-    plasticCoeffs_.lookup("k") >> plasticViscosityCoeff_;
-    plasticCoeffs_.lookup("n") >> plasticViscosityExponent_;
-    plasticCoeffs_.lookup("muMax") >> muMax_;
+    plasticCoeffs_.readEntry("k", plasticViscosityCoeff_);
+    plasticCoeffs_.readEntry("n", plasticViscosityExponent_);
+    plasticCoeffs_.readEntry("muMax", muMax_);
 
     return true;
 }
diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/phasesSystem/phaseSystem/multiphaseSystem/multiphaseSystem.C b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/phasesSystem/phaseSystem/multiphaseSystem/multiphaseSystem.C
index 93de23a995..e7d8c06615 100644
--- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/phasesSystem/phaseSystem/multiphaseSystem/multiphaseSystem.C
+++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/phasesSystem/phaseSystem/multiphaseSystem/multiphaseSystem.C
@@ -271,7 +271,7 @@ void Foam::multiphaseSystem::solve()
     const dictionary& alphaControls = mesh.solverDict("alpha");
     label nAlphaSubCycles(readLabel(alphaControls.lookup("nAlphaSubCycles")));
     label nAlphaCorr(readLabel(alphaControls.lookup("nAlphaCorr")));
-    mesh.solverDict("alpha").lookup("cAlphas") >> cAlphas_;
+    mesh.solverDict("alpha").readEntry("cAlphas", cAlphas_);
 
     // Reset ddtAlphaMax
     ddtAlphaMax_ = dimensionedScalar(dimless, Zero);
diff --git a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.C b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.C
index 6a79460da6..f82f1f197c 100644
--- a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.C
+++ b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.C
@@ -158,8 +158,8 @@ bool Foam::temperaturePhaseChangeTwoPhaseMixtures::constant::read()
 {
     if (temperaturePhaseChangeTwoPhaseMixture::read())
     {
-        subDict(type() + "Coeffs").lookup("coeffC") >> coeffC_;
-        subDict(type() + "Coeffs").lookup("coeffE") >> coeffE_;
+        subDict(type() + "Coeffs").readEntry("coeffC", coeffC_);
+        subDict(type() + "Coeffs").readEntry("coeffE", coeffE_);
 
         return true;
     }
diff --git a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/thermoIncompressibleTwoPhaseMixture/thermoIncompressibleTwoPhaseMixture.C b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/thermoIncompressibleTwoPhaseMixture/thermoIncompressibleTwoPhaseMixture.C
index 4be68f4c26..2cfcbdbe7c 100644
--- a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/thermoIncompressibleTwoPhaseMixture/thermoIncompressibleTwoPhaseMixture.C
+++ b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/thermoIncompressibleTwoPhaseMixture/thermoIncompressibleTwoPhaseMixture.C
@@ -109,17 +109,17 @@ bool Foam::thermoIncompressibleTwoPhaseMixture::read()
 {
     if (incompressibleTwoPhaseMixture::read())
     {
-        subDict(phase1Name_).lookup("kappa") >> kappa1_;
-        subDict(phase2Name_).lookup("kappa") >> kappa2_;
+        subDict(phase1Name_).readEntry("kappa", kappa1_);
+        subDict(phase2Name_).readEntry("kappa", kappa2_);
 
-        subDict(phase1Name_).lookup("Cp") >> Cp1_;
-        subDict(phase2Name_).lookup("Cp") >> Cp2_;
+        subDict(phase1Name_).readEntry("Cp", Cp1_);
+        subDict(phase2Name_).readEntry("Cp", Cp2_);
 
-        subDict(phase1Name_).lookup("Cv") >> Cv1_;
-        subDict(phase2Name_).lookup("Cv") >> Cv2_;
+        subDict(phase1Name_).readEntry("Cv", Cv1_);
+        subDict(phase2Name_).readEntry("Cv", Cv2_);
 
-        subDict(phase1Name_).lookup("hf") >> Hf1_;
-        subDict(phase2Name_).lookup("hf") >> Hf2_;
+        subDict(phase1Name_).readEntry("hf", Hf1_);
+        subDict(phase2Name_).readEntry("hf", Hf2_);
 
         return true;
     }
diff --git a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C
index 3910f68bcd..8ef64f38c9 100644
--- a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C
+++ b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C
@@ -581,14 +581,12 @@ bool Foam::twoPhaseMixtureEThermo::read()
 {
     if (basicThermo::read() && thermoIncompressibleTwoPhaseMixture::read())
     {
-        basicThermo::lookup("pDivU") >> pDivU_;
-        basicThermo::lookup("TSat") >> TSat_;
+        basicThermo::readEntry("pDivU", pDivU_);
+        basicThermo::readEntry("TSat", TSat_);
         return true;
     }
-    else
-    {
-        return false;
-    }
+
+    return false;
 }
 
 
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/incompressibleThreePhaseMixture.C b/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/incompressibleThreePhaseMixture.C
index e68661b678..1d9e81636f 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/incompressibleThreePhaseMixture.C
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/incompressibleThreePhaseMixture.C
@@ -231,9 +231,9 @@ bool Foam::incompressibleThreePhaseMixture::read()
          && nuModel3_().read(*this)
         )
         {
-            nuModel1_->viscosityProperties().lookup("rho") >> rho1_;
-            nuModel2_->viscosityProperties().lookup("rho") >> rho2_;
-            nuModel3_->viscosityProperties().lookup("rho") >> rho3_;
+            nuModel1_->viscosityProperties().readEntry("rho", rho1_);
+            nuModel2_->viscosityProperties().readEntry("rho", rho2_);
+            nuModel3_->viscosityProperties().readEntry("rho", rho3_);
 
             return true;
         }
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/Kunz/Kunz.C b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/Kunz/Kunz.C
index 0a172e764a..a39647a35c 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/Kunz/Kunz.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/Kunz/Kunz.C
@@ -104,10 +104,10 @@ bool Foam::phaseChangeTwoPhaseMixtures::Kunz::read()
     {
         phaseChangeTwoPhaseMixtureCoeffs_ = optionalSubDict(type() + "Coeffs");
 
-        phaseChangeTwoPhaseMixtureCoeffs_.lookup("UInf") >> UInf_;
-        phaseChangeTwoPhaseMixtureCoeffs_.lookup("tInf") >> tInf_;
-        phaseChangeTwoPhaseMixtureCoeffs_.lookup("Cc") >> Cc_;
-        phaseChangeTwoPhaseMixtureCoeffs_.lookup("Cv") >> Cv_;
+        phaseChangeTwoPhaseMixtureCoeffs_.readEntry("UInf", UInf_);
+        phaseChangeTwoPhaseMixtureCoeffs_.readEntry("tInf", tInf_);
+        phaseChangeTwoPhaseMixtureCoeffs_.readEntry("Cc", Cc_);
+        phaseChangeTwoPhaseMixtureCoeffs_.readEntry("Cv", Cv_);
 
         mcCoeff_ = Cc_*rho2()/tInf_;
         mvCoeff_ = Cv_*rho2()/(0.5*rho1()*sqr(UInf_)*tInf_);
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/Merkle/Merkle.C b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/Merkle/Merkle.C
index f682ed5725..09e977d988 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/Merkle/Merkle.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/Merkle/Merkle.C
@@ -99,10 +99,10 @@ bool Foam::phaseChangeTwoPhaseMixtures::Merkle::read()
     {
         phaseChangeTwoPhaseMixtureCoeffs_ = optionalSubDict(type() + "Coeffs");
 
-        phaseChangeTwoPhaseMixtureCoeffs_.lookup("UInf") >> UInf_;
-        phaseChangeTwoPhaseMixtureCoeffs_.lookup("tInf") >> tInf_;
-        phaseChangeTwoPhaseMixtureCoeffs_.lookup("Cc") >> Cc_;
-        phaseChangeTwoPhaseMixtureCoeffs_.lookup("Cv") >> Cv_;
+        phaseChangeTwoPhaseMixtureCoeffs_.readEntry("UInf", UInf_);
+        phaseChangeTwoPhaseMixtureCoeffs_.readEntry("tInf", tInf_);
+        phaseChangeTwoPhaseMixtureCoeffs_.readEntry("Cc", Cc_);
+        phaseChangeTwoPhaseMixtureCoeffs_.readEntry("Cv", Cv_);
 
         mcCoeff_ = Cc_/(0.5*sqr(UInf_)*tInf_);
         mvCoeff_ = Cv_*rho1()/(0.5*sqr(UInf_)*tInf_*rho2());
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/SchnerrSauer/SchnerrSauer.C b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/SchnerrSauer/SchnerrSauer.C
index 7d02a651fe..17d218fdae 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/SchnerrSauer/SchnerrSauer.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/SchnerrSauer/SchnerrSauer.C
@@ -153,10 +153,10 @@ bool Foam::phaseChangeTwoPhaseMixtures::SchnerrSauer::read()
     {
         phaseChangeTwoPhaseMixtureCoeffs_ = optionalSubDict(type() + "Coeffs");
 
-        phaseChangeTwoPhaseMixtureCoeffs_.lookup("n") >> n_;
-        phaseChangeTwoPhaseMixtureCoeffs_.lookup("dNuc") >> dNuc_;
-        phaseChangeTwoPhaseMixtureCoeffs_.lookup("Cc") >> Cc_;
-        phaseChangeTwoPhaseMixtureCoeffs_.lookup("Cv") >> Cv_;
+        phaseChangeTwoPhaseMixtureCoeffs_.readEntry("n", n_);
+        phaseChangeTwoPhaseMixtureCoeffs_.readEntry("dNuc", dNuc_);
+        phaseChangeTwoPhaseMixtureCoeffs_.readEntry("Cc", Cc_);
+        phaseChangeTwoPhaseMixtureCoeffs_.readEntry("Cv", Cv_);
 
         return true;
     }
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.C b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.C
index c4fe701a2f..e8abc554f4 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.C
@@ -78,14 +78,12 @@ bool Foam::phaseChangeTwoPhaseMixture::read()
     if (incompressibleTwoPhaseMixture::read())
     {
         phaseChangeTwoPhaseMixtureCoeffs_ = optionalSubDict(type() + "Coeffs");
-        lookup("pSat") >> pSat_;
+        readEntry("pSat", pSat_);
 
         return true;
     }
-    else
-    {
-        return false;
-    }
+
+    return false;
 }
 
 
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C
index 2815e56690..e48594f970 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C
@@ -944,16 +944,14 @@ bool Foam::multiphaseSystem::read()
             readOK &= iter().read(phaseData[phasei++].dict());
         }
 
-        lookup("sigmas") >> sigmas_;
-        lookup("interfaceCompression") >> cAlphas_;
-        lookup("virtualMass") >> Cvms_;
+        readEntry("sigmas", sigmas_);
+        readEntry("interfaceCompression", cAlphas_);
+        readEntry("virtualMass", Cvms_);
 
         return readOK;
     }
-    else
-    {
-        return false;
-    }
+
+    return false;
 }
 
 
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C
index 9b66605cf8..d50c2b34c3 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C
@@ -222,10 +222,10 @@ bool Foam::phaseModel::read(const dictionary& phaseDict)
 
     //if (nuModel_->read(phaseDict_))
     {
-        phaseDict_.lookup("nu") >> nu_.value();
-        phaseDict_.lookup("kappa") >> kappa_.value();
-        phaseDict_.lookup("Cp") >> Cp_.value();
-        phaseDict_.lookup("rho") >> rho_.value();
+        phaseDict_.readEntry("nu", nu_.value());
+        phaseDict_.readEntry("kappa", kappa_.value());
+        phaseDict_.readEntry("Cp", Cp_.value());
+        phaseDict_.readEntry("rho", rho_.value());
 
         return true;
     }
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C
index 27f1e937d4..c6c366951d 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C
@@ -701,14 +701,12 @@ bool Foam::multiphaseMixture::read()
             readOK &= iter().read(phaseData[phasei++].dict());
         }
 
-        lookup("sigmas") >> sigmas_;
+        readEntry("sigmas", sigmas_);
 
         return readOK;
     }
-    else
-    {
-        return false;
-    }
+
+    return false;
 }
 
 
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C
index e7a5603c9f..63b3e0779b 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C
@@ -84,7 +84,7 @@ bool Foam::phase::read(const dictionary& phaseDict)
 
     if (nuModel_->read(phaseDict_))
     {
-        phaseDict_.lookup("rho") >> rho_;
+        phaseDict_.readEntry("rho", rho_);
 
         return true;
     }
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/constantDiameter/constantDiameter.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/constantDiameter/constantDiameter.C
index 5d8ec7464d..8e787e7765 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/constantDiameter/constantDiameter.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/constantDiameter/constantDiameter.C
@@ -88,7 +88,7 @@ bool Foam::diameterModels::constant::read(const dictionary& phaseProperties)
 {
     diameterModel::read(phaseProperties);
 
-    diameterProperties_.lookup("d") >> d_;
+    diameterProperties_.readEntry("d", d_);
 
     return true;
 }
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/isothermalDiameter/isothermalDiameter.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/isothermalDiameter/isothermalDiameter.C
index 921dbdba5b..845e8b0d25 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/isothermalDiameter/isothermalDiameter.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/isothermalDiameter/isothermalDiameter.C
@@ -81,8 +81,8 @@ bool Foam::diameterModels::isothermal::read(const dictionary& phaseProperties)
 {
     diameterModel::read(phaseProperties);
 
-    diameterProperties_.lookup("d0") >> d0_;
-    diameterProperties_.lookup("p0") >> p0_;
+    diameterProperties_.readEntry("d0", d0_);
+    diameterProperties_.readEntry("p0", p0_);
 
     return true;
 }
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
index 5e09566569..71fdca8d88 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
@@ -212,7 +212,7 @@ bool Foam::RASModels::kineticTheoryModel::read()
         >::read()
     )
     {
-        coeffDict().lookup("equilibrium") >> equilibrium_;
+        coeffDict().readEntry("equilibrium", equilibrium_);
         e_.readIfPresent(coeffDict());
         alphaMax_.readIfPresent(coeffDict());
         alphaMinFriction_.readIfPresent(coeffDict());
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C
index 9176b7a1c8..90549eda9c 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C
@@ -94,9 +94,9 @@ bool Foam::RASModels::phasePressureModel::read()
         >::read()
     )
     {
-        coeffDict().lookup("alphaMax") >> alphaMax_;
-        coeffDict().lookup("preAlphaExp") >> preAlphaExp_;
-        coeffDict().lookup("expMax") >> expMax_;
+        coeffDict().readEntry("alphaMax", alphaMax_);
+        coeffDict().readEntry("preAlphaExp", preAlphaExp_);
+        coeffDict().readEntry("expMax", expMax_);
         g0_.readIfPresent(coeffDict());
 
         return true;
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C
index 9bae6c06e8..b2d0547f5c 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C
@@ -174,8 +174,8 @@ bool Foam::diameterModels::IATE::read(const dictionary& phaseProperties)
 {
     diameterModel::read(phaseProperties);
 
-    diameterProperties_.lookup("dMax") >> dMax_;
-    diameterProperties_.lookup("dMin") >> dMin_;
+    diameterProperties_.readEntry("dMax", dMax_);
+    diameterProperties_.readEntry("dMin", dMin_);
 
     // Re-create all the sources updating number, type and coefficients
     PtrList<IATEsource>
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
index 5e09566569..71fdca8d88 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
@@ -212,7 +212,7 @@ bool Foam::RASModels::kineticTheoryModel::read()
         >::read()
     )
     {
-        coeffDict().lookup("equilibrium") >> equilibrium_;
+        coeffDict().readEntry("equilibrium", equilibrium_);
         e_.readIfPresent(coeffDict());
         alphaMax_.readIfPresent(coeffDict());
         alphaMinFriction_.readIfPresent(coeffDict());
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C
index 4c272f8d57..b00f887c98 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C
@@ -100,9 +100,9 @@ bool Foam::RASModels::phasePressureModel::read()
         >::read()
     )
     {
-        coeffDict().lookup("alphaMax") >> alphaMax_;
-        coeffDict().lookup("preAlphaExp") >> preAlphaExp_;
-        coeffDict().lookup("expMax") >> expMax_;
+        coeffDict().readEntry("alphaMax", alphaMax_);
+        coeffDict().readEntry("preAlphaExp", preAlphaExp_);
+        coeffDict().readEntry("expMax", expMax_);
         g0_.readIfPresent(coeffDict());
 
         return true;
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C
index afa96a571a..00f8188f78 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C
@@ -184,8 +184,8 @@ bool Foam::diameterModels::IATE::read(const dictionary& phaseProperties)
 {
     diameterModel::read(phaseProperties);
 
-    diameterProperties_.lookup("dMax") >> dMax_;
-    diameterProperties_.lookup("dMin") >> dMin_;
+    diameterProperties_.readEntry("dMax", dMax_);
+    diameterProperties_.readEntry("dMin", dMin_);
 
     // Re-create all the sources updating number, type and coefficients
     PtrList<IATEsource>
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C
index 1f6cf5c441..5868057dd5 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/constantDiameter/constantDiameter.C
@@ -91,7 +91,7 @@ bool Foam::diameterModels::constant::read(const dictionary& phaseProperties)
 {
     diameterModel::read(phaseProperties);
 
-    diameterProperties_.lookup("d") >> d_;
+    diameterProperties_.readEntry("d", d_);
 
     return true;
 }
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C
index 2754ce8d73..ec349b7f18 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/isothermalDiameter/isothermalDiameter.C
@@ -81,8 +81,8 @@ bool Foam::diameterModels::isothermal::read(const dictionary& phaseProperties)
 {
     diameterModel::read(phaseProperties);
 
-    diameterProperties_.lookup("d0") >> d0_;
-    diameterProperties_.lookup("p0") >> p0_;
+    diameterProperties_.readEntry("d0", d0_);
+    diameterProperties_.readEntry("p0", p0_);
 
     return true;
 }
diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C
index ce99b04a4f..26b33a8605 100644
--- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C
+++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C
@@ -362,7 +362,7 @@ int main(int argc, char *argv[])
                /"processor" + Foam::name(Pstream::myProcNo());
         }
         wordList sourcePatches;
-        dict.lookup("sourcePatches") >> sourcePatches;
+        dict.readEntry("sourcePatches", sourcePatches);
 
         if (sourcePatches.size() == 1)
         {
@@ -581,7 +581,7 @@ int main(int argc, char *argv[])
         labelList exposedPatchID;
         if (mode == PATCH)
         {
-            dict.lookup("exposedPatchName") >> backPatchName;
+            dict.readEntry("exposedPatchName", backPatchName);
             exposedPatchID.setSize
             (
                 extrudePatch.size(),
diff --git a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C
index c53ed69934..e5dc81bbdf 100644
--- a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C
+++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C
@@ -1514,7 +1514,7 @@ int main(int argc, char *argv[])
     const bool hasZones = dict.found("faceZones");
     if (hasZones)
     {
-        dict.lookup("faceZones") >> zoneNames;
+        dict.readEntry("faceZones", zoneNames);
         dict.readIfPresent("faceZonesShadow", zoneShadowNames);
 
         // Check
@@ -1528,7 +1528,7 @@ int main(int argc, char *argv[])
     }
     else
     {
-        dict.lookup("faceSets") >> zoneNames;
+        dict.readEntry("faceSets", zoneNames);
         dict.readIfPresent("faceSetsShadow", zoneShadowNames);
     }
 
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/surfaceOffsetLinearDistance/surfaceOffsetLinearDistance.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/surfaceOffsetLinearDistance/surfaceOffsetLinearDistance.C
index 60892120ef..b186ae50b9 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/surfaceOffsetLinearDistance/surfaceOffsetLinearDistance.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/surfaceOffsetLinearDistance/surfaceOffsetLinearDistance.C
@@ -71,10 +71,9 @@ Foam::surfaceOffsetLinearDistance::surfaceOffsetLinearDistance
     totalDistance_(),
     totalDistanceSqr_()
 {
-    if (coeffsDict().found("totalDistanceCoeff"))
+    if (coeffsDict().readIfPresent("totalDistanceCoeff", totalDistance_))
     {
-        totalDistance_ =
-            coeffsDict().get<scalar>("totalDistanceCoeff") * defaultCellSize;
+        totalDistance_ *= defaultCellSize;
 
         if (coeffsDict().found("linearDistanceCoeff"))
         {
@@ -84,11 +83,10 @@ Foam::surfaceOffsetLinearDistance::surfaceOffsetLinearDistance
                 << nl << exit(FatalError) << endl;
         }
     }
-    else if (coeffsDict().found("linearDistanceCoeff"))
+    else if (coeffsDict().readIfPresent("linearDistanceCoeff", totalDistance_))
     {
-        totalDistance_ =
-            coeffsDict().get<scalar>("linearDistanceCoeff") * defaultCellSize
-            + surfaceOffset_;
+        totalDistance_ *= defaultCellSize;
+        totalDistance_ += surfaceOffset_;
     }
     else
     {
diff --git a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C
index 6a9bac6bed..4e15db3fe6 100644
--- a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C
+++ b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C
@@ -749,7 +749,7 @@ int main(int argc, char *argv[])
                 << endl;
         }
 
-        renumberDict.lookup("writeMaps") >> writeMaps;
+        renumberDict.readEntry("writeMaps", writeMaps);
         if (writeMaps)
         {
             Info<< "Writing renumber maps (new to old) to polyMesh." << nl
diff --git a/applications/utilities/miscellaneous/foamHelp/helpTypes/helpSolver/helpSolver.C b/applications/utilities/miscellaneous/foamHelp/helpTypes/helpSolver/helpSolver.C
index 1da7406536..782580d5a2 100644
--- a/applications/utilities/miscellaneous/foamHelp/helpTypes/helpSolver/helpSolver.C
+++ b/applications/utilities/miscellaneous/foamHelp/helpTypes/helpSolver/helpSolver.C
@@ -85,7 +85,7 @@ void Foam::helpTypes::helpSolver::execute
     }
     else if (args.found("read"))
     {
-        mesh.time().controlDict().lookup("application") >> solver;
+        mesh.time().controlDict().readEntry("application", solver);
         displayDoc(solver, ".*solvers/.*Foam/", true, "C");
     }
     else
diff --git a/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpType.C b/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpType.C
index 93c628dafb..3b6d9130b8 100644
--- a/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpType.C
+++ b/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpType.C
@@ -119,7 +119,7 @@ void Foam::helpType::displayDoc
     {
         const dictionary& docDict =
             debug::controlDict().subDict("Documentation");
-        docDict.lookup("docBrowser") >> docBrowser;
+        docDict.readEntry("docBrowser", docBrowser);
     }
 
     doxygenXmlParser parser
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/getTimeIndex.H b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/getTimeIndex.H
index 91c718994f..8ce3150b75 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/getTimeIndex.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/getTimeIndex.H
@@ -29,7 +29,7 @@
             io.readOpt() = IOobject::MUST_READ_IF_MODIFIED;
             IOdictionary timeObject(io);
 
-            timeObject.lookup("index") >> timeIndex;
+            timeObject.readEntry("index", timeIndex);
         }
         else
         {
diff --git a/applications/utilities/postProcessing/postProcess/postProcess.C b/applications/utilities/postProcessing/postProcess/postProcess.C
index 89deb92640..f0a2b99b64 100644
--- a/applications/utilities/postProcessing/postProcess/postProcess.C
+++ b/applications/utilities/postProcessing/postProcess/postProcess.C
@@ -157,11 +157,11 @@ int main(int argc, char *argv[])
     functionObjects::fileFieldSelection fields(mesh);
     if (args.found("fields"))
     {
-        args.lookup("fields")() >> fields;
+        fields.insert(args.getList<wordRe>("fields"));
     }
     if (args.found("field"))
     {
-        fields.insert(args.lookup("field")());
+        fields.insert(args.opt<wordRe>("field"));
     }
 
     // Externally stored dictionary for functionObjectList
diff --git a/applications/utilities/preProcessing/createZeroDirectory/caseInfo.C b/applications/utilities/preProcessing/createZeroDirectory/caseInfo.C
index efb0cce16b..65c2fea250 100644
--- a/applications/utilities/preProcessing/createZeroDirectory/caseInfo.C
+++ b/applications/utilities/preProcessing/createZeroDirectory/caseInfo.C
@@ -129,9 +129,9 @@ Foam::caseInfo::caseInfo(const Time& runTime, const word& regionName)
     forAll(conditionNames_, i)
     {
         const dictionary& dict = bcDict_.subDict(conditionNames_[i]);
-        dict.lookup("category") >> patchCategories_[i];
-        dict.lookup("type") >> patchTypes_[i];
-        dict.lookup("patches") >> patchNames_[i];
+        dict.readEntry("category", patchCategories_[i]);
+        dict.readEntry("type", patchTypes_[i]);
+        dict.readEntry("patches", patchNames_[i]);
     }
 
     updateGeometricBoundaryField();
diff --git a/applications/utilities/preProcessing/createZeroDirectory/solverTemplate.C b/applications/utilities/preProcessing/createZeroDirectory/solverTemplate.C
index 678c1e5b49..0c85961e7e 100644
--- a/applications/utilities/preProcessing/createZeroDirectory/solverTemplate.C
+++ b/applications/utilities/preProcessing/createZeroDirectory/solverTemplate.C
@@ -217,7 +217,7 @@ void Foam::solverTemplate::setRegionProperties
         const word& fieldName = fieldNames_[regionI][i];
         const dictionary& dict = fieldDict.subDict(fieldName);
 
-        dict.lookup("type") >> fieldTypes_[regionI][i];
+        dict.readEntry("type", fieldTypes_[regionI][i]);
         fieldDimensions_[regionI].set
         (
             i,
diff --git a/applications/utilities/preProcessing/mapFields/mapFields.C b/applications/utilities/preProcessing/mapFields/mapFields.C
index 75afb798bc..d6fe357854 100644
--- a/applications/utilities/preProcessing/mapFields/mapFields.C
+++ b/applications/utilities/preProcessing/mapFields/mapFields.C
@@ -361,8 +361,8 @@ int main(int argc, char *argv[])
             )
         );
 
-        mapFieldsDict.lookup("patchMap") >> patchMap;
-        mapFieldsDict.lookup("cuttingPatches") >>  cuttingPatches;
+        mapFieldsDict.readEntry("patchMap", patchMap);
+        mapFieldsDict.readEntry("cuttingPatches", cuttingPatches);
     }
 
     if (parallelSource && !parallelTarget)
diff --git a/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C b/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C
index 0d30bacc78..09ba335ea6 100644
--- a/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C
+++ b/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C
@@ -313,8 +313,8 @@ int main(int argc, char *argv[])
             )
         );
 
-        mapFieldsDict.lookup("patchMap") >> patchMap;
-        mapFieldsDict.lookup("cuttingPatches") >>  cuttingPatches;
+        mapFieldsDict.readEntry("patchMap", patchMap);
+        mapFieldsDict.readEntry("cuttingPatches", cuttingPatches);
     }
 
     #include "setTimeIndex.H"
diff --git a/applications/utilities/surface/surfaceFeatureExtract/extractionMethod/extractFromFile.C b/applications/utilities/surface/surfaceFeatureExtract/extractionMethod/extractFromFile.C
index 7cb51d0ccf..1287e1fba7 100644
--- a/applications/utilities/surface/surfaceFeatureExtract/extractionMethod/extractFromFile.C
+++ b/applications/utilities/surface/surfaceFeatureExtract/extractionMethod/extractFromFile.C
@@ -56,7 +56,7 @@ Foam::surfaceFeaturesExtraction::extractFromFile::extractFromFile
     const dictionary& coeffDict =
         dict.optionalSubDict("extractFromFileCoeffs");
 
-    coeffDict.lookup("featureEdgeFile") >> featureEdgeFile_;
+    coeffDict.readEntry("featureEdgeFile", featureEdgeFile_);
     coeffDict.readIfPresent("geometricTestOnly", geometricTestOnly_);
 }
 
diff --git a/applications/utilities/surface/surfaceFeatureExtract/extractionMethod/extractFromSurface.C b/applications/utilities/surface/surfaceFeatureExtract/extractionMethod/extractFromSurface.C
index 6635a95a3e..9be509f85f 100644
--- a/applications/utilities/surface/surfaceFeatureExtract/extractionMethod/extractFromSurface.C
+++ b/applications/utilities/surface/surfaceFeatureExtract/extractionMethod/extractFromSurface.C
@@ -55,7 +55,7 @@ Foam::surfaceFeaturesExtraction::extractFromSurface::extractFromSurface
     const dictionary& coeffDict =
         dict.optionalSubDict("extractFromSurfaceCoeffs");
 
-    coeffDict.lookup("includedAngle") >> includedAngle_;
+    coeffDict.readEntry("includedAngle", includedAngle_);
     coeffDict.readIfPresent("geometricTestOnly", geometricTestOnly_);
 }
 
diff --git a/etc/codeTemplates/functionObject/FUNCTIONOBJECT.C b/etc/codeTemplates/functionObject/FUNCTIONOBJECT.C
index a862aadf3b..3accc508ac 100644
--- a/etc/codeTemplates/functionObject/FUNCTIONOBJECT.C
+++ b/etc/codeTemplates/functionObject/FUNCTIONOBJECT.C
@@ -51,8 +51,8 @@ Foam::functionObjects::FUNCTIONOBJECT::FUNCTIONOBJECT
 :
     fvMeshFunctionObject(name, runTime, dict),
     wordData_(dict.lookupOrDefault<word>("wordData", "defaultWord")),
-    scalarData_(readScalar(dict.lookup("scalarData"))),
-    labelData_(readLabel(dict.lookup("labelData")))
+    scalarData_(dict.get<scalar>("scalarData")),
+    labelData_(dict.get<label>("labelData"))
 {
     read(dict);
 }
@@ -69,8 +69,9 @@ Foam::functionObjects::FUNCTIONOBJECT::~FUNCTIONOBJECT()
 bool Foam::functionObjects::FUNCTIONOBJECT::read(const dictionary& dict)
 {
     dict.readIfPresent("wordData", wordData_);
-    dict.lookup("scalarData") >> scalarData_;
-    dict.lookup("labelData") >> labelData_;
+
+    dict.readEntry("scalarData", scalarData_);
+    dict.readEntry("labelData", labelData_);
 
     return true;
 }
diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C
index ea2091d26b..ba6c8d1c39 100644
--- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C
+++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C
@@ -55,15 +55,15 @@ void Foam::GeometricField<Type, PatchField, GeoMesh>::readFields
 
     boundaryField_.readField(*this, dict.subDict("boundaryField"));
 
-    if (dict.found("referenceLevel"))
-    {
-        Type fieldAverage(pTraits<Type>(dict.lookup("referenceLevel")));
+    Type refLevel;
 
-        Field<Type>::operator+=(fieldAverage);
+    if (dict.readIfPresent("referenceLevel", refLevel))
+    {
+        Field<Type>::operator+=(refLevel);
 
         forAll(boundaryField_, patchi)
         {
-            boundaryField_[patchi] == boundaryField_[patchi] + fieldAverage;
+            boundaryField_[patchi] == boundaryField_[patchi] + refLevel;
         }
     }
 }
diff --git a/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C b/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C
index 9e722c6569..123c3b6814 100644
--- a/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C
+++ b/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C
@@ -85,7 +85,7 @@ bool Foam::UniformDimensionedField<Type>::readData(Istream& is)
     dictionary dict(is);
     scalar multiplier;
     this->dimensions().read(dict.lookup("dimensions"), multiplier);
-    dict.lookup("value") >> this->value();
+    dict.readEntry("value", this->value());
     this->value() *= multiplier;
 
     return is.good();
diff --git a/src/OpenFOAM/interpolations/interpolationLookUpTable/interpolationLookUpTable.C b/src/OpenFOAM/interpolations/interpolationLookUpTable/interpolationLookUpTable.C
index f317ae5f70..affa384e78 100644
--- a/src/OpenFOAM/interpolations/interpolationLookUpTable/interpolationLookUpTable.C
+++ b/src/OpenFOAM/interpolations/interpolationLookUpTable/interpolationLookUpTable.C
@@ -207,9 +207,9 @@ void Foam::interpolationLookUpTable<Type>::readTable
         )
     );
 
-    control.lookup("fields") >> entries_;
-    control.lookup("output") >> output_;
-    control.lookup("values") >> *this;
+    control.readEntry("fields", entries_);
+    control.readEntry("output", output_);
+    control.readEntry("values", *this);
 
     dimensionTable();
 
diff --git a/src/OpenFOAM/interpolations/uniformInterpolationTable/uniformInterpolationTable.C b/src/OpenFOAM/interpolations/uniformInterpolationTable/uniformInterpolationTable.C
index dc1318b6ae..58d3018e3e 100644
--- a/src/OpenFOAM/interpolations/uniformInterpolationTable/uniformInterpolationTable.C
+++ b/src/OpenFOAM/interpolations/uniformInterpolationTable/uniformInterpolationTable.C
@@ -64,9 +64,9 @@ Foam::uniformInterpolationTable<Type>::uniformInterpolationTable
     {
         IOdictionary dict(io);
 
-        dict.lookup("data") >> *this;
-        dict.lookup("x0") >> x0_;
-        dict.lookup("dx") >> dx_;
+        dict.readEntry("data", *this);
+        dict.readEntry("x0", x0_);
+        dict.readEntry("dx", dx_);
         dict.readIfPresent("log10", log10_);
         dict.readIfPresent("bound", bound_);
     }
@@ -107,7 +107,7 @@ Foam::uniformInterpolationTable<Type>::uniformInterpolationTable
     }
     else
     {
-        dict.lookup("data") >> *this;
+        dict.readEntry("data", *this);
     }
 
     checkTable();
diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixI.H b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixI.H
index f1ab9e773c..394b246eac 100644
--- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixI.H
+++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixI.H
@@ -34,10 +34,7 @@ inline void Foam::LduMatrix<Type, DType, LUType>::solver::readControl
     const word& controlName
 )
 {
-    if (controlDict.found(controlName))
-    {
-        controlDict.lookup(controlName) >> control;
-    }
+    controlDict.readIfPresent(controlName, control);
 }
 
 
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixPreconditioner.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixPreconditioner.C
index 059721926d..892f6569d1 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixPreconditioner.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixPreconditioner.C
@@ -47,7 +47,7 @@ Foam::word Foam::lduMatrix::preconditioner::getName
     const entry& e = solverControls.lookupEntry("preconditioner", false, false);
     if (e.isDict())
     {
-        e.dict().lookup("preconditioner") >> name;
+        e.dict().readEntry("preconditioner", name);
     }
     else
     {
@@ -71,7 +71,7 @@ Foam::lduMatrix::preconditioner::New
     const entry& e = solverControls.lookupEntry("preconditioner", false, false);
     if (e.isDict())
     {
-        e.dict().lookup("preconditioner") >> name;
+        e.dict().readEntry("preconditioner", name);
     }
     else
     {
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSmoother.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSmoother.C
index 03f62412c0..3399023218 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSmoother.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSmoother.C
@@ -47,7 +47,7 @@ Foam::lduMatrix::smoother::getName
     const entry& e = solverControls.lookupEntry("smoother", false, false);
     if (e.isDict())
     {
-        e.dict().lookup("smoother") >> name;
+        e.dict().readEntry("smoother", name);
     }
     else
     {
@@ -74,7 +74,7 @@ Foam::autoPtr<Foam::lduMatrix::smoother> Foam::lduMatrix::smoother::New
     const entry& e = solverControls.lookupEntry("smoother", false, false);
     if (e.isDict())
     {
-        e.dict().lookup("smoother") >> name;
+        e.dict().readEntry("smoother", name);
     }
     else
     {
diff --git a/src/OpenFOAM/meshes/meshShapes/cellModel/cellModelIO.C b/src/OpenFOAM/meshes/meshShapes/cellModel/cellModelIO.C
index 6b1a6aae04..08609fb973 100644
--- a/src/OpenFOAM/meshes/meshShapes/cellModel/cellModelIO.C
+++ b/src/OpenFOAM/meshes/meshShapes/cellModel/cellModelIO.C
@@ -33,10 +33,10 @@ Foam::cellModel::cellModel(Istream& is)
     dictionaryEntry dict(dictionary::null, is);
 
     name_ = dict.keyword();
-    dict.lookup("index") >> index_;
-    dict.lookup("numberOfPoints") >> nPoints_;
-    dict.lookup("faces") >> faces_;
-    dict.lookup("edges") >> edges_;
+    dict.readEntry("index", index_);
+    dict.readEntry("numberOfPoints", nPoints_);
+    dict.readEntry("faces", faces_);
+    dict.readEntry("edges", edges_);
 }
 
 
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C
index 845977c910..de5ae612ed 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C
@@ -681,8 +681,8 @@ Foam::cyclicPolyPatch::cyclicPolyPatch
     {
         case ROTATIONAL:
         {
-            dict.lookup("rotationAxis") >> rotationAxis_;
-            dict.lookup("rotationCentre") >> rotationCentre_;
+            dict.readEntry("rotationAxis", rotationAxis_);
+            dict.readEntry("rotationCentre", rotationCentre_);
 
             scalar magRot = mag(rotationAxis_);
             if (magRot < SMALL)
@@ -698,7 +698,7 @@ Foam::cyclicPolyPatch::cyclicPolyPatch
         }
         case TRANSLATIONAL:
         {
-            dict.lookup("separationVector") >> separationVector_;
+            dict.readEntry("separationVector", separationVector_);
             break;
         }
         default:
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/oldCyclic/oldCyclicPolyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/oldCyclic/oldCyclicPolyPatch.C
index b63e957266..05d4f41a3c 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/oldCyclic/oldCyclicPolyPatch.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/oldCyclic/oldCyclicPolyPatch.C
@@ -616,13 +616,13 @@ Foam::oldCyclicPolyPatch::oldCyclicPolyPatch
     {
         case ROTATIONAL:
         {
-            dict.lookup("rotationAxis") >> rotationAxis_;
-            dict.lookup("rotationCentre") >> rotationCentre_;
+            dict.readEntry("rotationAxis", rotationAxis_);
+            dict.readEntry("rotationCentre", rotationCentre_);
             break;
         }
         case TRANSLATIONAL:
         {
-            dict.lookup("separationVector") >> separationVector_;
+            dict.readEntry("separationVector", separationVector_);
             break;
         }
         default:
diff --git a/src/OpenFOAM/primitives/demandDrivenEntry/demandDrivenEntryI.H b/src/OpenFOAM/primitives/demandDrivenEntry/demandDrivenEntryI.H
index c22ec7f6da..74b16ed057 100644
--- a/src/OpenFOAM/primitives/demandDrivenEntry/demandDrivenEntryI.H
+++ b/src/OpenFOAM/primitives/demandDrivenEntry/demandDrivenEntryI.H
@@ -32,7 +32,7 @@ inline void Foam::demandDrivenEntry<Type>::initialise() const
 {
     if (!stored_)
     {
-        dict_.lookup(keyword_) >> value_;
+        dict_.readEntry(keyword_, value_);
         stored_ = true;
     }
 }
diff --git a/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.C b/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.C
index 4304aa1ee4..29535f5909 100644
--- a/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.C
+++ b/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.C
@@ -37,7 +37,7 @@ Foam::Function1Types::TableFile<Type>::TableFile
     TableBase<Type>(entryName, dict),
     fName_("none")
 {
-    dict.lookup("file") >> fName_;
+    dict.readEntry("file", fName_);
 
     fileName expandedFile(fName_);
     //IFstream is(expandedFile.expand());
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
index f87c8c9b39..e0834f3b58 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
@@ -100,7 +100,7 @@ externalWallHeatFluxTemperatureFvPatchScalarField
     {
         case fixedPower:
         {
-            dict.lookup("Q") >> Q_;
+            dict.readEntry("Q", Q_);
 
             break;
         }
@@ -115,10 +115,9 @@ externalWallHeatFluxTemperatureFvPatchScalarField
             h_ = scalarField("h", dict, p.size());
             Ta_ = Function1<scalar>::New("Ta", dict);
 
-            if (dict.found("thicknessLayers"))
+            if (dict.readIfPresent("thicknessLayers", thicknessLayers_))
             {
-                dict.lookup("thicknessLayers") >> thicknessLayers_;
-                dict.lookup("kappaLayers") >> kappaLayers_;
+                dict.readEntry("kappaLayers", kappaLayers_);
 
                 if (thicknessLayers_.size() != kappaLayers_.size())
                 {
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
index ff02c97357..e3b6a88015 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
@@ -101,10 +101,9 @@ turbulentTemperatureCoupledBaffleMixedFvPatchScalarField
             << exit(FatalError);
     }
 
-    if (dict.found("thicknessLayers"))
+    if (dict.readIfPresent("thicknessLayers", thicknessLayers_))
     {
-        dict.lookup("thicknessLayers") >> thicknessLayers_;
-        dict.lookup("kappaLayers") >> kappaLayers_;
+        dict.readEntry("kappaLayers", kappaLayers_);
 
         if (thicknessLayers_.size() > 0)
         {
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
index edcdabfa3b..2a761d2a49 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
@@ -111,10 +111,9 @@ turbulentTemperatureRadCoupledMixedFvPatchScalarField
             << exit(FatalError);
     }
 
-    if (dict.found("thicknessLayers"))
+    if (dict.readIfPresent("thicknessLayers", thicknessLayers_))
     {
-        dict.lookup("thicknessLayers") >> thicknessLayers_;
-        dict.lookup("kappaLayers") >> kappaLayers_;
+        dict.readEntry("kappaLayers", kappaLayers_);
 
         if (thicknessLayers_.size() > 0)
         {
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C b/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C
index 927434b0f2..1d69b010a2 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C
@@ -180,7 +180,7 @@ bool Foam::LESModel<BasicTurbulenceModel>::read()
     if (BasicTurbulenceModel::read())
     {
         LESDict_ <<= this->subDict("LES");
-        LESDict_.lookup("turbulence") >> turbulence_;
+        LESDict_.readEntry("turbulence", turbulence_);
 
         coeffDict_ <<= LESDict_.optionalSubDict(type() + "Coeffs");
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.C
index a93225c735..d12932df9a 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/smoothDelta/smoothDelta.C
@@ -178,7 +178,7 @@ void Foam::LESModels::smoothDelta::read(const dictionary& dict)
     const dictionary& coeffsDict(dict.optionalSubDict(type() + "Coeffs"));
 
     geometricDelta_().read(coeffsDict);
-    coeffsDict.lookup("maxDeltaRatio") >> maxDeltaRatio_;
+    coeffsDict.readEntry("maxDeltaRatio", maxDeltaRatio_);
     calcDelta();
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.C b/src/TurbulenceModels/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.C
index 052183a1ae..b4ef0a2bb8 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESfilters/anisotropicFilter/anisotropicFilter.C
@@ -121,7 +121,7 @@ Foam::anisotropicFilter::anisotropicFilter
 
 void Foam::anisotropicFilter::read(const dictionary& bd)
 {
-    bd.optionalSubDict(type() + "Coeffs").lookup("widthCoeff") >> widthCoeff_;
+    bd.optionalSubDict(type() + "Coeffs").readEntry("widthCoeff", widthCoeff_);
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESfilters/laplaceFilter/laplaceFilter.C b/src/TurbulenceModels/turbulenceModels/LES/LESfilters/laplaceFilter/laplaceFilter.C
index 3b3490f5d7..8f2e985c98 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESfilters/laplaceFilter/laplaceFilter.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESfilters/laplaceFilter/laplaceFilter.C
@@ -89,7 +89,7 @@ Foam::laplaceFilter::laplaceFilter(const fvMesh& mesh, const dictionary& bd)
 
 void Foam::laplaceFilter::read(const dictionary& bd)
 {
-    bd.optionalSubDict(type() + "Coeffs").lookup("widthCoeff") >> widthCoeff_;
+    bd.optionalSubDict(type() + "Coeffs").readEntry("widthCoeff", widthCoeff_);
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C b/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C
index b897734eea..928b99aa81 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C
@@ -170,7 +170,7 @@ bool Foam::RASModel<BasicTurbulenceModel>::read()
     if (BasicTurbulenceModel::read())
     {
         RASDict_ <<= this->subDict("RAS");
-        RASDict_.lookup("turbulence") >> turbulence_;
+        RASDict_.readEntry("turbulence", turbulence_);
 
         coeffDict_ <<= RASDict_.optionalSubDict(type() + "Coeffs");
 
diff --git a/src/combustionModels/FSD/FSD.C b/src/combustionModels/FSD/FSD.C
index e5f853a287..aef2d8a24a 100644
--- a/src/combustionModels/FSD/FSD.C
+++ b/src/combustionModels/FSD/FSD.C
@@ -347,8 +347,8 @@ bool FSD<ReactionThermo, ThermoType>::read()
 {
     if (singleStepCombustion<ReactionThermo, ThermoType>::read())
     {
-        this->coeffs().lookup("Cv") >> Cv_ ;
-        this->coeffs().lookup("ftVarMin") >> ftVarMin_;
+        this->coeffs().readEntry("Cv", Cv_);
+        this->coeffs().readEntry("ftVarMin", ftVarMin_);
         reactionRateFlameArea_->read(this->coeffs());
         return true;
     }
diff --git a/src/combustionModels/FSD/reactionRateFlameAreaModels/consumptionSpeed/consumptionSpeed.C b/src/combustionModels/FSD/reactionRateFlameAreaModels/consumptionSpeed/consumptionSpeed.C
index e60293bd6f..4e87601c0f 100644
--- a/src/combustionModels/FSD/reactionRateFlameAreaModels/consumptionSpeed/consumptionSpeed.C
+++ b/src/combustionModels/FSD/reactionRateFlameAreaModels/consumptionSpeed/consumptionSpeed.C
@@ -127,10 +127,10 @@ Foam::tmp<Foam::volScalarField> Foam::consumptionSpeed::omega0Sigma
 
 void  Foam::consumptionSpeed::read(const dictionary& dict)
 {
-    dict.lookup("omega0") >> omega0_ ;
-    dict.lookup("eta") >> eta_ ;
-    dict.lookup("sigmaExt") >> sigmaExt_;
-    dict.lookup("omegaMin") >> omegaMin_;
+    dict.readEntry("omega0", omega0_);
+    dict.readEntry("eta", eta_);
+    dict.readEntry("sigmaExt", sigmaExt_);
+    dict.readEntry("omegaMin", omegaMin_);
 }
 
 
diff --git a/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameArea.C b/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameArea.C
index 1208979f7d..6ac79080e3 100644
--- a/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameArea.C
+++ b/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameArea.C
@@ -73,7 +73,7 @@ Foam::reactionRateFlameArea::~reactionRateFlameArea()
 
 bool Foam::reactionRateFlameArea::read(const dictionary& dict)
 {
-    dict.lookup("fuel") >> fuel_;
+    dict.readEntry("fuel", fuel_);
 
     return true;
 }
diff --git a/src/combustionModels/FSD/reactionRateFlameAreaModels/relaxation/relaxation.C b/src/combustionModels/FSD/reactionRateFlameAreaModels/relaxation/relaxation.C
index 3ae9d31c29..5d17baa771 100644
--- a/src/combustionModels/FSD/reactionRateFlameAreaModels/relaxation/relaxation.C
+++ b/src/combustionModels/FSD/reactionRateFlameAreaModels/relaxation/relaxation.C
@@ -152,8 +152,8 @@ bool  Foam::reactionRateFlameAreaModels::relaxation::read
     if (reactionRateFlameArea::read(dict))
     {
         coeffDict_ = dict.optionalSubDict(typeName + "Coeffs");
-        coeffDict_.lookup("C") >> C_;
-        coeffDict_.lookup("alpha") >> alpha_;
+        coeffDict_.readEntry("C", C_);
+        coeffDict_.readEntry("alpha", alpha_);
         correlation_.read
         (
             coeffDict_.subDict(fuel_)
diff --git a/src/combustionModels/PaSR/PaSR.C b/src/combustionModels/PaSR/PaSR.C
index 7e205e12d0..2dd35b878e 100644
--- a/src/combustionModels/PaSR/PaSR.C
+++ b/src/combustionModels/PaSR/PaSR.C
@@ -128,7 +128,7 @@ bool Foam::combustionModels::PaSR<ReactionThermo>::read()
 {
     if (laminar<ReactionThermo>::read())
     {
-        this->coeffs().lookup("Cmix") >> Cmix_;
+        this->coeffs().readEntry("Cmix", Cmix_);
         return true;
     }
     else
diff --git a/src/combustionModels/combustionModel/combustionModel.C b/src/combustionModels/combustionModel/combustionModel.C
index 8f4771bc37..5d99d9354b 100644
--- a/src/combustionModels/combustionModel/combustionModel.C
+++ b/src/combustionModels/combustionModel/combustionModel.C
@@ -99,14 +99,12 @@ bool Foam::combustionModel::read()
 {
     if (regIOobject::read())
     {
-        this->lookup("active") >> active_;
+        this->readEntry("active", active_);
         coeffs_ = optionalSubDict(modelType_ + "Coeffs");
         return true;
     }
-    else
-    {
-        return false;
-    }
+
+    return false;
 }
 
 
diff --git a/src/combustionModels/combustionModel/combustionModelTemplates.C b/src/combustionModels/combustionModel/combustionModelTemplates.C
index 953578277c..b0a72137c2 100644
--- a/src/combustionModels/combustionModel/combustionModelTemplates.C
+++ b/src/combustionModels/combustionModel/combustionModelTemplates.C
@@ -46,7 +46,7 @@ Foam::autoPtr<CombustionModel> Foam::combustionModel::New
     word combModelName("none");
     if (combIO.typeHeaderOk<IOdictionary>(false))
     {
-        IOdictionary(combIO).lookup("combustionModel") >> combModelName;
+        IOdictionary(combIO).readEntry("combustionModel", combModelName);
     }
     else
     {
diff --git a/src/combustionModels/diffusion/diffusion.C b/src/combustionModels/diffusion/diffusion.C
index ffa80d4578..b4a919e0c4 100644
--- a/src/combustionModels/diffusion/diffusion.C
+++ b/src/combustionModels/diffusion/diffusion.C
@@ -96,7 +96,7 @@ bool diffusion<ReactionThermo, ThermoType>::read()
 {
     if (singleStepCombustion<ReactionThermo, ThermoType>::read())
     {
-        this->coeffs().lookup("C") >> C_ ;
+        this->coeffs().readEntry("C", C_);
         this->coeffs().readIfPresent("oxidant", oxidantName_);
         return true;
     }
diff --git a/src/combustionModels/eddyDissipationDiffusionModel/eddyDissipationDiffusionModel.C b/src/combustionModels/eddyDissipationDiffusionModel/eddyDissipationDiffusionModel.C
index b86638dbe0..4f95db380f 100644
--- a/src/combustionModels/eddyDissipationDiffusionModel/eddyDissipationDiffusionModel.C
+++ b/src/combustionModels/eddyDissipationDiffusionModel/eddyDissipationDiffusionModel.C
@@ -107,7 +107,7 @@ bool eddyDissipationDiffusionModel<ReactionThermo, ThermoType>::read()
 {
     if (eddyDissipationModelBase<ReactionThermo, ThermoType>::read())
     {
-        this->coeffs().lookup("Cd") >> Cd_;
+        this->coeffs().readEntry("Cd", Cd_);
         return true;
     }
     else
diff --git a/src/combustionModels/eddyDissipationModelBase/eddyDissipationModelBase.C b/src/combustionModels/eddyDissipationModelBase/eddyDissipationModelBase.C
index 45eeff1972..a2f280f5b8 100644
--- a/src/combustionModels/eddyDissipationModelBase/eddyDissipationModelBase.C
+++ b/src/combustionModels/eddyDissipationModelBase/eddyDissipationModelBase.C
@@ -116,7 +116,7 @@ bool eddyDissipationModelBase<ReactionThermo, ThermoType>::read()
 {
     if (singleStepCombustion<ReactionThermo, ThermoType>::read())
     {
-        this->coeffs().lookup("CEDC") >> CEDC_;
+        this->coeffs().readEntry("CEDC", CEDC_);
         return true;
     }
     else
diff --git a/src/combustionModels/infinitelyFastChemistry/infinitelyFastChemistry.C b/src/combustionModels/infinitelyFastChemistry/infinitelyFastChemistry.C
index 48df67eaf7..eb80809feb 100644
--- a/src/combustionModels/infinitelyFastChemistry/infinitelyFastChemistry.C
+++ b/src/combustionModels/infinitelyFastChemistry/infinitelyFastChemistry.C
@@ -94,7 +94,7 @@ bool infinitelyFastChemistry<ReactionThermo, ThermoType>::read()
 {
     if (singleStepCombustion<ReactionThermo, ThermoType>::read())
     {
-        this->coeffs().lookup("C") >> C_ ;
+        this->coeffs().readEntry("C", C_);
         return true;
     }
     else
diff --git a/src/combustionModels/laminar/laminar.C b/src/combustionModels/laminar/laminar.C
index 1d59abe7b0..425920e9bf 100644
--- a/src/combustionModels/laminar/laminar.C
+++ b/src/combustionModels/laminar/laminar.C
@@ -90,16 +90,12 @@ void Foam::combustionModels::laminar<ReactionThermo>::correct()
                 const scalarField& rDeltaT =
                     fv::localEulerDdt::localRDeltaT(this->mesh());
 
-                if (this->coeffs().found("maxIntegrationTime"))
+                scalar maxTime;
+                if (this->coeffs().readIfPresent("maxIntegrationTime", maxTime))
                 {
-                    scalar maxIntegrationTime
-                    (
-                        readScalar(this->coeffs().lookup("maxIntegrationTime"))
-                    );
-
                     this->chemistryPtr_->solve
                     (
-                        min(1.0/rDeltaT, maxIntegrationTime)()
+                        min(1.0/rDeltaT, maxTime)()
                     );
                 }
                 else
diff --git a/src/dynamicMesh/extrudePatchMesh/extrudePatchMesh.C b/src/dynamicMesh/extrudePatchMesh/extrudePatchMesh.C
index 2790c62e52..da956b3403 100644
--- a/src/dynamicMesh/extrudePatchMesh/extrudePatchMesh.C
+++ b/src/dynamicMesh/extrudePatchMesh/extrudePatchMesh.C
@@ -117,8 +117,8 @@ extrudePatchMesh::extrudePatchMesh
 
     forAll(dicts, patchi)
     {
-        dicts[patchi].lookup("name") >> patchNames[patchi];
-        dicts[patchi].lookup("type") >> patchTypes[patchi];
+        dicts[patchi].readEntry("name", patchNames[patchi]);
+        dicts[patchi].readEntry("type", patchTypes[patchi]);
     }
 
     forAll(regionPatches, patchi)
@@ -273,8 +273,8 @@ void extrudePatchMesh::extrudeMesh(const List<polyPatch*>& regionPatches)
 
         forAll(dicts, patchi)
         {
-            dicts[patchi].lookup("name") >> patchNames[patchi];
-            dicts[patchi].lookup("type") >> patchTypes[patchi];
+            dicts[patchi].readEntry("name", patchNames[patchi]);
+            dicts[patchi].readEntry("type", patchTypes[patchi]);
         }
 
         forAll(regionPatches, patchi)
diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/SDA/SDA.C b/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/SDA/SDA.C
index 4c9dbed484..ebb9583020 100644
--- a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/SDA/SDA.C
+++ b/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/SDA/SDA.C
@@ -103,17 +103,17 @@ bool Foam::solidBodyMotionFunctions::SDA::read(const dictionary& SBMFCoeffs)
 {
     solidBodyMotionFunction::read(SBMFCoeffs);
 
-    SBMFCoeffs_.lookup("CofG") >> CofG_;
-    SBMFCoeffs_.lookup("lamda") >> lamda_;
-    SBMFCoeffs_.lookup("rollAmax") >> rollAmax_;
-    SBMFCoeffs_.lookup("rollAmin") >> rollAmin_;
-    SBMFCoeffs_.lookup("heaveA") >> heaveA_;
-    SBMFCoeffs_.lookup("swayA") >> swayA_;
-    SBMFCoeffs_.lookup("Q") >> Q_;
-    SBMFCoeffs_.lookup("Tp") >> Tp_;
-    SBMFCoeffs_.lookup("Tpn") >> Tpn_;
-    SBMFCoeffs_.lookup("dTi") >> dTi_;
-    SBMFCoeffs_.lookup("dTp") >> dTp_;
+    SBMFCoeffs_.readEntry("CofG", CofG_);
+    SBMFCoeffs_.readEntry("lamda", lamda_);
+    SBMFCoeffs_.readEntry("rollAmax", rollAmax_);
+    SBMFCoeffs_.readEntry("rollAmin", rollAmin_);
+    SBMFCoeffs_.readEntry("heaveA", heaveA_);
+    SBMFCoeffs_.readEntry("swayA", swayA_);
+    SBMFCoeffs_.readEntry("Q", Q_);
+    SBMFCoeffs_.readEntry("Tp", Tp_);
+    SBMFCoeffs_.readEntry("Tpn", Tpn_);
+    SBMFCoeffs_.readEntry("dTi", dTi_);
+    SBMFCoeffs_.readEntry("dTp", dTp_);
 
     // Rescale parameters according to the given scale parameter
     if (lamda_ > 1 + SMALL)
diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.C b/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.C
index fb5d430704..06dc0697de 100644
--- a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.C
+++ b/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.C
@@ -98,8 +98,8 @@ bool Foam::solidBodyMotionFunctions::axisRotationMotion::read
 {
     solidBodyMotionFunction::read(SBMFCoeffs);
 
-    SBMFCoeffs_.lookup("origin") >> origin_;
-    SBMFCoeffs_.lookup("radialVelocity") >> radialVelocity_;
+    SBMFCoeffs_.readEntry("origin", origin_);
+    SBMFCoeffs_.readEntry("radialVelocity", radialVelocity_);
 
     return true;
 }
diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/linearMotion/linearMotion.C b/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/linearMotion/linearMotion.C
index a382d19063..1b1ff9f560 100644
--- a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/linearMotion/linearMotion.C
+++ b/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/linearMotion/linearMotion.C
@@ -89,7 +89,7 @@ bool Foam::solidBodyMotionFunctions::linearMotion::read
 {
     solidBodyMotionFunction::read(SBMFCoeffs);
 
-    SBMFCoeffs_.lookup("velocity") >> velocity_;
+    SBMFCoeffs_.readEntry("velocity", velocity_);
 
     return true;
 }
diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingLinearMotion/oscillatingLinearMotion.C b/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingLinearMotion/oscillatingLinearMotion.C
index 3b46909015..1aa8aa1a9d 100644
--- a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingLinearMotion/oscillatingLinearMotion.C
+++ b/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingLinearMotion/oscillatingLinearMotion.C
@@ -89,8 +89,8 @@ bool Foam::solidBodyMotionFunctions::oscillatingLinearMotion::read
 {
     solidBodyMotionFunction::read(SBMFCoeffs);
 
-    SBMFCoeffs_.lookup("amplitude") >> amplitude_;
-    SBMFCoeffs_.lookup("omega") >> omega_;
+    SBMFCoeffs_.readEntry("amplitude", amplitude_);
+    SBMFCoeffs_.readEntry("omega", omega_);
 
     return true;
 }
diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingRotatingMotion/oscillatingRotatingMotion.C b/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingRotatingMotion/oscillatingRotatingMotion.C
index eff5e30fc2..30d36c16c1 100644
--- a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingRotatingMotion/oscillatingRotatingMotion.C
+++ b/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/oscillatingRotatingMotion/oscillatingRotatingMotion.C
@@ -97,9 +97,9 @@ bool Foam::solidBodyMotionFunctions::oscillatingRotatingMotion::read
 {
     solidBodyMotionFunction::read(SBMFCoeffs);
 
-    SBMFCoeffs_.lookup("origin") >> origin_;
-    SBMFCoeffs_.lookup("amplitude") >> amplitude_;
-    SBMFCoeffs_.lookup("omega") >> omega_;
+    SBMFCoeffs_.readEntry("origin", origin_);
+    SBMFCoeffs_.readEntry("amplitude", amplitude_);
+    SBMFCoeffs_.readEntry("omega", omega_);
 
     return true;
 }
diff --git a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C b/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C
index f185693c85..1e3dd7ced3 100644
--- a/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C
+++ b/src/dynamicMesh/motionSolvers/displacement/solidBody/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C
@@ -157,7 +157,7 @@ bool Foam::solidBodyMotionFunctions::tabulated6DoFMotion::read
         }
     }
 
-    SBMFCoeffs_.lookup("CofG") >> CofG_;
+    SBMFCoeffs_.readEntry("CofG", CofG_);
 
     return true;
 }
diff --git a/src/finiteArea/fields/faPatchFields/derived/inletOutlet/inletOutletFaPatchField.C b/src/finiteArea/fields/faPatchFields/derived/inletOutlet/inletOutletFaPatchField.C
index d5643b1018..f05745ca68 100644
--- a/src/finiteArea/fields/faPatchFields/derived/inletOutlet/inletOutletFaPatchField.C
+++ b/src/finiteArea/fields/faPatchFields/derived/inletOutlet/inletOutletFaPatchField.C
@@ -87,10 +87,7 @@ Foam::inletOutletFaPatchField<Type>::inletOutletFaPatchField
     this->refGrad() = pTraits<Type>::zero;
     this->valueFraction() = 0.0;
 
-    if (dict.found("phi"))
-    {
-        dict.lookup("phi") >> phiName_;
-    }
+    dict.readIfPresent("phi", phiName_);
 }
 
 
diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZone.C b/src/finiteVolume/cfdTools/general/MRF/MRFZone.C
index c68537c81f..69bb43ebe8 100644
--- a/src/finiteVolume/cfdTools/general/MRF/MRFZone.C
+++ b/src/finiteVolume/cfdTools/general/MRF/MRFZone.C
@@ -257,7 +257,7 @@ Foam::MRFZone::MRFZone
 {
     if (cellZoneName_ == word::null)
     {
-        coeffs_.lookup("cellZone") >> cellZoneName_;
+        coeffs_.readEntry("cellZone", cellZoneName_);
     }
 
     if (!active_)
@@ -593,7 +593,7 @@ bool Foam::MRFZone::read(const dictionary& dict)
     coeffs_ = dict;
 
     active_ = coeffs_.lookupOrDefault("active", true);
-    coeffs_.lookup("cellZone") >> cellZoneName_;
+    coeffs_.readEntry("cellZone", cellZoneName_);
     cellZoneID_ = mesh_.cellZones().findZoneID(cellZoneName_);
 
     return true;
diff --git a/src/finiteVolume/cfdTools/general/coupling/externalFileCoupler.C b/src/finiteVolume/cfdTools/general/coupling/externalFileCoupler.C
index 8f3579be54..59a0fde684 100644
--- a/src/finiteVolume/cfdTools/general/coupling/externalFileCoupler.C
+++ b/src/finiteVolume/cfdTools/general/coupling/externalFileCoupler.C
@@ -150,7 +150,7 @@ bool Foam::externalFileCoupler::readDict(const dictionary& dict)
     // if things have already been initialized
     if (!initialized())
     {
-        dict.lookup("commsDir") >> commsDir_;
+        dict.readEntry("commsDir", commsDir_);
         commsDir_.expand();
         commsDir_.clean();
         slaveFirst_ = dict.lookupOrDefault("initByExternal", false);
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C b/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C
index 64a81304ea..b94fbde938 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C
+++ b/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C
@@ -216,7 +216,7 @@ void Foam::porosityModels::fixedCoeff::correct
     scalar rho = 1.0;
     if (UEqn.dimensions() == dimForce)
     {
-        coeffs_.lookup("rhoRef") >> rho;
+        coeffs_.readEntry("rhoRef", rho);
     }
 
     apply(Udiag, Usource, V, U, rho);
@@ -238,7 +238,7 @@ void Foam::porosityModels::fixedCoeff::correct
     scalar rho = 1.0;
     if (UEqn.dimensions() == dimForce)
     {
-        coeffs_.lookup("rhoRef") >> rho;
+        coeffs_.readEntry("rhoRef", rho);
     }
 
     apply(Udiag, Usource, V, U, rho);
@@ -256,7 +256,7 @@ void Foam::porosityModels::fixedCoeff::correct
     scalar rho = 1.0;
     if (UEqn.dimensions() == dimForce)
     {
-        coeffs_.lookup("rhoRef") >> rho;
+        coeffs_.readEntry("rhoRef", rho);
     }
 
     apply(AU, U, rho);
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C
index 34d8717dad..19f9bbb3d4 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C
+++ b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C
@@ -106,7 +106,7 @@ Foam::porosityModel::porosityModel
     if (zoneName_ == word::null)
     {
         dict.readIfPresent("active", active_);
-        dict_.lookup("cellZone") >> zoneName_;
+        dict_.readEntry("cellZone", zoneName_);
     }
 
     cellZoneIDs_ = mesh_.cellZones().indices(zoneName_);
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C
index 575490bac4..9981cc1451 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C
@@ -120,10 +120,7 @@ activePressureForceBaffleVelocityFvPatchVectorField
         ).neighbFvPatch().Sf();
     }
 
-    if (dict.found("p"))
-    {
-        dict.lookup("p") >> pName_;
-    }
+    dict.readIfPresent("p", pName_);
 }
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C
index fe7567c9af..2e352f8baf 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C
@@ -103,7 +103,7 @@ Foam::advectiveFvPatchField<Type>::advectiveFvPatchField
 
     if (dict.readIfPresent("lInf", lInf_))
     {
-        dict.lookup("fieldInf") >> fieldInf_;
+        dict.readEntry("fieldInf", fieldInf_);
 
         if (lInf_ < 0.0)
         {
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C
index 9cd231a9c2..f4edba311e 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/fan/fanFvPatchField.C
@@ -74,8 +74,8 @@ Foam::fanFvPatchField<Type>::fanFvPatchField
 {
     if (nonDimensional_)
     {
-        dict.lookup("rpm") >> rpm_;
-        dict.lookup("dm") >> dm_;
+        dict.readEntry("rpm", rpm_);
+        dict.readEntry("dm", dm_);
     }
 }
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.C
index 957633b0c4..15fc6dcaec 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.C
@@ -91,8 +91,8 @@ Foam::fanPressureFvPatchScalarField::fanPressureFvPatchScalarField
 {
     if (nonDimensional_)
     {
-        dict.lookup("rpm") >> rpm_;
-        dict.lookup("dm") >> dm_;
+        dict.readEntry("rpm", rpm_);
+        dict.readEntry("dm", dm_);
     }
 }
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/plenumPressure/plenumPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/plenumPressure/plenumPressureFvPatchScalarField.C
index 7b910c6dde..2b10b1441a 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/plenumPressure/plenumPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/plenumPressure/plenumPressureFvPatchScalarField.C
@@ -87,11 +87,7 @@ Foam::plenumPressureFvPatchScalarField::plenumPressureFvPatchScalarField
     phiName_(dict.lookupOrDefault<word>("phi", "phi")),
     UName_(dict.lookupOrDefault<word>("U", "U"))
 {
-    if (dict.found("rho"))
-    {
-        rho_ = readScalar(dict.lookup("rho"));
-        hasRho_ = true;
-    }
+    hasRho_ = dict.readIfPresent("rho", rho_);
 }
 
 
diff --git a/src/finiteVolume/functionObjects/fieldSelection/fieldSelection.C b/src/finiteVolume/functionObjects/fieldSelection/fieldSelection.C
index b8f9ad29ba..63fa608ef5 100644
--- a/src/finiteVolume/functionObjects/fieldSelection/fieldSelection.C
+++ b/src/finiteVolume/functionObjects/fieldSelection/fieldSelection.C
@@ -50,7 +50,7 @@ Foam::functionObjects::fieldSelection::~fieldSelection()
 
 bool Foam::functionObjects::fieldSelection::read(const dictionary& dict)
 {
-    dict.lookup("fields") >> *this;
+    dict.readEntry("fields", *this);
 
     return true;
 }
diff --git a/src/finiteVolume/functionObjects/volRegion/volRegion.C b/src/finiteVolume/functionObjects/volRegion/volRegion.C
index 34efa8a1e6..5071085ec8 100644
--- a/src/finiteVolume/functionObjects/volRegion/volRegion.C
+++ b/src/finiteVolume/functionObjects/volRegion/volRegion.C
@@ -111,7 +111,7 @@ bool Foam::functionObjects::volRegion::read
     {
         case vrtCellZone:
         {
-            dict.lookup("name") >> regionName_;
+            dict.readEntry("name", regionName_);
 
             regionID_ = mesh_.cellZones().findZoneID(regionName_);
 
diff --git a/src/lagrangian/distributionModels/binned/binned.C b/src/lagrangian/distributionModels/binned/binned.C
index a5cf7e1f2b..2c53ffe7fa 100644
--- a/src/lagrangian/distributionModels/binned/binned.C
+++ b/src/lagrangian/distributionModels/binned/binned.C
@@ -247,7 +247,7 @@ Foam::dictionary Foam::distributionModels::binned::writeDict
 void Foam::distributionModels::binned::readDict(const dictionary& dict)
 {
 //    distributionModel::readDict(dict);
-    dict.lookup("distribution") >> xy_;
+    dict.readEntry("distribution", xy_);
 }
 
 
diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C
index cc5ad7063d..daedfd2a06 100644
--- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C
+++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C
@@ -145,15 +145,15 @@ void Foam::cloudSolution::read()
         }
     }
 
-    dict_.lookup("coupled") >> coupled_;
-    dict_.lookup("cellValueSourceCorrection") >> cellValueSourceCorrection_;
+    dict_.readEntry("coupled", coupled_);
+    dict_.readEntry("cellValueSourceCorrection", cellValueSourceCorrection_);
     dict_.readIfPresent("maxCo", maxCo_);
     dict_.readIfPresent("deltaTMax", deltaTMax_);
 
     if (steadyState())
     {
-        dict_.lookup("calcFrequency") >> calcFrequency_;
-        dict_.lookup("maxTrackTime") >> maxTrackTime_;
+        dict_.readEntry("calcFrequency", calcFrequency_);
+        dict_.readEntry("maxTrackTime", maxTrackTime_);
 
         if (coupled_)
         {
diff --git a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C
index ebe2ba25d4..0d20d12b95 100644
--- a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C
+++ b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C
@@ -51,7 +51,7 @@ void Foam::ThermoCloud<CloudType>::setModels()
         ).ptr()
     );
 
-    this->subModelProperties().lookup("radiation") >> radiation_;
+    this->subModelProperties().readEntry("radiation", radiation_);
 
     if (radiation_)
     {
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C
index d8bca67835..988eca02c4 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C
@@ -157,7 +157,7 @@ void Foam::ParticleCollector<CloudType>::initConcentricCircles()
 
     vector origin(this->coeffDict().lookup("origin"));
 
-    this->coeffDict().lookup("radius") >> radius_;
+    this->coeffDict().readEntry("radius", radius_);
     nSector_ = readLabel(this->coeffDict().lookup("nSector"));
 
     label nS = nSector_;
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.C
index eba6578fcb..0f9be70485 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.C
@@ -92,7 +92,7 @@ void Foam::ConeNozzleInjection<CloudType>::setFlowType()
     {
         case flowType::ftConstantVelocity:
         {
-            this->coeffDict().lookup("UMag") >> UMag_;
+            this->coeffDict().readEntry("UMag", UMag_);
             break;
         }
         case flowType::ftPressureDrivenVelocity:
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
index 48286f170d..2d0d2ec92f 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
@@ -328,8 +328,8 @@ Foam::InjectionModel<CloudType>::InjectionModel
     {
         if (owner.solution().transient())
         {
-            this->coeffDict().lookup("massTotal") >> massTotal_;
-            this->coeffDict().lookup("SOI") >> SOI_;
+            this->coeffDict().readEntry("massTotal", massTotal_);
+            this->coeffDict().readEntry("SOI", SOI_);
         }
         else
         {
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionData.C b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionData.C
index 1b54ba2c3c..1d22022f84 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionData.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionData.C
@@ -77,7 +77,7 @@ Foam::Istream& Foam::operator>>
     const dictionaryEntry entry(dictionary::null, is);
 
     pid.patchName_ = entry.keyword();
-    entry.lookup("type") >> pid.interactionTypeName_;
+    entry.readEntry("type", pid.interactionTypeName_);
     pid.e_ = entry.lookupOrDefault<scalar>("e", 1.0);
     pid.mu_ = entry.lookupOrDefault<scalar>("mu", 0.0);
 
diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C
index e86974da9c..ce9b1c0e95 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C
@@ -105,9 +105,9 @@ Foam::SingleMixtureFraction<CloudType>::SingleMixtureFraction
             << exit(FatalError);
     }
 
-    this->coeffDict().lookup("YGasTot0") >> YMixture0_[idGas_];
-    this->coeffDict().lookup("YLiquidTot0") >> YMixture0_[idLiquid_];
-    this->coeffDict().lookup("YSolidTot0") >> YMixture0_[idSolid_];
+    this->coeffDict().readEntry("YGasTot0", YMixture0_[idGas_]);
+    this->coeffDict().readEntry("YLiquidTot0", YMixture0_[idLiquid_]);
+    this->coeffDict().readEntry("YSolidTot0", YMixture0_[idSolid_]);
 
     if (mag(sum(YMixture0_) - 1.0) > SMALL)
     {
diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C b/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C
index a34947bf85..dd7627397b 100644
--- a/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C
+++ b/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C
@@ -504,14 +504,14 @@ Foam::ThermoSurfaceFilm<CloudType>::ThermoSurfaceFilm
 
     if (interactionType_ == itSplashBai)
     {
-        this->coeffDict().lookup("deltaWet") >> deltaWet_;
+        this->coeffDict().readEntry("deltaWet", deltaWet_);
         splashParcelType_ =
             this->coeffDict().lookupOrDefault("splashParcelType", -1);
         parcelsPerSplash_ =
             this->coeffDict().lookupOrDefault("parcelsPerSplash", 2);
-        this->coeffDict().lookup("Adry") >> Adry_;
-        this->coeffDict().lookup("Awet") >> Awet_;
-        this->coeffDict().lookup("Cf") >> Cf_;
+        this->coeffDict().readEntry("Adry", Adry_);
+        this->coeffDict().readEntry("Awet", Awet_);
+        this->coeffDict().readEntry("Cf", Cf_);
     }
 }
 
diff --git a/src/lagrangian/molecularDynamics/potential/energyScalingFunction/derived/doubleSigmoid/doubleSigmoid.C b/src/lagrangian/molecularDynamics/potential/energyScalingFunction/derived/doubleSigmoid/doubleSigmoid.C
index aed42de825..bfefd67c51 100644
--- a/src/lagrangian/molecularDynamics/potential/energyScalingFunction/derived/doubleSigmoid/doubleSigmoid.C
+++ b/src/lagrangian/molecularDynamics/potential/energyScalingFunction/derived/doubleSigmoid/doubleSigmoid.C
@@ -93,10 +93,10 @@ bool doubleSigmoid::read(const dictionary& energyScalingFunctionProperties)
     doubleSigmoidCoeffs_ =
         energyScalingFunctionProperties.subDict(typeName + "Coeffs");
 
-    doubleSigmoidCoeffs_.lookup("shift1") >> shift1_;
-    doubleSigmoidCoeffs_.lookup("scale1") >> scale1_;
-    doubleSigmoidCoeffs_.lookup("shift2") >> shift2_;
-    doubleSigmoidCoeffs_.lookup("scale2") >> scale2_;
+    doubleSigmoidCoeffs_.readEntry("shift1", shift1_);
+    doubleSigmoidCoeffs_.readEntry("scale1", scale1_);
+    doubleSigmoidCoeffs_.readEntry("shift2", shift2_);
+    doubleSigmoidCoeffs_.readEntry("scale2", scale2_);
 
     return true;
 }
diff --git a/src/lagrangian/molecularDynamics/potential/energyScalingFunction/derived/sigmoid/sigmoid.C b/src/lagrangian/molecularDynamics/potential/energyScalingFunction/derived/sigmoid/sigmoid.C
index 49dcac1c63..5784f3f10b 100644
--- a/src/lagrangian/molecularDynamics/potential/energyScalingFunction/derived/sigmoid/sigmoid.C
+++ b/src/lagrangian/molecularDynamics/potential/energyScalingFunction/derived/sigmoid/sigmoid.C
@@ -92,8 +92,8 @@ bool sigmoid::read(const dictionary& energyScalingFunctionProperties)
     sigmoidCoeffs_ =
         energyScalingFunctionProperties.subDict(typeName + "Coeffs");
 
-    sigmoidCoeffs_.lookup("shift") >> shift_;
-    sigmoidCoeffs_.lookup("scale") >> shift_;
+    sigmoidCoeffs_.readEntry("shift", shift_);
+    sigmoidCoeffs_.readEntry("scale", shift_);
 
     return true;
 }
diff --git a/src/lagrangian/molecularDynamics/potential/pairPotential/derived/azizChen/azizChen.C b/src/lagrangian/molecularDynamics/potential/pairPotential/derived/azizChen/azizChen.C
index fa906e9e92..7f318d4e87 100644
--- a/src/lagrangian/molecularDynamics/potential/pairPotential/derived/azizChen/azizChen.C
+++ b/src/lagrangian/molecularDynamics/potential/pairPotential/derived/azizChen/azizChen.C
@@ -102,15 +102,15 @@ bool azizChen::read(const dictionary& azizChen)
 
     azizChenCoeffs_ = azizChen.subDict(typeName + "Coeffs");
 
-    azizChenCoeffs_.lookup("epsilon") >> epsilon_;
-    azizChenCoeffs_.lookup("rm") >> rm_;
-    azizChenCoeffs_.lookup("A") >> A_;
-    azizChenCoeffs_.lookup("alpha") >> alpha_;
-    azizChenCoeffs_.lookup("C6") >> C6_;
-    azizChenCoeffs_.lookup("C8") >> C8_;
-    azizChenCoeffs_.lookup("C10") >> C10_;
-    azizChenCoeffs_.lookup("D") >> D_;
-    azizChenCoeffs_.lookup("gamma") >> gamma_;
+    azizChenCoeffs_.readEntry("epsilon", epsilon_);
+    azizChenCoeffs_.readEntry("rm", rm_);
+    azizChenCoeffs_.readEntry("A", A_);
+    azizChenCoeffs_.readEntry("alpha", alpha_);
+    azizChenCoeffs_.readEntry("C6", C6_);
+    azizChenCoeffs_.readEntry("C8", C8_);
+    azizChenCoeffs_.readEntry("C10", C10_);
+    azizChenCoeffs_.readEntry("D", D_);
+    azizChenCoeffs_.readEntry("gamma", gamma_);
 
     return true;
 }
diff --git a/src/lagrangian/molecularDynamics/potential/pairPotential/derived/dampedCoulomb/dampedCoulomb.C b/src/lagrangian/molecularDynamics/potential/pairPotential/derived/dampedCoulomb/dampedCoulomb.C
index 7438711d66..d492c7669f 100644
--- a/src/lagrangian/molecularDynamics/potential/pairPotential/derived/dampedCoulomb/dampedCoulomb.C
+++ b/src/lagrangian/molecularDynamics/potential/pairPotential/derived/dampedCoulomb/dampedCoulomb.C
@@ -83,7 +83,7 @@ bool dampedCoulomb::read(const dictionary& pairPotentialProperties)
     dampedCoulombCoeffs_ =
         pairPotentialProperties.subDict(typeName + "Coeffs");
 
-    dampedCoulombCoeffs_.lookup("alpha") >> alpha_;
+    dampedCoulombCoeffs_.readEntry("alpha", alpha_);
 
     return true;
 }
diff --git a/src/lagrangian/molecularDynamics/potential/pairPotential/derived/exponentialRepulsion/exponentialRepulsion.C b/src/lagrangian/molecularDynamics/potential/pairPotential/derived/exponentialRepulsion/exponentialRepulsion.C
index 30e2b68045..4b5473d859 100644
--- a/src/lagrangian/molecularDynamics/potential/pairPotential/derived/exponentialRepulsion/exponentialRepulsion.C
+++ b/src/lagrangian/molecularDynamics/potential/pairPotential/derived/exponentialRepulsion/exponentialRepulsion.C
@@ -80,8 +80,8 @@ bool exponentialRepulsion::read(const dictionary& exponentialRepulsion)
     exponentialRepulsionCoeffs_ =
         exponentialRepulsion.subDict(typeName + "Coeffs");
 
-    exponentialRepulsionCoeffs_.lookup("rm") >> rm_;
-    exponentialRepulsionCoeffs_.lookup("epsilon") >> epsilon_;
+    exponentialRepulsionCoeffs_.readEntry("rm", rm_);
+    exponentialRepulsionCoeffs_.readEntry("epsilon", epsilon_);
 
     return true;
 }
diff --git a/src/lagrangian/molecularDynamics/potential/pairPotential/derived/lennardJones/lennardJones.C b/src/lagrangian/molecularDynamics/potential/pairPotential/derived/lennardJones/lennardJones.C
index a8777454f6..1a33f97e58 100644
--- a/src/lagrangian/molecularDynamics/potential/pairPotential/derived/lennardJones/lennardJones.C
+++ b/src/lagrangian/molecularDynamics/potential/pairPotential/derived/lennardJones/lennardJones.C
@@ -82,8 +82,8 @@ bool lennardJones::read(const dictionary& pairPotentialProperties)
 
     lennardJonesCoeffs_ = pairPotentialProperties.subDict(typeName + "Coeffs");
 
-    lennardJonesCoeffs_.lookup("sigma") >> sigma_;
-    lennardJonesCoeffs_.lookup("epsilon") >> epsilon_;
+    lennardJonesCoeffs_.readEntry("sigma", sigma_);
+    lennardJonesCoeffs_.readEntry("epsilon", epsilon_);
 
     return true;
 }
diff --git a/src/lagrangian/molecularDynamics/potential/pairPotential/derived/maitlandSmith/maitlandSmith.C b/src/lagrangian/molecularDynamics/potential/pairPotential/derived/maitlandSmith/maitlandSmith.C
index c8d296d7c1..07e5cd7042 100644
--- a/src/lagrangian/molecularDynamics/potential/pairPotential/derived/maitlandSmith/maitlandSmith.C
+++ b/src/lagrangian/molecularDynamics/potential/pairPotential/derived/maitlandSmith/maitlandSmith.C
@@ -84,10 +84,10 @@ bool maitlandSmith::read(const dictionary& maitlandSmith)
 
     maitlandSmithCoeffs_ = maitlandSmith.subDict(typeName + "Coeffs");
 
-    maitlandSmithCoeffs_.lookup("m") >> m_;
-    maitlandSmithCoeffs_.lookup("gamma") >> gamma_;
-    maitlandSmithCoeffs_.lookup("rm") >> rm_;
-    maitlandSmithCoeffs_.lookup("epsilon") >> epsilon_;
+    maitlandSmithCoeffs_.readEntry("m", m_);
+    maitlandSmithCoeffs_.readEntry("gamma", gamma_);
+    maitlandSmithCoeffs_.readEntry("rm", rm_);
+    maitlandSmithCoeffs_.readEntry("epsilon", epsilon_);
 
     return true;
 }
diff --git a/src/lagrangian/molecularDynamics/potential/potential/potential.C b/src/lagrangian/molecularDynamics/potential/potential/potential.C
index e5c87bc273..e01f75dfcf 100644
--- a/src/lagrangian/molecularDynamics/potential/potential/potential.C
+++ b/src/lagrangian/molecularDynamics/potential/potential/potential.C
@@ -137,12 +137,8 @@ void Foam::potential::potential::readPotentialDict()
         << pairPotentialSiteIdList
         << endl;
 
-    List<word> tetherSiteIdList(0);
-
-    if (idListDict.found("tetherSiteIdList"))
-    {
-        tetherSiteIdList = List<word>(idListDict.lookup("tetherSiteIdList"));
-    }
+    List<word> tetherSiteIdList;
+    idListDict.readIfPresent("tetherSiteIdList", tetherSiteIdList);
 
     IOdictionary potentialDict
     (
diff --git a/src/lagrangian/molecularDynamics/potential/tetherPotential/derived/harmonicSpring/harmonicSpring.C b/src/lagrangian/molecularDynamics/potential/tetherPotential/derived/harmonicSpring/harmonicSpring.C
index 5c53cec52f..61c74200ea 100644
--- a/src/lagrangian/molecularDynamics/potential/tetherPotential/derived/harmonicSpring/harmonicSpring.C
+++ b/src/lagrangian/molecularDynamics/potential/tetherPotential/derived/harmonicSpring/harmonicSpring.C
@@ -83,7 +83,7 @@ bool harmonicSpring::read(const dictionary& tetherPotentialProperties)
     harmonicSpringCoeffs_ =
         tetherPotentialProperties.subDict(typeName + "Coeffs");
 
-    harmonicSpringCoeffs_.lookup("springConstant") >> springConstant_;
+    harmonicSpringCoeffs_.readEntry("springConstant", springConstant_);
 
     return true;
 }
diff --git a/src/lagrangian/molecularDynamics/potential/tetherPotential/derived/pitchForkRing/pitchForkRing.C b/src/lagrangian/molecularDynamics/potential/tetherPotential/derived/pitchForkRing/pitchForkRing.C
index caaa7a68ce..6aac89c4a8 100644
--- a/src/lagrangian/molecularDynamics/potential/tetherPotential/derived/pitchForkRing/pitchForkRing.C
+++ b/src/lagrangian/molecularDynamics/potential/tetherPotential/derived/pitchForkRing/pitchForkRing.C
@@ -101,9 +101,9 @@ bool pitchForkRing::read(const dictionary& tetherPotentialProperties)
     pitchForkRingCoeffs_ =
         tetherPotentialProperties.subDict(typeName + "Coeffs");
 
-    pitchForkRingCoeffs_.lookup("mu") >> mu_;
-    pitchForkRingCoeffs_.lookup("alpha") >> alpha_;
-    pitchForkRingCoeffs_.lookup("rOrbit") >> rOrbit_;
+    pitchForkRingCoeffs_.readEntry("mu", mu_);
+    pitchForkRingCoeffs_.readEntry("alpha", alpha_);
+    pitchForkRingCoeffs_.readEntry("rOrbit", rOrbit_);
 
     return true;
 }
diff --git a/src/lagrangian/molecularDynamics/potential/tetherPotential/derived/restrainedHarmonicSpring/restrainedHarmonicSpring.C b/src/lagrangian/molecularDynamics/potential/tetherPotential/derived/restrainedHarmonicSpring/restrainedHarmonicSpring.C
index d867c5e918..b2f31b16d4 100644
--- a/src/lagrangian/molecularDynamics/potential/tetherPotential/derived/restrainedHarmonicSpring/restrainedHarmonicSpring.C
+++ b/src/lagrangian/molecularDynamics/potential/tetherPotential/derived/restrainedHarmonicSpring/restrainedHarmonicSpring.C
@@ -111,8 +111,8 @@ bool restrainedHarmonicSpring::read
     restrainedHarmonicSpringCoeffs_ =
         tetherPotentialProperties.subDict(typeName + "Coeffs");
 
-    restrainedHarmonicSpringCoeffs_.lookup("springConstant") >> springConstant_;
-    restrainedHarmonicSpringCoeffs_.lookup("rR") >> rR_;
+    restrainedHarmonicSpringCoeffs_.readEntry("springConstant", springConstant_);
+    restrainedHarmonicSpringCoeffs_.readEntry("rR", rR_);
 
     return true;
 }
diff --git a/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.C b/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.C
index ff89670dc6..e8c8627443 100644
--- a/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.C
+++ b/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.C
@@ -79,8 +79,8 @@ Foam::BreakupModel<CloudType>::BreakupModel
     if (solveOscillationEq_ && dict.found("TABCoeffs"))
     {
         const dictionary coeffs(dict.subDict("TABCoeffs"));
-        coeffs.lookup("Comega") >> TABComega_;
-        coeffs.lookup("Cmu") >> TABCmu_;
+        coeffs.readEntry("Comega", TABComega_);
+        coeffs.readEntry("Cmu", TABCmu_);
         scalar WeCrit(readScalar(coeffs.lookup("WeCrit")));
         TABtwoWeCrit_ = 2*WeCrit;
     }
diff --git a/src/lagrangian/spray/submodels/BreakupModel/ETAB/ETAB.C b/src/lagrangian/spray/submodels/BreakupModel/ETAB/ETAB.C
index c30ded6d7c..fb45b30ddf 100644
--- a/src/lagrangian/spray/submodels/BreakupModel/ETAB/ETAB.C
+++ b/src/lagrangian/spray/submodels/BreakupModel/ETAB/ETAB.C
@@ -42,9 +42,9 @@ Foam::ETAB<CloudType>::ETAB
 {
     if (!this->defaultCoeffs(true))
     {
-        this->coeffDict().lookup("k1") >> k1_;
-        this->coeffDict().lookup("k2") >> k2_;
-        this->coeffDict().lookup("WeTransition") >> WeTransition_;
+        this->coeffDict().readEntry("k1", k1_);
+        this->coeffDict().readEntry("k2", k2_);
+        this->coeffDict().readEntry("WeTransition", WeTransition_);
     }
 
     scalar k21 = k2_/k1_;
diff --git a/src/lagrangian/spray/submodels/BreakupModel/PilchErdman/PilchErdman.C b/src/lagrangian/spray/submodels/BreakupModel/PilchErdman/PilchErdman.C
index e6863ad0db..61041ae1be 100644
--- a/src/lagrangian/spray/submodels/BreakupModel/PilchErdman/PilchErdman.C
+++ b/src/lagrangian/spray/submodels/BreakupModel/PilchErdman/PilchErdman.C
@@ -40,8 +40,8 @@ Foam::PilchErdman<CloudType>::PilchErdman
 {
     if (!this->defaultCoeffs(true))
     {
-        this->coeffDict().lookup("B1") >> B1_;
-        this->coeffDict().lookup("B2") >> B2_;
+        this->coeffDict().readEntry("B1", B1_);
+        this->coeffDict().readEntry("B2", B2_);
     }
 }
 
diff --git a/src/lagrangian/spray/submodels/BreakupModel/ReitzDiwakar/ReitzDiwakar.C b/src/lagrangian/spray/submodels/BreakupModel/ReitzDiwakar/ReitzDiwakar.C
index 504b681dc6..9f5bbcd8c8 100644
--- a/src/lagrangian/spray/submodels/BreakupModel/ReitzDiwakar/ReitzDiwakar.C
+++ b/src/lagrangian/spray/submodels/BreakupModel/ReitzDiwakar/ReitzDiwakar.C
@@ -42,10 +42,10 @@ Foam::ReitzDiwakar<CloudType>::ReitzDiwakar
 {
     if (!this->defaultCoeffs(true))
     {
-        this->coeffDict().lookup("Cbag") >> Cbag_;
-        this->coeffDict().lookup("Cb") >> Cb_;
-        this->coeffDict().lookup("Cstrip") >> Cstrip_;
-        this->coeffDict().lookup("Cs") >> Cs_;
+        this->coeffDict().readEntry("Cbag", Cbag_);
+        this->coeffDict().readEntry("Cb", Cb_);
+        this->coeffDict().readEntry("Cstrip", Cstrip_);
+        this->coeffDict().readEntry("Cs", Cs_);
     }
 }
 
diff --git a/src/lagrangian/spray/submodels/BreakupModel/ReitzKHRT/ReitzKHRT.C b/src/lagrangian/spray/submodels/BreakupModel/ReitzKHRT/ReitzKHRT.C
index 0d158f8566..16522b098f 100644
--- a/src/lagrangian/spray/submodels/BreakupModel/ReitzKHRT/ReitzKHRT.C
+++ b/src/lagrangian/spray/submodels/BreakupModel/ReitzKHRT/ReitzKHRT.C
@@ -44,12 +44,12 @@ Foam::ReitzKHRT<CloudType>::ReitzKHRT
 {
     if (!this->defaultCoeffs(true))
     {
-        this->coeffDict().lookup("B0") >> b0_;
-        this->coeffDict().lookup("B1") >> b1_;
-        this->coeffDict().lookup("Ctau") >> cTau_;
-        this->coeffDict().lookup("CRT") >> cRT_;
-        this->coeffDict().lookup("msLimit") >> msLimit_;
-        this->coeffDict().lookup("WeberLimit") >> weberLimit_;
+        this->coeffDict().readEntry("B0", b0_);
+        this->coeffDict().readEntry("B1", b1_);
+        this->coeffDict().readEntry("Ctau", cTau_);
+        this->coeffDict().readEntry("CRT", cRT_);
+        this->coeffDict().readEntry("msLimit", msLimit_);
+        this->coeffDict().readEntry("WeberLimit", weberLimit_);
     }
 }
 
diff --git a/src/mesh/snappyHexMesh/refinementSurfaces/surfaceZonesInfo.C b/src/mesh/snappyHexMesh/refinementSurfaces/surfaceZonesInfo.C
index d65d7e0eac..647c8dd614 100644
--- a/src/mesh/snappyHexMesh/refinementSurfaces/surfaceZonesInfo.C
+++ b/src/mesh/snappyHexMesh/refinementSurfaces/surfaceZonesInfo.C
@@ -82,7 +82,7 @@ Foam::surfaceZonesInfo::surfaceZonesInfo
             zoneInside_ = areaSelectionAlgoNames[method];
             if (zoneInside_ == INSIDEPOINT)
             {
-                surfacesDict.lookup("insidePoint") >> zoneInsidePoint_;
+                surfacesDict.readEntry("insidePoint", zoneInsidePoint_);
             }
 
         }
diff --git a/src/mesh/snappyHexMesh/shellSurfaces/shellSurfaces.C b/src/mesh/snappyHexMesh/shellSurfaces/shellSurfaces.C
index dfa08a65c8..210a423248 100644
--- a/src/mesh/snappyHexMesh/shellSurfaces/shellSurfaces.C
+++ b/src/mesh/snappyHexMesh/shellSurfaces/shellSurfaces.C
@@ -684,8 +684,8 @@ Foam::shellSurfaces::shellSurfaces
 
             if (smoothDirection_[shellI] != vector::zero)
             {
-                dict.lookup("nSmoothExpansion") >> nSmoothExpansion_[shellI];
-                dict.lookup("nSmoothPosition") >> nSmoothPosition_[shellI];
+                dict.readEntry("nSmoothExpansion", nSmoothExpansion_[shellI]);
+                dict.readEntry("nSmoothPosition", nSmoothPosition_[shellI]);
             }
 
 
diff --git a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C
index 795397fc29..e8a6556361 100644
--- a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C
+++ b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C
@@ -567,8 +567,8 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch
     {
         case ROTATIONAL:
         {
-            dict.lookup("rotationAxis") >> rotationAxis_;
-            dict.lookup("rotationCentre") >> rotationCentre_;
+            dict.readEntry("rotationAxis", rotationAxis_);
+            dict.readEntry("rotationCentre", rotationCentre_);
             if (dict.readIfPresent("rotationAngle", rotationAngle_))
             {
                 rotationAngleDefined_ = true;
@@ -597,7 +597,7 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch
         }
         case TRANSLATIONAL:
         {
-            dict.lookup("separationVector") >> separationVector_;
+            dict.readEntry("separationVector", separationVector_);
             break;
         }
         default:
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C b/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
index 95ec8f0e76..1e8973d662 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
@@ -316,8 +316,8 @@ void Foam::axesRotation::operator=(const dictionary& dict)
     {
         // Both "axis" and "direction" are required
         // If one is missing the appropriate error message will be generated
-        dict.lookup("axis") >> axis1;
-        dict.lookup("direction") >> axis2;
+        dict.readEntry("axis", axis1);
+        dict.readEntry("direction", axis2);
 
         setTransform(axis1, axis2, E3_E1);
     }
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C b/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C
index 17303cf7a5..d6253fd8a4 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C
@@ -140,7 +140,7 @@ Foam::cylindrical::cylindrical
     dict.parent().readIfPresent("origin", origin_);
 
     // Rotation axis
-    dict.lookup("e3") >> e3_;
+    dict.readEntry("e3", e3_);
 
     init(obr);
 }
diff --git a/src/meshTools/coordinateSystems/coordinateSystem.C b/src/meshTools/coordinateSystems/coordinateSystem.C
index 5ec4361974..0428153c8e 100644
--- a/src/meshTools/coordinateSystems/coordinateSystem.C
+++ b/src/meshTools/coordinateSystems/coordinateSystem.C
@@ -366,7 +366,7 @@ void Foam::coordinateSystem::operator=(coordinateSystem&& cs)
 
 void Foam::coordinateSystem::init(const dictionary& dict)
 {
-    dict.lookup("origin") >> origin_;
+    dict.readEntry("origin", origin_);
     note_.clear();
     dict.readIfPresent("note", note_);
     R_ = coordinateRotation::New(dict.subDict("coordinateRotation"));
@@ -379,7 +379,7 @@ void Foam::coordinateSystem::init
     const objectRegistry& obr
 )
 {
-    dict.lookup("origin") >> origin_;
+    dict.readEntry("origin", origin_);
 
     // The 'note' entry is optional
     note_.clear();
diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C
index 97fe0ab615..cfa8e9fbdc 100644
--- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C
+++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C
@@ -1050,7 +1050,7 @@ Foam::mappedPatchBase::mappedPatchBase
         {
             case UNIFORM:
             {
-                offset_ = point(dict.lookup("offset"));
+                dict.readEntry("offset", offset_);
             }
             break;
 
@@ -1063,15 +1063,14 @@ Foam::mappedPatchBase::mappedPatchBase
 
             case NORMAL:
             {
-                distance_ = readScalar(dict.lookup("distance"));
+                dict.readEntry("distance", distance_);
             }
             break;
         }
     }
-    else if (dict.found("offset"))
+    else if (dict.readIfPresent("offset", offset_))
     {
         offsetMode_ = UNIFORM;
-        offset_ = point(dict.lookup("offset"));
     }
     else if (dict.found("offsets"))
     {
diff --git a/src/parallel/decompose/decompositionMethods/geomDecomp/geomDecomp.C b/src/parallel/decompose/decompositionMethods/geomDecomp/geomDecomp.C
index aaddd063a3..d4eeb24241 100644
--- a/src/parallel/decompose/decompositionMethods/geomDecomp/geomDecomp.C
+++ b/src/parallel/decompose/decompositionMethods/geomDecomp/geomDecomp.C
@@ -31,7 +31,7 @@ void Foam::geomDecomp::readCoeffs()
 {
     coeffsDict_.readIfPresent("delta", delta_);
 
-    coeffsDict_.lookup("n") >> n_;
+    coeffsDict_.readEntry("n", n_);
 
     // Verify that the input makes sense
     if (nDomains_ != n_.x()*n_.y()*n_.z())
diff --git a/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C b/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C
index 520a061e58..285135f61c 100644
--- a/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C
+++ b/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C
@@ -52,11 +52,11 @@ addToRunTimeSelectionTable(pyrolysisModel, reactingOneDim, dictionary);
 void reactingOneDim::readReactingOneDimControls()
 {
     const dictionary& solution = this->solution().subDict("SIMPLE");
-    solution.lookup("nNonOrthCorr") >> nNonOrthCorr_;
-    time().controlDict().lookup("maxDi") >> maxDiff_;
-    coeffs().lookup("minimumDelta") >> minimumDelta_;
+    solution.readEntry("nNonOrthCorr", nNonOrthCorr_);
+    time().controlDict().readEntry("maxDi", maxDiff_);
+    coeffs().readEntry("minimumDelta", minimumDelta_);
     gasHSource_ = coeffs().lookupOrDefault("gasHSource", false);
-    coeffs().lookup("qrHSource") >> qrHSource_;
+    coeffs().readEntry("qrHSource", qrHSource_);
     useChemistrySolvers_ =
         coeffs().lookupOrDefault("useChemistrySolvers", true);
 }
diff --git a/src/regionModels/pyrolysisModels/thermo/thermo.C b/src/regionModels/pyrolysisModels/thermo/thermo.C
index f3177a7fdf..caf891afb0 100644
--- a/src/regionModels/pyrolysisModels/thermo/thermo.C
+++ b/src/regionModels/pyrolysisModels/thermo/thermo.C
@@ -50,8 +50,8 @@ addToRunTimeSelectionTable(pyrolysisModel, thermo, dictionary);
 void thermo::readControls()
 {
     const dictionary& solution = this->solution().subDict("SIMPLE");
-    solution.lookup("nNonOrthCorr") >> nNonOrthCorr_;
-    time().controlDict().lookup("maxDi") >> maxDiff_;
+    solution.readEntry("nNonOrthCorr", nNonOrthCorr_);
+    time().controlDict().readEntry("maxDi", maxDiff_);
 }
 
 
diff --git a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C
index a7e07f1447..1ccbd5ca8c 100644
--- a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C
+++ b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C
@@ -58,10 +58,10 @@ bool kinematicSingleLayer::read()
     if (surfaceFilmRegionModel::read())
     {
         const dictionary& solution = this->solution().subDict("PISO");
-        solution.lookup("momentumPredictor") >> momentumPredictor_;
+        solution.readEntry("momentumPredictor", momentumPredictor_);
         solution.readIfPresent("nOuterCorr", nOuterCorr_);
-        solution.lookup("nCorr") >> nCorr_;
-        solution.lookup("nNonOrthCorr") >> nNonOrthCorr_;
+        solution.readEntry("nCorr", nCorr_);
+        solution.readEntry("nNonOrthCorr", nNonOrthCorr_);
 
         return true;
     }
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C
index 15a870171b..e88110b3f1 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/constantFilmThermo/constantFilmThermo.C
@@ -113,7 +113,7 @@ scalar constantFilmThermo::rho
 {
     if (!rho0_.set_)
     {
-        coeffDict_.lookup(rho0_.name_) >> rho0_.value_;
+        coeffDict_.readEntry(rho0_.name_, rho0_.value_);
         rho0_.set_ = true;
     }
 
@@ -129,7 +129,7 @@ scalar constantFilmThermo::mu
 {
     if (!mu0_.set_)
     {
-        coeffDict_.lookup(mu0_.name_) >> mu0_.value_;
+        coeffDict_.readEntry(mu0_.name_, mu0_.value_);
         mu0_.set_ = true;
     }
 
@@ -145,7 +145,7 @@ scalar constantFilmThermo::sigma
 {
     if (!sigma0_.set_)
     {
-        coeffDict_.lookup(sigma0_.name_) >> sigma0_.value_;
+        coeffDict_.readEntry(sigma0_.name_, sigma0_.value_);
         sigma0_.set_ = true;
     }
 
@@ -161,7 +161,7 @@ scalar constantFilmThermo::Cp
 {
     if (!Cp0_.set_)
     {
-        coeffDict_.lookup(Cp0_.name_) >> Cp0_.value_;
+        coeffDict_.readEntry(Cp0_.name_, Cp0_.value_);
         Cp0_.set_ = true;
     }
 
@@ -177,7 +177,7 @@ scalar constantFilmThermo::kappa
 {
     if (!kappa0_.set_)
     {
-        coeffDict_.lookup(kappa0_.name_) >> kappa0_.value_;
+        coeffDict_.readEntry(kappa0_.name_, kappa0_.value_);
         kappa0_.set_ = true;
     }
 
@@ -193,7 +193,7 @@ scalar constantFilmThermo::D
 {
     if (!D0_.set_)
     {
-        coeffDict_.lookup(D0_.name_) >> D0_.value_;
+        coeffDict_.readEntry(D0_.name_, D0_.value_);
         D0_.set_ = true;
     }
 
@@ -209,7 +209,7 @@ scalar constantFilmThermo::hl
 {
     if (!hl0_.set_)
     {
-        coeffDict_.lookup(hl0_.name_) >> hl0_.value_;
+        coeffDict_.readEntry(hl0_.name_, hl0_.value_);
         hl0_.set_ = true;
     }
 
@@ -225,7 +225,7 @@ scalar constantFilmThermo::pv
 {
     if (!pv0_.set_)
     {
-        coeffDict_.lookup(pv0_.name_) >> pv0_.value_;
+        coeffDict_.readEntry(pv0_.name_, pv0_.value_);
         pv0_.set_ = true;
     }
 
@@ -237,7 +237,7 @@ scalar constantFilmThermo::W() const
 {
     if (!W0_.set_)
     {
-        coeffDict_.lookup(W0_.name_) >> W0_.value_;
+        coeffDict_.readEntry(W0_.name_, W0_.value_);
         W0_.set_ = true;
     }
 
@@ -249,7 +249,7 @@ scalar constantFilmThermo::Tb(const scalar p) const
 {
     if (!Tb0_.set_)
     {
-        coeffDict_.lookup(Tb0_.name_) >> Tb0_.value_;
+        coeffDict_.readEntry(Tb0_.name_, Tb0_.value_);
         Tb0_.set_ = true;
     }
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C
index b210d1aa6d..8160f7a2ba 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C
@@ -76,7 +76,7 @@ void liquidFilmThermo::initLiquid(const dictionary& dict)
         return;
     }
 
-    dict.lookup("liquid") >> name_;
+    dict.readEntry("liquid", name_);
 
     if (filmModel_.primaryMesh().foundObject<SLGThermo>("SLGThermo"))
     {
@@ -119,8 +119,8 @@ liquidFilmThermo::liquidFilmThermo
 
     if (useReferenceValues_)
     {
-        coeffDict_.lookup("pRef") >> pRef_;
-        coeffDict_.lookup("TRef") >> TRef_;
+        coeffDict_.readEntry("pRef", pRef_);
+        coeffDict_.readEntry("TRef", TRef_);
     }
 }
 
diff --git a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.C b/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.C
index 55008f3674..d96f701bdb 100644
--- a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.C
+++ b/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.C
@@ -62,7 +62,7 @@ autoPtr<surfaceFilmModel> surfaceFilmModel::New
                 surfaceFilmPropertiesDictHeader
             );
 
-            surfaceFilmPropertiesDict.lookup("surfaceFilmModel") >> modelType;
+            surfaceFilmPropertiesDict.readEntry("surfaceFilmModel", modelType);
         }
         else
         {
diff --git a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C
index 69ccdac22e..4876ae4bc4 100644
--- a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C
+++ b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C
@@ -533,8 +533,8 @@ thermoSingleLayer::thermoSingleLayer
 
     if (hydrophilic_)
     {
-        coeffs_.lookup("hydrophilicDryScale") >> hydrophilicDryScale_;
-        coeffs_.lookup("hydrophilicWetScale") >> hydrophilicWetScale_;
+        coeffs_.readEntry("hydrophilicDryScale", hydrophilicDryScale_);
+        coeffs_.readEntry("hydrophilicWetScale", hydrophilicWetScale_);
     }
 
     if (readFields)
diff --git a/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C b/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C
index 9e75ffaeab..75ec4d1086 100644
--- a/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C
+++ b/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C
@@ -52,14 +52,14 @@ addToRunTimeSelectionTable(thermalBaffleModel, thermalBaffle, dictionary);
 
 bool thermalBaffle::read()
 {
-    this->solution().lookup("nNonOrthCorr") >> nNonOrthCorr_;
+    this->solution().readEntry("nNonOrthCorr", nNonOrthCorr_);
     return regionModel1D::read();
 }
 
 
 bool thermalBaffle::read(const dictionary& dict)
 {
-    this->solution().lookup("nNonOrthCorr") >> nNonOrthCorr_;
+    this->solution().readEntry("nNonOrthCorr", nNonOrthCorr_);
     return regionModel1D::read(dict);
 }
 
diff --git a/src/rigidBodyDynamics/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C b/src/rigidBodyDynamics/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C
index 277de2ecf9..9bcd058092 100644
--- a/src/rigidBodyDynamics/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C
+++ b/src/rigidBodyDynamics/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C
@@ -170,8 +170,8 @@ bool Foam::RBD::restraints::linearAxialAngularSpring::read
             << abort(FatalError);
     }
 
-    coeffs_.lookup("stiffness") >> stiffness_;
-    coeffs_.lookup("damping") >> damping_;
+    coeffs_.readEntry("stiffness", stiffness_);
+    coeffs_.readEntry("damping", damping_);
 
     return true;
 }
diff --git a/src/rigidBodyDynamics/restraints/linearDamper/linearDamper.C b/src/rigidBodyDynamics/restraints/linearDamper/linearDamper.C
index e397a87ee5..11f9959a0a 100644
--- a/src/rigidBodyDynamics/restraints/linearDamper/linearDamper.C
+++ b/src/rigidBodyDynamics/restraints/linearDamper/linearDamper.C
@@ -96,7 +96,7 @@ bool Foam::RBD::restraints::linearDamper::read
 {
     restraint::read(dict);
 
-    coeffs_.lookup("coeff") >> coeff_;
+    coeffs_.readEntry("coeff", coeff_);
 
     return true;
 }
diff --git a/src/rigidBodyDynamics/restraints/linearSpring/linearSpring.C b/src/rigidBodyDynamics/restraints/linearSpring/linearSpring.C
index 189a7e9a9b..60ba4a71e4 100644
--- a/src/rigidBodyDynamics/restraints/linearSpring/linearSpring.C
+++ b/src/rigidBodyDynamics/restraints/linearSpring/linearSpring.C
@@ -117,11 +117,11 @@ bool Foam::RBD::restraints::linearSpring::read
 {
     restraint::read(dict);
 
-    coeffs_.lookup("anchor") >> anchor_;
-    coeffs_.lookup("refAttachmentPt") >> refAttachmentPt_;
-    coeffs_.lookup("stiffness") >> stiffness_;
-    coeffs_.lookup("damping") >> damping_;
-    coeffs_.lookup("restLength") >> restLength_;
+    coeffs_.readEntry("anchor", anchor_);
+    coeffs_.readEntry("refAttachmentPt", refAttachmentPt_);
+    coeffs_.readEntry("stiffness", stiffness_);
+    coeffs_.readEntry("damping", damping_);
+    coeffs_.readEntry("restLength", restLength_);
 
     return true;
 }
diff --git a/src/rigidBodyDynamics/restraints/sphericalAngularDamper/sphericalAngularDamper.C b/src/rigidBodyDynamics/restraints/sphericalAngularDamper/sphericalAngularDamper.C
index 44806465a3..672767b332 100644
--- a/src/rigidBodyDynamics/restraints/sphericalAngularDamper/sphericalAngularDamper.C
+++ b/src/rigidBodyDynamics/restraints/sphericalAngularDamper/sphericalAngularDamper.C
@@ -96,7 +96,7 @@ bool Foam::RBD::restraints::sphericalAngularDamper::read
 {
     restraint::read(dict);
 
-    coeffs_.lookup("coeff") >> coeff_;
+    coeffs_.readEntry("coeff", coeff_);
 
     return true;
 }
diff --git a/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C b/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C
index de24982df7..0e1f144685 100644
--- a/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C
+++ b/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C
@@ -70,7 +70,7 @@ Foam::RBD::rigidBodyMotion::rigidBodyMotion
 {
     if (dict.found("g"))
     {
-        g() = vector(dict.lookup("g"));
+        g() = dict.get<vector>("g");
     }
 
     initialize();
@@ -95,7 +95,7 @@ Foam::RBD::rigidBodyMotion::rigidBodyMotion
 {
     if (dict.found("g"))
     {
-        g() = vector(dict.lookup("g"));
+        g() = dict.get<vector>("g");
     }
 
     initialize();
diff --git a/src/rigidBodyMeshMotion/rigidBodyMeshMotion/rigidBodyMeshMotion.C b/src/rigidBodyMeshMotion/rigidBodyMeshMotion/rigidBodyMeshMotion.C
index d69537ff5e..e46c901565 100644
--- a/src/rigidBodyMeshMotion/rigidBodyMeshMotion/rigidBodyMeshMotion.C
+++ b/src/rigidBodyMeshMotion/rigidBodyMeshMotion/rigidBodyMeshMotion.C
@@ -122,7 +122,7 @@ Foam::rigidBodyMeshMotion::rigidBodyMeshMotion
 {
     if (rhoName_ == "rhoInf")
     {
-        rhoInf_ = readScalar(coeffDict().lookup("rhoInf"));
+        readEntry("rhoInf", rhoInf_);
     }
 
     if (coeffDict().found("ramp"))
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/axis/sixDoFRigidBodyMotionAxisConstraint.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/axis/sixDoFRigidBodyMotionAxisConstraint.C
index 0650986bfd..81e61fcd53 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/axis/sixDoFRigidBodyMotionAxisConstraint.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/axis/sixDoFRigidBodyMotionAxisConstraint.C
@@ -92,7 +92,7 @@ bool Foam::sixDoFRigidBodyMotionConstraints::axis::read
 {
     sixDoFRigidBodyMotionConstraint::read(sDoFRBMCDict);
 
-    sDoFRBMCCoeffs_.lookup("axis") >> axis_;
+    sDoFRBMCCoeffs_.readEntry("axis", axis_);
 
     scalar magFixedAxis(mag(axis_));
 
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/line/sixDoFRigidBodyMotionLineConstraint.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/line/sixDoFRigidBodyMotionLineConstraint.C
index 6da64ea471..0cdbf4364a 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/line/sixDoFRigidBodyMotionLineConstraint.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/line/sixDoFRigidBodyMotionLineConstraint.C
@@ -106,7 +106,7 @@ bool Foam::sixDoFRigidBodyMotionConstraints::line::read
         motion_.initialCentreOfMass()
     );
 
-    sDoFRBMCCoeffs_.lookup("direction") >> direction_;
+    sDoFRBMCCoeffs_.readEntry("direction", direction_);
 
     scalar magDir(mag(direction_));
 
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/plane/sixDoFRigidBodyMotionPlaneConstraint.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/plane/sixDoFRigidBodyMotionPlaneConstraint.C
index 90190f2c63..389ba407d2 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/plane/sixDoFRigidBodyMotionPlaneConstraint.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/plane/sixDoFRigidBodyMotionPlaneConstraint.C
@@ -106,7 +106,7 @@ bool Foam::sixDoFRigidBodyMotionConstraints::plane::read
         motion_.initialCentreOfMass()
     );
 
-    sDoFRBMCCoeffs_.lookup("normal") >> normal_;
+    sDoFRBMCCoeffs_.readEntry("normal", normal_);
 
     return true;
 }
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C
index 8575a52e77..9e146fddff 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C
@@ -174,8 +174,8 @@ bool Foam::sixDoFRigidBodyMotionRestraints::linearAxialAngularSpring::read
             << abort(FatalError);
     }
 
-    sDoFRBMRCoeffs_.lookup("stiffness") >> stiffness_;
-    sDoFRBMRCoeffs_.lookup("damping") >> damping_;
+    sDoFRBMRCoeffs_.readEntry("stiffness", stiffness_);
+    sDoFRBMRCoeffs_.readEntry("damping", damping_);
 
     return true;
 }
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearDamper/linearDamper.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearDamper/linearDamper.C
index 1e6d31ce8e..e814a02a63 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearDamper/linearDamper.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearDamper/linearDamper.C
@@ -94,7 +94,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::linearDamper::read
 {
     sixDoFRigidBodyMotionRestraint::read(sDoFRBMRDict);
 
-    sDoFRBMRCoeffs_.lookup("coeff") >> coeff_;
+    sDoFRBMRCoeffs_.readEntry("coeff", coeff_);
 
     return true;
 }
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearSpring/linearSpring.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearSpring/linearSpring.C
index c993c4d814..fdcac1592b 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearSpring/linearSpring.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearSpring/linearSpring.C
@@ -110,11 +110,11 @@ bool Foam::sixDoFRigidBodyMotionRestraints::linearSpring::read
 {
     sixDoFRigidBodyMotionRestraint::read(sDoFRBMRDict);
 
-    sDoFRBMRCoeffs_.lookup("anchor") >> anchor_;
-    sDoFRBMRCoeffs_.lookup("refAttachmentPt") >> refAttachmentPt_;
-    sDoFRBMRCoeffs_.lookup("stiffness") >> stiffness_;
-    sDoFRBMRCoeffs_.lookup("damping") >> damping_;
-    sDoFRBMRCoeffs_.lookup("restLength") >> restLength_;
+    sDoFRBMRCoeffs_.readEntry("anchor", anchor_);
+    sDoFRBMRCoeffs_.readEntry("refAttachmentPt", refAttachmentPt_);
+    sDoFRBMRCoeffs_.readEntry("stiffness", stiffness_);
+    sDoFRBMRCoeffs_.readEntry("damping", damping_);
+    sDoFRBMRCoeffs_.readEntry("restLength", restLength_);
 
     return true;
 }
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularDamper/sphericalAngularDamper.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularDamper/sphericalAngularDamper.C
index 27f890590a..0f99aa1695 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularDamper/sphericalAngularDamper.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularDamper/sphericalAngularDamper.C
@@ -96,7 +96,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::sphericalAngularDamper::read
 {
     sixDoFRigidBodyMotionRestraint::read(sDoFRBMRDict);
 
-    sDoFRBMRCoeffs_.lookup("coeff") >> coeff_;
+    sDoFRBMRCoeffs_.readEntry("coeff", coeff_);
 
     return true;
 }
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularSpring/sphericalAngularSpring.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularSpring/sphericalAngularSpring.C
index 35db712d8f..b797b7118e 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularSpring/sphericalAngularSpring.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularSpring/sphericalAngularSpring.C
@@ -133,8 +133,8 @@ bool Foam::sixDoFRigidBodyMotionRestraints::sphericalAngularSpring::read
             << exit(FatalError);
     }
 
-    sDoFRBMRCoeffs_.lookup("stiffness") >> stiffness_;
-    sDoFRBMRCoeffs_.lookup("damping") >> damping_;
+    sDoFRBMRCoeffs_.readEntry("stiffness", stiffness_);
+    sDoFRBMRCoeffs_.readEntry("damping", damping_);
 
     return true;
 }
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/tabulatedAxialAngularSpring/tabulatedAxialAngularSpring.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/tabulatedAxialAngularSpring/tabulatedAxialAngularSpring.C
index 601184e0a5..f19bc98f06 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/tabulatedAxialAngularSpring/tabulatedAxialAngularSpring.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/tabulatedAxialAngularSpring/tabulatedAxialAngularSpring.C
@@ -194,7 +194,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::tabulatedAxialAngularSpring::read
             << abort(FatalError);
     }
 
-    sDoFRBMRCoeffs_.lookup("damping") >> damping_;
+    sDoFRBMRCoeffs_.readEntry("damping", damping_);
 
     return true;
 }
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionIO.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionIO.C
index 4b54e45b17..7c8bcc5d93 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionIO.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionIO.C
@@ -31,8 +31,8 @@ License
 
 bool Foam::sixDoFRigidBodyMotion::read(const dictionary& dict)
 {
-    dict.lookup("mass") >> mass_;
-    dict.lookup("momentOfInertia") >> momentOfInertia_;
+    dict.readEntry("mass", mass_);
+    dict.readEntry("momentOfInertia", momentOfInertia_);
     aRelax_ = dict.lookupOrDefault<scalar>("accelerationRelaxation", 1.0);
     aDamp_ = dict.lookupOrDefault<scalar>("accelerationDamping", 1.0);
     report_ = dict.lookupOrDefault<Switch>("report", false);
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C
index 76f65c6693..ef88a6c222 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C
@@ -193,9 +193,9 @@ void Foam::sixDoFRigidBodyMotionSolver::solve()
     {
         g = db().lookupObject<uniformDimensionedVectorField>("g");
     }
-    else if (coeffDict().found("g"))
+    else
     {
-        coeffDict().lookup("g") >> g;
+        coeffDict().readIfPresent("g", g);
     }
 
     // const scalar ramp = min(max((this->db().time().value() - 5)/10, 0), 1);
diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/Chung/Chung.C b/src/thermophysicalModels/barotropicCompressibilityModel/Chung/Chung.C
index 3c626b94ec..3864dd14e4 100644
--- a/src/thermophysicalModels/barotropicCompressibilityModel/Chung/Chung.C
+++ b/src/thermophysicalModels/barotropicCompressibilityModel/Chung/Chung.C
@@ -109,10 +109,10 @@ bool Foam::compressibilityModels::Chung::read
 {
     barotropicCompressibilityModel::read(compressibilityProperties);
 
-    compressibilityProperties_.lookup("psiv") >> psiv_;
-    compressibilityProperties_.lookup("psil") >> psil_;
-    compressibilityProperties_.lookup("rhovSat") >> rhovSat_;
-    compressibilityProperties_.lookup("rholSat") >> rholSat_;
+    compressibilityProperties_.readEntry("psiv", psiv_);
+    compressibilityProperties_.readEntry("psil", psil_);
+    compressibilityProperties_.readEntry("rhovSat", rhovSat_);
+    compressibilityProperties_.readEntry("rholSat", rholSat_);
 
     return true;
 }
diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/Wallis/Wallis.C b/src/thermophysicalModels/barotropicCompressibilityModel/Wallis/Wallis.C
index 4717c5b0a7..eb81370c43 100644
--- a/src/thermophysicalModels/barotropicCompressibilityModel/Wallis/Wallis.C
+++ b/src/thermophysicalModels/barotropicCompressibilityModel/Wallis/Wallis.C
@@ -98,10 +98,10 @@ bool Foam::compressibilityModels::Wallis::read
 {
     barotropicCompressibilityModel::read(compressibilityProperties);
 
-    compressibilityProperties_.lookup("psiv") >> psiv_;
-    compressibilityProperties_.lookup("psil") >> psil_;
-    compressibilityProperties_.lookup("rhovSat") >> rhovSat_;
-    compressibilityProperties_.lookup("rholSat") >> rholSat_;
+    compressibilityProperties_.readEntry("psiv", psiv_);
+    compressibilityProperties_.readEntry("psil", psil_);
+    compressibilityProperties_.readEntry("rhovSat", rhovSat_);
+    compressibilityProperties_.readEntry("rholSat", rholSat_);
 
     return true;
 }
diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/linear/linear.C b/src/thermophysicalModels/barotropicCompressibilityModel/linear/linear.C
index 6edaad6ebd..1ea3f47aac 100644
--- a/src/thermophysicalModels/barotropicCompressibilityModel/linear/linear.C
+++ b/src/thermophysicalModels/barotropicCompressibilityModel/linear/linear.C
@@ -85,8 +85,8 @@ bool Foam::compressibilityModels::linear::read
 {
     barotropicCompressibilityModel::read(compressibilityProperties);
 
-    compressibilityProperties_.lookup("psiv") >> psiv_;
-    compressibilityProperties_.lookup("psil") >> psil_;
+    compressibilityProperties_.readEntry("psiv", psiv_);
+    compressibilityProperties_.readEntry("psil", psil_);
 
     return true;
 }
diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/TDACChemistryModel/reduction/DRGEP/DRGEP.C b/src/thermophysicalModels/chemistryModel/chemistryModel/TDACChemistryModel/reduction/DRGEP/DRGEP.C
index 202cead82f..8b4976db0c 100644
--- a/src/thermophysicalModels/chemistryModel/chemistryModel/TDACChemistryModel/reduction/DRGEP/DRGEP.C
+++ b/src/thermophysicalModels/chemistryModel/chemistryModel/TDACChemistryModel/reduction/DRGEP/DRGEP.C
@@ -61,10 +61,7 @@ Foam::chemistryReductionMethods::DRGEP<CompType, ThermoType>::DRGEP
             << exit(FatalError);
     }
 
-    if (this->coeffsDict_.found("NGroupBased"))
-    {
-        NGroupBased_ = readLabel(this->coeffsDict_.lookup("NGroupBased"));
-    }
+    this->coeffsDict_.readIfPresent("NGroupBased", NGroupBased_);
 
     const List<List<specieElement>>& specieComposition =
         this->chemistry_.specieComp();
diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/TDACChemistryModel/reduction/EFA/EFA.C b/src/thermophysicalModels/chemistryModel/chemistryModel/TDACChemistryModel/reduction/EFA/EFA.C
index d19711e0a8..acd3e3fa79 100644
--- a/src/thermophysicalModels/chemistryModel/chemistryModel/TDACChemistryModel/reduction/EFA/EFA.C
+++ b/src/thermophysicalModels/chemistryModel/chemistryModel/TDACChemistryModel/reduction/EFA/EFA.C
@@ -75,10 +75,8 @@ Foam::chemistryReductionMethods::EFA<CompType, ThermoType>::EFA
             }
         }
     }
-    if (this->coeffsDict_.found("sortPart"))
-    {
-        sortPart_ = readScalar(this->coeffsDict_.lookup("sortPart"));
-    }
+
+    this->coeffsDict_.readIfPresent("sortPart", sortPart_);
 }
 
 
diff --git a/src/thermophysicalModels/radiation/radiationModels/fvDOM/absorptionCoeffs/absorptionCoeffs.C b/src/thermophysicalModels/radiation/radiationModels/fvDOM/absorptionCoeffs/absorptionCoeffs.C
index 3edf6b2c7a..04e5cf7618 100644
--- a/src/thermophysicalModels/radiation/radiationModels/fvDOM/absorptionCoeffs/absorptionCoeffs.C
+++ b/src/thermophysicalModels/radiation/radiationModels/fvDOM/absorptionCoeffs/absorptionCoeffs.C
@@ -67,12 +67,12 @@ Foam::radiation::absorptionCoeffs::coeffs
 
 void Foam::radiation::absorptionCoeffs::initialise(const dictionary& dict)
 {
-    dict.lookup("Tcommon") >> Tcommon_;
-    dict.lookup("Tlow") >> Tlow_;
-    dict.lookup("Thigh") >> Thigh_;
-    dict.lookup("invTemp") >> invTemp_;
-    dict.lookup("loTcoeffs") >> lowACoeffs_;
-    dict.lookup("hiTcoeffs") >> highACoeffs_;
+    dict.readEntry("Tcommon", Tcommon_);
+    dict.readEntry("Tlow", Tlow_);
+    dict.readEntry("Thigh", Thigh_);
+    dict.readEntry("invTemp", invTemp_);
+    dict.readEntry("loTcoeffs", lowACoeffs_);
+    dict.readEntry("hiTcoeffs", highACoeffs_);
 }
 
 
diff --git a/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C b/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C
index af7b79b5d1..e587e3f94f 100644
--- a/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C
+++ b/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C
@@ -186,10 +186,7 @@ void Foam::radiation::fvDOM::initialise()
 
     Info<< endl;
 
-    if (this->found("useSolarLoad"))
-    {
-        this->lookup("useSolarLoad") >> useSolarLoad_;
-    }
+    this->readIfPresent("useSolarLoad", useSolarLoad_);
 
     if (useSolarLoad_)
     {
diff --git a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.C b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.C
index 17255386ba..31e3c478e8 100644
--- a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.C
+++ b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.C
@@ -198,7 +198,7 @@ bool Foam::radiation::radiationModel::read()
 {
     if (regIOobject::read())
     {
-        lookup("radiation") >> radiation_;
+        readEntry("radiation", radiation_);
         coeffs_ = subOrEmptyDict(type() + "Coeffs");
 
         solverFreq_ = lookupOrDefault<label>("solverFreq", 1);
@@ -206,10 +206,8 @@ bool Foam::radiation::radiationModel::read()
 
         return true;
     }
-    else
-    {
-        return false;
-    }
+
+    return false;
 }
 
 
diff --git a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModelNew.C b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModelNew.C
index 5aec71b774..9f023aba89 100644
--- a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModelNew.C
+++ b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModelNew.C
@@ -47,7 +47,7 @@ Foam::radiation::radiationModel::New
     word modelType("none");
     if (radIO.typeHeaderOk<IOdictionary>(true))
     {
-        IOdictionary(radIO).lookup("radiationModel") >> modelType;
+        IOdictionary(radIO).readEntry("radiationModel", modelType);
     }
     else
     {
diff --git a/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C b/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C
index 973482e8dd..bec15a012a 100644
--- a/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C
+++ b/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C
@@ -307,9 +307,9 @@ void Foam::radiation::solarLoad::initialise(const dictionary& coeffs)
 
     includePatches_ = mesh_.boundaryMesh().indices(viewFactorWalls);
 
-    coeffs.lookup("useVFbeamToDiffuse") >> useVFbeamToDiffuse_;
+    coeffs.readEntry("useVFbeamToDiffuse", useVFbeamToDiffuse_);
 
-    coeffs.lookup("spectralDistribution") >> spectralDistribution_;
+    coeffs.readEntry("spectralDistribution", spectralDistribution_);
 
     spectralDistribution_ =
         spectralDistribution_/sum(spectralDistribution_);
diff --git a/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C b/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C
index d3ed841a75..d9da6157ff 100644
--- a/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C
+++ b/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C
@@ -192,10 +192,7 @@ void Foam::radiation::viewFactor::initialise()
         }
     }
 
-    if (this->found("useSolarLoad"))
-    {
-        this->lookup("useSolarLoad") >> useSolarLoad_;
-    }
+    this->readIfPresent("useSolarLoad", useSolarLoad_);
 
     if (useSolarLoad_)
     {
diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C
index 7317d02a21..ffc8c9a5a8 100644
--- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C
+++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C
@@ -123,8 +123,8 @@ greyMeanSolidAbsorptionEmission
         }
         speciesNames_.insert(key, nFunc);
         const dictionary& dict = iter().dict();
-        dict.lookup("absorptivity") >> solidData_[nFunc][absorptivity];
-        dict.lookup("emissivity") >> solidData_[nFunc][emissivity];
+        dict.readEntry("absorptivity", solidData_[nFunc][absorptivity]);
+        dict.readEntry("emissivity", solidData_[nFunc][emissivity]);
 
         nFunc++;
     }
diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandSolidAbsorptionEmission/multiBandSolidAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandSolidAbsorptionEmission/multiBandSolidAbsorptionEmission.C
index bb713ec316..e989bb2795 100644
--- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandSolidAbsorptionEmission/multiBandSolidAbsorptionEmission.C
+++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandSolidAbsorptionEmission/multiBandSolidAbsorptionEmission.C
@@ -59,8 +59,8 @@ multiBandSolidAbsorptionEmission
     emiCoeffs_(maxBands_),
     nBands_(0)
 {
-    coeffsDict_.lookup("absorptivity") >> absCoeffs_;
-    coeffsDict_.lookup("emissivity") >> emiCoeffs_;
+    coeffsDict_.readEntry("absorptivity", absCoeffs_);
+    coeffsDict_.readEntry("emissivity", emiCoeffs_);
     nBands_ = absCoeffs_.size();
 }
 
diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C
index cbb35e3a99..1d7dfddf78 100644
--- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C
+++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C
@@ -74,8 +74,8 @@ Foam::radiation::wideBandAbsorptionEmission::wideBandAbsorptionEmission
         }
 
         const dictionary& dict = iter().dict();
-        dict.lookup("bandLimits") >> iBands_[nBand];
-        dict.lookup("EhrrCoeff") >> iEhrrCoeffs_[nBand];
+        dict.readEntry("bandLimits", iBands_[nBand]);
+        dict.readEntry("EhrrCoeff", iEhrrCoeffs_[nBand]);
         totalWaveLength_ += iBands_[nBand][1] - iBands_[nBand][0];
 
         label nSpec = 0;
diff --git a/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C b/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C
index f95d517c18..af4662addf 100644
--- a/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C
+++ b/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C
@@ -180,8 +180,11 @@ void Foam::solarCalculator::init()
                     << " case is steady " << nl << exit(FatalError);
             }
 
-            dict_.lookup("sunTrackingUpdateInterval") >>
-                sunTrackingUpdateInterval_;
+            dict_.readEntry
+            (
+                "sunTrackingUpdateInterval",
+                sunTrackingUpdateInterval_
+            );
 
             calculateBetaTetha();
             calculateSunDirection();
@@ -193,8 +196,8 @@ void Foam::solarCalculator::init()
     {
         case mSunLoadConstant:
         {
-            dict_.lookup("directSolarRad") >> directSolarRad_;
-            dict_.lookup("diffuseSolarRad") >> diffuseSolarRad_;
+            dict_.readEntry("directSolarRad", directSolarRad_);
+            dict_.readEntry("diffuseSolarRad", diffuseSolarRad_);
             break;
         }
         case mSunLoadFairWeatherConditions:
@@ -205,14 +208,10 @@ void Foam::solarCalculator::init()
                 skyCloudCoverFraction_
             );
 
-            A_ = readScalar(dict_.lookup("A"));
-            B_ = readScalar(dict_.lookup("B"));
+            A_ = dict_.get<scalar>("A");
+            B_ = dict_.get<scalar>("B");
 
-            if (dict_.found("beta"))
-            {
-                dict_.lookup("beta") >> beta_;
-            }
-            else
+            if (!dict_.readIfPresent("beta",beta_))
             {
                 calculateBetaTetha();
             }
@@ -221,19 +220,16 @@ void Foam::solarCalculator::init()
                 (1.0 - 0.75*pow(skyCloudCoverFraction_, 3.0))
               * A_/exp(B_/sin(beta_));
 
-            groundReflectivity_ =
-                readScalar(dict_.lookup("groundReflectivity"));
-
+            dict_.readEntry("groundReflectivity", groundReflectivity_);
             break;
         }
         case mSunLoadTheoreticalMaximum:
         {
-            Setrn_ = readScalar(dict_.lookup("Setrn"));
-            SunPrime_ = readScalar(dict_.lookup("SunPrime"));
+            dict_.readEntry("Setrn", Setrn_);
+            dict_.readEntry("SunPrime", SunPrime_);
             directSolarRad_ = Setrn_*SunPrime_;
 
-            groundReflectivity_ =
-                readScalar(dict_.lookup("groundReflectivity"));
+            dict_.readEntry("groundReflectivity", groundReflectivity_);
             break;
         }
     }
diff --git a/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModelNew.C b/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModelNew.C
index a9af94a66f..9304ab7505 100644
--- a/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModelNew.C
+++ b/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModelNew.C
@@ -37,10 +37,8 @@ Foam::radiation::sootModel::New
 {
     word modelType("none");
 
-    if (dict.found("sootModel"))
+    if (dict.readIfPresent("sootModel", modelType))
     {
-        dict.lookup("sootModel") >> modelType;
-
         Info<< "Selecting sootModel " << modelType << endl;
     }
 
diff --git a/src/thermophysicalModels/radiation/submodels/transmissivityModel/multiBandSolidTransmissivity/multiBandSolidTransmissivity.C b/src/thermophysicalModels/radiation/submodels/transmissivityModel/multiBandSolidTransmissivity/multiBandSolidTransmissivity.C
index 1db1944b91..e1aaf73cf5 100644
--- a/src/thermophysicalModels/radiation/submodels/transmissivityModel/multiBandSolidTransmissivity/multiBandSolidTransmissivity.C
+++ b/src/thermophysicalModels/radiation/submodels/transmissivityModel/multiBandSolidTransmissivity/multiBandSolidTransmissivity.C
@@ -57,7 +57,7 @@ Foam::radiation::multiBandSolidTransmissivity::multiBandSolidTransmissivity
     tauCoeffs_(),
     nBands_(0)
 {
-    coeffsDict_.lookup("transmissivity") >> tauCoeffs_;
+    coeffsDict_.readEntry("transmissivity", tauCoeffs_);
     nBands_ = tauCoeffs_.size();
 }
 
diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C
index 0d030b585e..afe555a764 100644
--- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C
+++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C
@@ -865,19 +865,15 @@ Foam::chemkinReader::chemkinReader
         Info<< "Reading CHEMKIN thermo data in new file format" << endl;
     }
 
-    fileName chemkinFile(fileName(thermoDict.lookup("CHEMKINFile")).expand());
+    fileName chemkinFile(thermoDict.get<fileName>("CHEMKINFile"));
+    chemkinFile.expand();
 
     fileName thermoFile = fileName::null;
+    thermoDict.readIfPresent("CHEMKINThermoFile", thermoFile);
+    thermoFile.expand();
 
-    if (thermoDict.found("CHEMKINThermoFile"))
-    {
-        thermoFile = fileName(thermoDict.lookup("CHEMKINThermoFile")).expand();
-    }
-
-    fileName transportFile
-    (
-        fileName(thermoDict.lookup("CHEMKINTransportFile")).expand()
-    );
+    fileName transportFile(thermoDict.get<fileName>("CHEMKINTransportFile"));
+    transportFile.expand();
 
     // allow relative file names
     fileName relPath = thermoDict.name().path();
diff --git a/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyEfficiencies/thirdBodyEfficienciesI.H b/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyEfficiencies/thirdBodyEfficienciesI.H
index bcec76284b..f2f87bccae 100644
--- a/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyEfficiencies/thirdBodyEfficienciesI.H
+++ b/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyEfficiencies/thirdBodyEfficienciesI.H
@@ -55,9 +55,9 @@ inline Foam::thirdBodyEfficiencies::thirdBodyEfficiencies
     scalarList(species.size()),
     species_(species)
 {
-    if (dict.found("coeffs"))
+    List<Tuple2<word, scalar>> coeffs;
+    if (dict.readIfPresent("coeffs", coeffs))
     {
-        List<Tuple2<word, scalar>> coeffs(dict.lookup("coeffs"));
         if (coeffs.size() != species_.size())
         {
             FatalErrorInFunction
@@ -73,7 +73,7 @@ inline Foam::thirdBodyEfficiencies::thirdBodyEfficiencies
     }
     else
     {
-        scalar defaultEff = readScalar(dict.lookup("defaultEfficiency"));
+        scalar defaultEff = dict.get<scalar>("defaultEfficiency");
         scalarList::operator=(defaultEff);
     }
 }
-- 
GitLab