diff --git a/src/thermophysicalModels/radiationModels/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.C b/src/thermophysicalModels/radiationModels/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.C
index 642d2aeee876b10d0585e87f88b9409747ac217e..1b1d55c8a74c5638690f9d1ff1e5301e84856e81 100644
--- a/src/thermophysicalModels/radiationModels/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.C
+++ b/src/thermophysicalModels/radiationModels/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.C
@@ -128,10 +128,14 @@ greyDiffusiveViewFactorFixedValueFvPatchScalarField
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-
 void Foam::radiation::greyDiffusiveViewFactorFixedValueFvPatchScalarField::
 updateCoeffs()
 {
+    if (this->updated())
+    {
+        return;
+    }
+
     // Do nothing
 
     if (debug)
@@ -149,6 +153,7 @@ updateCoeffs()
             << endl;
     }
 
+    fixedValueFvPatchScalarField::updateCoeffs();
 }
 
 
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C
index c747a97b84ed39d242c33e4e832f2999287f38a3..116bfc9c2534b5b906b2491b5eda97f170767665 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C
@@ -142,6 +142,8 @@ void convectiveHeatTransferFvPatchScalarField::updateCoeffs()
             htc[faceI] = 0.037*pow(Re, 0.8)*cbrt(Pr[faceI])*kappaw[faceI]/L_;
         }
     }
+
+    fixedValueFvPatchScalarField::updateCoeffs();
 }
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C
index 51f4aae20c0e99959057fae2d03c3f01c09199d9..80aa64362a9650a281e100402a737c1135e4a1a6 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C
@@ -116,7 +116,8 @@ atmBoundaryLayerInletEpsilonFvPatchScalarField
 
     z_ /= mag(z_);
 
-    evaluate();
+    const vectorField& c = patch().Cf();
+    scalarField::operator=(pow3(Ustar_)/(kappa_*((c & z_) - zGround_ + z0_)));
 }
 
 
@@ -169,14 +170,6 @@ void atmBoundaryLayerInletEpsilonFvPatchScalarField::rmap
 }
 
 
-void atmBoundaryLayerInletEpsilonFvPatchScalarField::updateCoeffs()
-{
-    const vectorField& c = patch().Cf();
-    tmp<scalarField> coord = (c & z_);
-    scalarField::operator=(pow3(Ustar_)/(kappa_*(coord - zGround_ + z0_)));
-}
-
-
 void atmBoundaryLayerInletEpsilonFvPatchScalarField::write(Ostream& os) const
 {
     fvPatchScalarField::write(os);
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H
index c72e35372a35ee89b9ab51b2757c0b9e03d8f66d..bce9e01480943d9efa1dee778d462922219cd54e 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.H
@@ -176,7 +176,7 @@ public:
         // Access
 
             //- Return max value
-            scalarField Ustar() const
+            const scalarField& Ustar() const
             {
                 return Ustar_;
             }
@@ -204,12 +204,6 @@ public:
             );
 
 
-        // Evaluation functions
-
-            //- Update coefficients
-            virtual void updateCoeffs();
-
-
         //- Write
         virtual void write(Ostream&) const;
 };
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C
index 3a336770253fa2a5e889af75d00874a7acfafce1..e41c3904faab3366160e67e89fc972b7c5e2521a 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C
@@ -120,7 +120,25 @@ atmBoundaryLayerInletVelocityFvPatchVectorField
         Ustar_[i] = kappa_*Uref_/(log((Href_  + z0_[i])/max(z0_[i] , 0.001)));
     }
 
-    evaluate();
+    const vectorField& c = patch().Cf();
+    const scalarField coord(c & z_);
+    scalarField Un(coord.size());
+
+    forAll(coord, i)
+    {
+        if ((coord[i] - zGround_[i]) < Href_)
+        {
+            Un[i] =
+                (Ustar_[i]/kappa_)
+              * log((coord[i] - zGround_[i] + z0_[i])/max(z0_[i], 0.001));
+        }
+        else
+        {
+            Un[i] = Uref_;
+        }
+    }
+
+    vectorField::operator=(n_*Un);
 }
 
 
@@ -174,32 +192,6 @@ void atmBoundaryLayerInletVelocityFvPatchVectorField::rmap
 }
 
 
