diff --git a/applications/solvers/compressible/rhoSimpleFoam/createFields.H b/applications/solvers/compressible/rhoSimpleFoam/createFields.H
index 80f317cd855641711eae395a84020177dd58266c..61cea5c2e51fc4269ca40a742fc26b0ccf71dc89 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/createFields.H
+++ b/applications/solvers/compressible/rhoSimpleFoam/createFields.H
@@ -69,9 +69,9 @@ dimensionedScalar rhoMin
 );
 
 Info<< "Creating turbulence model\n" << endl;
-autoPtr<compressible::RASModel> turbulence
+autoPtr<compressible::turbulenceModel> turbulence
 (
-    compressible::New<compressible::RASModel>
+    compressible::turbulenceModel::New
     (
         rho,
         U,
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createFields.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createFields.H
index 537eea2ea3754cbaf5fe61a4a1b5f1ac5bd772e8..2fe0e53dbc267f07da3b0c1334c3457aa8eddd1c 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createFields.H
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createFields.H
@@ -68,9 +68,9 @@ dimensionedScalar rhoMin
 );
 
 Info<< "Creating turbulence model\n" << endl;
-autoPtr<compressible::RASModel> turbulence
+autoPtr<compressible::turbulenceModel> turbulence
 (
-    compressible::New<compressible::RASModel>
+    compressible::turbulenceModel::New
     (
         rho,
         U,
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/createFields.H b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/createFields.H
index b8d07b1f1af76d663fec38173d843392a8cc699a..0916e2788d9412b35e6df9c2b8e4e9eb06fc48c9 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/createFields.H
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/createFields.H
@@ -47,9 +47,9 @@ volVectorField U
 #include "readTransportProperties.H"
 
 Info<< "Creating turbulence model\n" << endl;
-autoPtr<incompressible::RASModel> turbulence
+autoPtr<incompressible::turbulenceModel> turbulence
 (
-    incompressible::New<incompressible::RASModel>(U, phi, laminarTransport)
+    incompressible::turbulenceModel::New(U, phi, laminarTransport)
 );
 
 // Kinematic density for buoyancy force
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/createFields.H b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/createFields.H
index 014bf8045cce74156f39073ed08ae39f2c216c83..e78daa67b3044a3e314d50f851ade362508d7838 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/createFields.H
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/createFields.H
@@ -47,9 +47,9 @@ volVectorField U
 #include "readTransportProperties.H"
 
 Info<< "Creating turbulence model\n" << endl;
-autoPtr<incompressible::RASModel> turbulence
+autoPtr<incompressible::turbulenceModel> turbulence
 (
-    incompressible::New<incompressible::RASModel>(U, phi, laminarTransport)
+    incompressible::turbulenceModel::New(U, phi, laminarTransport)
 );
 
 // Kinematic density for buoyancy force
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H b/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H
index d7cf3eb704d2008a6c5d671d24ff7c701977a57e..35c6c59560e7c4c2da2100724b58b883ceed10e6 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H
@@ -37,9 +37,9 @@ volVectorField U
 #include "compressibleCreatePhi.H"
 
 Info<< "Creating turbulence model\n" << endl;
-autoPtr<compressible::RASModel> turbulence
+autoPtr<compressible::turbulenceModel> turbulence
 (
-    compressible::New<compressible::RASModel>
+    compressible::turbulenceModel::New
     (
         rho,
         U,
diff --git a/applications/solvers/heatTransfer/thermoFoam/setAlphaEff.H b/applications/solvers/heatTransfer/thermoFoam/setAlphaEff.H
index 4af3af3ce4cc5c2beda1ae34b052aa48584db3ef..fff960526fe8e78c16e6dd01b43b148868d21205 100644
--- a/applications/solvers/heatTransfer/thermoFoam/setAlphaEff.H
+++ b/applications/solvers/heatTransfer/thermoFoam/setAlphaEff.H
@@ -1,31 +1,17 @@
     Info<< "Creating turbulence model\n" << endl;
     tmp<volScalarField> talphaEff;
 
-    IOobject turbulenceHeader
+    IOobject turbulencePropertiesHeader
     (
         "turbulenceProperties",
         runTime.constant(),
         mesh,
-        IOobject::MUST_READ
+        IOobject::MUST_READ_IF_MODIFIED,
+        IOobject::NO_WRITE,
+        false
     );
 
-    IOobject RASHeader
-    (
-        "RASProperties",
-        runTime.constant(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    IOobject LESHeader
-    (
-        "LESProperties",
-        runTime.constant(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    if (turbulenceHeader.headerOk())
+    if (turbulencePropertiesHeader.headerOk())
     {
         autoPtr<compressible::turbulenceModel> turbulence
         (
@@ -40,36 +26,6 @@
 
         talphaEff = turbulence->alphaEff();
     }
-    else if (RASHeader.headerOk())
-    {
-        autoPtr<compressible::RASModel> turbulence
-        (
-            compressible::New<compressible::RASModel>
-            (
-                rho,
-                U,
-                phi,
-                thermo
-            )
-        );
-
-        talphaEff = turbulence->alphaEff();
-    }
-    else if (LESHeader.headerOk())
-    {
-        autoPtr<compressible::LESModel> turbulence
-        (
-            compressible::New<compressible::LESModel>
-            (
-                rho,
-                U,
-                phi,
-                thermo
-            )
-        );
-
-        talphaEff = turbulence->alphaEff();
-    }
     else
     {
         talphaEff = tmp<volScalarField>
diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/createFields.H b/applications/solvers/incompressible/adjointShapeOptimizationFoam/createFields.H
index cb7da73687187509e5fad7d48801c4acc5c6fb68..93da72123d65d759c4b0b5f94652471b1d6b4925 100644
--- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/createFields.H
+++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/createFields.H
@@ -80,9 +80,9 @@ mesh.setFluxRequired(pa.name());
 
 singlePhaseTransportModel laminarTransport(U, phi);
 
-autoPtr<incompressible::RASModel> turbulence
+autoPtr<incompressible::turbulenceModel> turbulence
 (
-    incompressible::New<incompressible::RASModel>(U, phi, laminarTransport)
+    incompressible::turbulenceModel::New(U, phi, laminarTransport)
 );
 
 
diff --git a/applications/solvers/incompressible/boundaryFoam/createFields.H b/applications/solvers/incompressible/boundaryFoam/createFields.H
index 5ecfebfcb4023a49a58c535e41d609d63853da04..0298c8339c03234b02226c206b42ab8eb276c353 100644
--- a/applications/solvers/incompressible/boundaryFoam/createFields.H
+++ b/applications/solvers/incompressible/boundaryFoam/createFields.H
@@ -31,9 +31,9 @@ surfaceScalarField phi
 
 singlePhaseTransportModel laminarTransport(U, phi);
 
-autoPtr<incompressible::RASModel> turbulence
+autoPtr<incompressible::turbulenceModel> turbulence
 (
-    incompressible::New<incompressible::RASModel>(U, phi, laminarTransport)
+    incompressible::turbulenceModel::New(U, phi, laminarTransport)
 );
 
 dimensionedVector Ubar("Ubar", dimVelocity, laminarTransport);