-void atmBoundaryLayerInletVelocityFvPatchVectorField::updateCoeffs()
-{
-    const vectorField& c = patch().Cf();
-    const scalarField coord(c & z_);
-    scalarField Un(coord.size());
-
-    forAll(coord, i)
-    {
-        if ((coord[i] - zGround_[i]) < Href_)
-        {
-            Un[i] =
-                (Ustar_[i]/kappa_)
-              * log((coord[i] - zGround_[i] + z0_[i])/max(z0_[i], 0.001));
-        }
-        else
-        {
-            Un[i] = Uref_;
-        }
-    }
-
-    vectorField::operator=(n_*Un);
-
-    fixedValueFvPatchVectorField::updateCoeffs();
-}
-
-
 void atmBoundaryLayerInletVelocityFvPatchVectorField::write(Ostream& os) const
 {
     fvPatchVectorField::write(os);
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H
index 68a6408f2b2acb89d7e668eb6f3369ec70d748b8..0249b7111c9a2db372087acec37396dcdc248c0b 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.H
@@ -180,23 +180,26 @@ public:
 
     // Member functions
 
-        //- Return Ustar
-        scalarField& Ustar()
-        {
-            return Ustar_;
-        }
+        // Access
 
-        //- Return flow direction
-        vector& n()
-        {
-            return n_;
-        }
+            //- Return Ustar
+            const scalarField& Ustar() const
+            {
+                return Ustar_;
+            }
+
+            //- Return flow direction
+            const vector& n() const
+            {
+                return n_;
+            }
+
+            //- Return z direction
+            const vector& z() const
+            {
+                return z_;
+            }
 
-        //- Return z direction
-        vector& z()
-        {
-            return z_;
-        }
 
         // Mapping functions
 
@@ -214,12 +217,6 @@ public:
             );
 
 
-        // Evaluation functions
-
-            //- Update coefficients
-            virtual void updateCoeffs();
-
-
         //- Write
         virtual void write(Ostream&) const;
 };
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/alphaSgs b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/alphaSgs
index f50fb4a4811acc8bb419841df6b4892266e0cf5c..fbf52cc809fd1f681a11db462aad5323a9bcee29 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/alphaSgs
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/alphaSgs
@@ -24,6 +24,7 @@ boundaryField
     ground
     {
         type        alphatWallFunction;
+        mut         muSgs;
         value       uniform 0;
     }
 
@@ -45,6 +46,7 @@ boundaryField
     "(region0_to.*)"
     {
         type        alphatWallFunction;
+        mut         muSgs;
         value       uniform 0;
     }
 }
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/combustionProperties b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/combustionProperties
index 08ddd33fd30cb8d542f2e918d3d42abbced33b33..355d1e1b36de89705c6e4bbbc83442721970e108 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/combustionProperties
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/combustionProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-combustionModel  infinitelyFastChemistry<psiCombustionModel,gasThermoPhysics>;
+combustionModel  infinitelyFastChemistry<psiThermoCombustion,gasThermoPhysics>;
 
 active true;
 
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/panelRegion/fvSolution b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/panelRegion/fvSolution
index 688f40489e0e2bbc1ee3882d688fd8e512ae37f9..e1d5b8db0b76425916fc4dad9c44280d248054df 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/panelRegion/fvSolution
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/panelRegion/fvSolution
@@ -32,7 +32,7 @@ solvers
         relTol          0;
     }
 
-    "rho|rhot"
+    rhoThermo
     {
         solver          PCG;
         preconditioner  DIC;
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/combustionProperties b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/combustionProperties
index ae740ee671628904d6f4bd036b687c875c447197..9973e9ad7bd3116fb77e82071b76dbe158ee3dac 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/combustionProperties
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/combustionProperties
@@ -15,9 +15,9 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-//combustionModel  noCombustion<psiCombustionModel>;
-combustionModel  infinitelyFastChemistry<psiCombustionModel,gasThermoPhysics>;
-//combustionModel  FSD<psiCombustionModel,gasThermoPhysics>;
+//combustionModel  noCombustion<psiThermoCombustion>;
+combustionModel  infinitelyFastChemistry<psiThermoCombustion,gasThermoPhysics>;
+//combustionModel  FSD<psiThermoCombustion,gasThermoPhysics>;
 
 active  true;
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/combustionProperties b/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/combustionProperties
index 62192a7bd7d9f0d42915346b17fe59b69aa20fab..cfa2cd8f2878e897442f38ef48cafe2c59e25c29 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/combustionProperties
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/combustionProperties
@@ -16,7 +16,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-combustionModel  infinitelyFastChemistry<psiCombustionModel,gasThermoPhysics>;
+combustionModel  infinitelyFastChemistry<psiThermoCombustion,gasThermoPhysics>;
 
 active  on;
 
diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary
index a664893343e7216491ca9913ee0171ee31980aba..0abd1608aba0dcb6aa66c9488133a3c4b51c7588 100644
--- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary
+++ b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary
@@ -8,7 +8,7 @@
 FoamFile
 {
     version     2.0;
-    format      binary;
+    format      ascii;
     class       polyBoundaryMesh;
     location    "constant/polyMesh";
     object      boundary;
diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties
index dd688c1b3f6fc1fa373bd43b956fb070086bb373..abc41fb6ce064b8634e4bef5b362dd9fa8a5250f 100644
--- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType hePsiThermo<pureMixture<sutherlandTransport<specieThermo<eConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
+thermoType heRhoThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
 
 mixture
 {
@@ -26,7 +26,7 @@ mixture
     }
     thermodynamics
     {
-        Cv          719.3;
+        Cp          1005;
         Hf          0;
     }
     transport
diff --git a/tutorials/compressible/rhoSimplecFoam/squareBend/constant/thermophysicalProperties b/tutorials/compressible/rhoSimplecFoam/squareBend/constant/thermophysicalProperties
index dd688c1b3f6fc1fa373bd43b956fb070086bb373..152335489611da2689fe9952c1be3193d416044b 100644
--- a/tutorials/compressible/rhoSimplecFoam/squareBend/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoSimplecFoam/squareBend/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType hePsiThermo<pureMixture<sutherlandTransport<specieThermo<eConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
+thermoType hePsiThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
 
 mixture
 {
@@ -26,7 +26,7 @@ mixture
     }
     thermodynamics
     {
-        Cv          719.3;
+        Cp          1007;
         Hf          0;
     }
     transport
diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties
index 76fd63c9b786bc22e65426b91b9089be1f72c961..f409900f934dcb1c4684cac3e499fe91036d3bdb 100644
--- a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties
+++ b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<specieThermo<eConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
 
 mixture
 {
@@ -26,7 +26,7 @@ mixture
     }
     thermodynamics
     {
-        Cv              717.5;
+        Cp              1005;
         Hf              0;
     }
     transport
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties
index b302f7e0402bfcea404e1c0ea3a22e9912f9b457..e2a082466118c9c0e5a74eac99e87b08eb6d668d 100644
--- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties
+++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<specieThermo<eConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
 
 mixture
 {
@@ -26,7 +26,7 @@ mixture
     }
     thermodynamics
     {
-        Cv              717.5;
+        Cp              1005;
         Hf              0;
     }
     transport
diff --git a/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties
index b302f7e0402bfcea404e1c0ea3a22e9912f9b457..e2a082466118c9c0e5a74eac99e87b08eb6d668d 100644
--- a/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties
+++ b/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<specieThermo<eConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
 
 mixture
 {
@@ -26,7 +26,7 @@ mixture
     }
     thermodynamics
     {
-        Cv              717.5;
+        Cp              1005;
         Hf              0;
     }
     transport
diff --git a/tutorials/incompressible/pimpleDyMFoam/propeller/system/changeDictionaryDict b/tutorials/incompressible/pimpleDyMFoam/propeller/system/changeDictionaryDict
deleted file mode 100644
index 3eb586f14091d5eb54077e2ad6f4417060d13b6e..0000000000000000000000000000000000000000
--- a/tutorials/incompressible/pimpleDyMFoam/propeller/system/changeDictionaryDict
+++ /dev/null
@@ -1,42 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       dictionary;
-    object      changeDictionaryDict;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-dictionaryReplacement
-{
-    boundary
-    {
-        AMI1
-        {
-            type            cyclicAMI;
-            neighbourPatch  AMI2;
-            transform       noOrdering;
-            surface         
-            {
-            }
-        }
-        AMI2
-        {
-            type            cyclicAMI;
-            neighbourPatch  AMI1;
-            transform       noOrdering;
-            surface         
-            {
-            }
-        }
-    }
-}
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/turbineSiting/system/fvSchemes b/tutorials/incompressible/simpleFoam/turbineSiting/system/fvSchemes
index e3d9959b1f2be07bda27a3a20d859ba7a0604725..4c101301a10b3092838b386bbbf2b4441310c6c3 100644
--- a/tutorials/incompressible/simpleFoam/turbineSiting/system/fvSchemes
+++ b/tutorials/incompressible/simpleFoam/turbineSiting/system/fvSchemes
@@ -16,20 +16,18 @@ FoamFile
 
 ddtSchemes
 {
-    default            steadyState;
+    default             steadyState;
 }
 
 gradSchemes
 {
-    default            Gauss linear;
-    grad(p)             Gauss linear;
-    grad(U)             Gauss linear;
+    default             Gauss linear;
 }
 
 divSchemes
 {
     default             none;
-    div(phi,U)          Gauss upwind grad(U);
+    div(phi,U)          Gauss upwind;
     div((nuEff*dev(T(grad(U)))))    Gauss linear;
     div(phi,epsilon)    Gauss upwind;
     div(phi,k)          Gauss upwind;