diff --git a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C
index fd5f0968981db237ca8b4124cac3128e23ee9c65..c0600bd97c4afc124d10ddc6eeaafc3f674c4c51 100644
--- a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C
+++ b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C
@@ -430,10 +430,7 @@ Type max(const FieldField<Field, Type>& f)
     }
     else
     {
-        WarningIn("max(const FieldField<Field, Type>&) const")
-            << "empty fieldField, returning zero" << endl;
-
-        return pTraits<Type>::zero;
+        return pTraits<Type>::min;
     }
 }
 
@@ -464,10 +461,7 @@ Type min(const FieldField<Field, Type>& f)
     }
     else
     {
-        WarningIn("min(const FieldField<Field, Type>&) const")
-            << "empty fieldField, returning zero" << endl;
-
-        return pTraits<Type>::zero;
+        return pTraits<Type>::max;
     }
 }
 
diff --git a/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C b/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C
index ea1debc235914a7302eab63ca2ee55a900b29933..b000421d76a38286a276bba359484ab80df78f7b 100644
--- a/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C
+++ b/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C
@@ -319,10 +319,7 @@ Type max(const UList<Type>& f)
     }
     else
     {
-        WarningIn("max(const UList<Type>&)")
-            << "empty field, returning zero" << endl;
-
-        return pTraits<Type>::zero;
+        return pTraits<Type>::min;
     }
 }
 
@@ -339,10 +336,7 @@ Type min(const UList<Type>& f)
     }
     else
     {
-        WarningIn("min(const UList<Type>&)")
-            << "empty field, returning zero" << endl;
-
-        return pTraits<Type>::zero;
+        return pTraits<Type>::max;
     }
 }
 
diff --git a/src/OpenFOAM/primitives/DiagTensor/DiagTensor.H b/src/OpenFOAM/primitives/DiagTensor/DiagTensor.H
index a425ab1b106c2024b9393d5afa363ee9c9556bec..035551a240f3da75098108ca7c46ced13ec55dbc 100644
--- a/src/OpenFOAM/primitives/DiagTensor/DiagTensor.H
+++ b/src/OpenFOAM/primitives/DiagTensor/DiagTensor.H
@@ -71,6 +71,8 @@ public:
         static const char* componentNames[];
         static const DiagTensor zero;
         static const DiagTensor one;
+        static const DiagTensor max;
+        static const DiagTensor min;
 
 
     //- Component labeling enumeration
diff --git a/src/OpenFOAM/primitives/Scalar/Scalar.C b/src/OpenFOAM/primitives/Scalar/Scalar.C
index 4593405cd5cce314ed3b1f1c06b8e586ecb341b4..86087309cb0a2b466d993e536a6da3da438babdd 100644
--- a/src/OpenFOAM/primitives/Scalar/Scalar.C
+++ b/src/OpenFOAM/primitives/Scalar/Scalar.C
@@ -34,6 +34,8 @@ namespace Foam
 const char* const pTraits<Scalar>::typeName = "scalar";
 const Scalar pTraits<Scalar>::zero = 0.0;
 const Scalar pTraits<Scalar>::one = 1.0;
+const Scalar pTraits<Scalar>::max = ScalarVGREAT;
+const Scalar pTraits<Scalar>::min = -ScalarVGREAT;
 
 const char* pTraits<Scalar>::componentNames[] = { "x" };
 
@@ -45,7 +47,6 @@ pTraits<Scalar>::pTraits(Istream& is)
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-//- return a string representation of a Scalar
 word name(const Scalar s)
 {
     std::ostringstream osBuffer;
diff --git a/src/OpenFOAM/primitives/Scalar/Scalar.H b/src/OpenFOAM/primitives/Scalar/Scalar.H
index 5e2fbc0a26d57f5aa9dd2fb11e9035a16e9ca061..365a7f017eb0e9e631a2b8f77d6aacc87c0101c5 100644
--- a/src/OpenFOAM/primitives/Scalar/Scalar.H
+++ b/src/OpenFOAM/primitives/Scalar/Scalar.H
@@ -61,6 +61,8 @@ public:
         static const char* componentNames[];
         static const Scalar zero;
         static const Scalar one;
+        static const Scalar max;
+        static const Scalar min;
 
     // Constructors
 
diff --git a/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.C b/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.C
index a3bcf71c99916b17746af64d9e0480e07da97e59..6fb4d3732079a12fcde01430469c5d70afca0343 100644
--- a/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.C
+++ b/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.C
@@ -32,10 +32,12 @@ License
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #define Scalar doubleScalar
+#define ScalarVGREAT doubleScalarVGREAT
 #define ScalarVSMALL doubleScalarVSMALL
 #define readScalar readDoubleScalar
 #include "Scalar.C"
 #undef Scalar
+#undef ScalarVGREAT
 #undef ScalarVSMALL
 #undef readScalar
 
diff --git a/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.H b/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.H
index 640918c8134fac0857f625a947d2b13406a4b6df..ff4db3393b4b5b02af1dd2fac68abb3838af3172 100644
--- a/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.H
+++ b/src/OpenFOAM/primitives/Scalar/doubleScalar/doubleScalar.H
@@ -61,6 +61,7 @@ static const doubleScalar doubleScalarROOTVSMALL = 1.0e-150;
 
 
 #define Scalar doubleScalar
+#define ScalarVGREAT doubleScalarVGREAT
 #define ScalarVSMALL doubleScalarVSMALL
 #define readScalar readDoubleScalar
 
@@ -98,6 +99,7 @@ inline Scalar yn(const int n, const Scalar s)
 }
 
 #undef Scalar
+#undef ScalarVGREAT
 #undef ScalarVSMALL
 #undef readScalar
 #undef transFunc
diff --git a/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.C b/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.C
index 5355dc9d8979fa180c340fc1d2fae9ea01f52f70..d5488cebd3f2d55e8e644aa9e0846555c7ded44f 100644
--- a/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.C
+++ b/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.C
@@ -32,11 +32,13 @@ License
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #define Scalar floatScalar
+#define ScalarVGREAT floatScalarVGREAT
 #define ScalarVSMALL floatScalarVSMALL
 #define readScalar readFloatScalar
 #include "Scalar.C"
 #undef Scalar
 #undef ScalarVSMALL
+#undef ScalarVSMALL
 #undef readScalar
 
 // ************************************************************************* //
diff --git a/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.H b/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.H
index 7ae47138a7dd98b4c7d4d5174d21e4a201a3b04b..99537311ce27889fd37125b54a06dd787fc965f0 100644
--- a/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.H
+++ b/src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.H
@@ -61,6 +61,7 @@ static const floatScalar floatScalarROOTVSMALL = 1.0e-18;
 
 
 #define Scalar floatScalar
+#define ScalarVGREAT floatScalarVGREAT
 #define ScalarVSMALL floatScalarVSMALL
 #define readScalar readFloatScalar
 
@@ -98,6 +99,7 @@ inline Scalar yn(const int n, const Scalar s)
 }
 
 #undef Scalar
+#undef ScalarVGREAT
 #undef ScalarVSMALL
 #undef readScalar
 #undef transFunc
diff --git a/src/OpenFOAM/primitives/SphericalTensor/SphericalTensor.H b/src/OpenFOAM/primitives/SphericalTensor/SphericalTensor.H
index e0698ba7f0fd0caa250951bbb12865012bcf3820..56c51a48d8b8be3f361aced6a32564b1b8c1dae2 100644
--- a/src/OpenFOAM/primitives/SphericalTensor/SphericalTensor.H
+++ b/src/OpenFOAM/primitives/SphericalTensor/SphericalTensor.H
@@ -75,6 +75,8 @@ public:
         static const char* componentNames[];
         static const SphericalTensor zero;
         static const SphericalTensor one;
+        static const SphericalTensor max;
+        static const SphericalTensor min;
         static const SphericalTensor I;
         static const SphericalTensor oneThirdI;
         static const SphericalTensor twoThirdsI;
diff --git a/src/OpenFOAM/primitives/SphericalTensor2D/SphericalTensor2D.H b/src/OpenFOAM/primitives/SphericalTensor2D/SphericalTensor2D.H
index 8e5adcabf47855de51887b9492018df2bccbcf9a..03ba8598012aa39f95ee879682c9a7860c4c4e4b 100644
--- a/src/OpenFOAM/primitives/SphericalTensor2D/SphericalTensor2D.H
+++ b/src/OpenFOAM/primitives/SphericalTensor2D/SphericalTensor2D.H
@@ -71,6 +71,8 @@ public:
         static const char* componentNames[];
         static const SphericalTensor2D zero;
         static const SphericalTensor2D one;
+        static const SphericalTensor2D max;
+        static const SphericalTensor2D min;
         static const SphericalTensor2D I;
         static const SphericalTensor2D oneThirdI;
         static const SphericalTensor2D twoThirdsI;
diff --git a/src/OpenFOAM/primitives/SymmTensor/SymmTensor.H b/src/OpenFOAM/primitives/SymmTensor/SymmTensor.H
index efb76e2f8725df46a1e3c36009e1c854fa2529ca..e43a0d741d7b7a3c44be8571bad9e85acfb7cae2 100644
--- a/src/OpenFOAM/primitives/SymmTensor/SymmTensor.H
+++ b/src/OpenFOAM/primitives/SymmTensor/SymmTensor.H
@@ -78,6 +78,8 @@ public:
 
         static const SymmTensor zero;
         static const SymmTensor one;
+        static const SymmTensor max;
+        static const SymmTensor min;
 
 
     //- Component labeling enumeration
diff --git a/src/OpenFOAM/primitives/Tensor/Tensor.H b/src/OpenFOAM/primitives/Tensor/Tensor.H
index ea4e5d72b19dccf28c2f9774733683547601ff10..305829c16de4c91f3684158412b13df49891e26b 100644
--- a/src/OpenFOAM/primitives/Tensor/Tensor.H
+++ b/src/OpenFOAM/primitives/Tensor/Tensor.H
@@ -79,6 +79,8 @@ public:
 
         static const Tensor zero;
         static const Tensor one;
+        static const Tensor max;
+        static const Tensor min;
 
 
     //- Component labeling enumeration
diff --git a/src/OpenFOAM/primitives/Tensor2D/Tensor2D.H b/src/OpenFOAM/primitives/Tensor2D/Tensor2D.H
index 1f2e629761b1baca7ec6b32a9a9d9d6bc85bc120..f3c5d30e64447e31f588dd1aca56a008e4e96524 100644
--- a/src/OpenFOAM/primitives/Tensor2D/Tensor2D.H
+++ b/src/OpenFOAM/primitives/Tensor2D/Tensor2D.H
@@ -74,6 +74,9 @@ public:
 
         static const Tensor2D zero;
         static const Tensor2D one;
+        static const Tensor2D max;
+        static const Tensor2D min;
+
 
     //- Component labeling enumeration
     enum components { XX, XY, YX, YY };
diff --git a/src/OpenFOAM/primitives/Vector/Vector.H b/src/OpenFOAM/primitives/Vector/Vector.H
index bc1af5db057c6ab23a97146530919bac2bf0dbb7..c9d7de528681749f0b463d9b5b9e9f9000d7cd11 100644
--- a/src/OpenFOAM/primitives/Vector/Vector.H
+++ b/src/OpenFOAM/primitives/Vector/Vector.H
@@ -81,6 +81,8 @@ public:
         static const char* componentNames[];
         static const Vector zero;
         static const Vector one;
+        static const Vector max;
+        static const Vector min;
 
 
     //- Component labeling enumeration
diff --git a/src/OpenFOAM/primitives/Vector2D/Vector2D.H b/src/OpenFOAM/primitives/Vector2D/Vector2D.H
index 496c44339298be985bfa3f7194b04e87c91ec979..392c5ba70bd147a9a0c5e132d5b1d304b56d3950 100644
--- a/src/OpenFOAM/primitives/Vector2D/Vector2D.H
+++ b/src/OpenFOAM/primitives/Vector2D/Vector2D.H
@@ -71,6 +71,8 @@ public:
         static const char* componentNames[];
         static const Vector2D zero;
         static const Vector2D one;
+        static const Vector2D max;
+        static const Vector2D min;
 
 
     //- Component labeling enumeration
diff --git a/src/OpenFOAM/primitives/diagTensor/diagTensor.C b/src/OpenFOAM/primitives/diagTensor/diagTensor.C
index 3e95d75970123d53b2a2779aa0a0eef6fd4e90fc..7cc498b12c285d0b15cc50f7c4e084af45c609e4 100644
--- a/src/OpenFOAM/primitives/diagTensor/diagTensor.C
+++ b/src/OpenFOAM/primitives/diagTensor/diagTensor.C
@@ -48,6 +48,12 @@ const diagTensor diagTensor::zero(0, 0, 0);
 template<>
 const diagTensor diagTensor::one(1, 1, 1);
 
+template<>
+const diagTensor diagTensor::max(VGREAT, VGREAT, VGREAT);
+
+template<>
+const diagTensor diagTensor::min(-VGREAT, -VGREAT, -VGREAT);
+
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/primitives/label/label.C b/src/OpenFOAM/primitives/label/label.C
index 5d4d7dd2bb63db7ddc649e92694bbfa43c9e2d3e..38217bd6b2e0e4a57fd813de35e206849b5f18a4 100644
--- a/src/OpenFOAM/primitives/label/label.C
+++ b/src/OpenFOAM/primitives/label/label.C
@@ -22,9 +22,6 @@ License
     along with OpenFOAM; if not, write to the Free Software Foundation,
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
-Description
-
-
 \*---------------------------------------------------------------------------*/
 
 #include "error.H"
@@ -40,6 +37,8 @@ namespace Foam
 const char* const pTraits<label>::typeName = "label";
 const label pTraits<label>::zero = 0;
 const label pTraits<label>::one = 1;
+const label pTraits<label>::max = labelMax;
+const label pTraits<label>::min = labelMin;
 
 const char* pTraits<label>::componentNames[] = { "x" };
 
diff --git a/src/OpenFOAM/primitives/label/label.H b/src/OpenFOAM/primitives/label/label.H
index d83cd7b08e9595b049f5afa7e1e58ddbda8a7437..f9c523be3df622871410f48b4cf2fd042db46141 100644
--- a/src/OpenFOAM/primitives/label/label.H
+++ b/src/OpenFOAM/primitives/label/label.H
@@ -150,6 +150,8 @@ public:
         static const char* componentNames[];
         static const label zero;
         static const label one;
+        static const label max;
+        static const label min;
 
     // Constructors
 
diff --git a/src/OpenFOAM/primitives/sphericalTensor/sphericalTensor.C b/src/OpenFOAM/primitives/sphericalTensor/sphericalTensor.C
index 7943dea5ccf90fd009efc9862570b5937eb71809..2e74cb70ce728df1295f89e427614236273cb279 100644
--- a/src/OpenFOAM/primitives/sphericalTensor/sphericalTensor.C
+++ b/src/OpenFOAM/primitives/sphericalTensor/sphericalTensor.C
@@ -45,6 +45,12 @@ const sphericalTensor sphericalTensor::zero(0);
 template<>
 const sphericalTensor sphericalTensor::one(1);
 
+template<>
+const sphericalTensor sphericalTensor::max(VGREAT);
+
+template<>
+const sphericalTensor sphericalTensor::min(-VGREAT);
+
 template<>
 const sphericalTensor sphericalTensor::I(1);
 
diff --git a/src/OpenFOAM/primitives/sphericalTensor2D/sphericalTensor2D.C b/src/OpenFOAM/primitives/sphericalTensor2D/sphericalTensor2D.C
index 974aa6278bee6b283d8ab4fd2f9d646fca24641a..f5fa54eb2f1c4711cd4577bbfe2a57408eeef96b 100644
--- a/src/OpenFOAM/primitives/sphericalTensor2D/sphericalTensor2D.C
+++ b/src/OpenFOAM/primitives/sphericalTensor2D/sphericalTensor2D.C
@@ -45,6 +45,12 @@ const sphericalTensor2D sphericalTensor2D::zero(0);
 template<>
 const sphericalTensor2D sphericalTensor2D::one(1);
 
+template<>
+const sphericalTensor2D sphericalTensor2D::max(VGREAT);
+
+template<>
+const sphericalTensor2D sphericalTensor2D::min(-VGREAT);
+
 template<>
 const sphericalTensor2D sphericalTensor2D::I(1);
 
diff --git a/src/OpenFOAM/primitives/symmTensor/symmTensor.C b/src/OpenFOAM/primitives/symmTensor/symmTensor.C
index c9faf9aa1ef5b538bdddec5108c088aebf6fd7c7..f5a56a3d86ede938e0a5ff26526a3a5862969ac9 100644
--- a/src/OpenFOAM/primitives/symmTensor/symmTensor.C
+++ b/src/OpenFOAM/primitives/symmTensor/symmTensor.C
@@ -61,6 +61,22 @@ const symmTensor symmTensor::one
           1
 );
 
+template<>
+const symmTensor symmTensor::max
+(
+    VGREAT, VGREAT, VGREAT,
+       VGREAT, VGREAT,
+          VGREAT
+);
+
+template<>
+const symmTensor symmTensor::min
+(
+    -VGREAT, -VGREAT, -VGREAT,
+       -VGREAT, -VGREAT,
+          -VGREAT
+);
+
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/primitives/tensor/tensor.C b/src/OpenFOAM/primitives/tensor/tensor.C
index d8236547b610458cd4d57bac160ef399329133b2..f36589312565a9fc26d72a16299371e1b5af59d0 100644
--- a/src/OpenFOAM/primitives/tensor/tensor.C
+++ b/src/OpenFOAM/primitives/tensor/tensor.C
@@ -61,6 +61,22 @@ const tensor tensor::one
     1, 1, 1
 );
 
+template<>
+const tensor tensor::max
+(
+    VGREAT, VGREAT, VGREAT,
+    VGREAT, VGREAT, VGREAT,
+    VGREAT, VGREAT, VGREAT
+);
+
+template<>
+const tensor tensor::min
+(
+    -VGREAT, -VGREAT, -VGREAT,
+    -VGREAT, -VGREAT, -VGREAT,
+    -VGREAT, -VGREAT, -VGREAT
+);
+
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/primitives/tensor2D/tensor2D.C b/src/OpenFOAM/primitives/tensor2D/tensor2D.C
index 25f361f69588ba7de59cb91eb075ec0b6e7b4f84..e782cd0fea8d516c3ea07504b310cf06d2e368ba 100644
--- a/src/OpenFOAM/primitives/tensor2D/tensor2D.C
+++ b/src/OpenFOAM/primitives/tensor2D/tensor2D.C
@@ -58,6 +58,20 @@ const tensor2D tensor2D::one
     1, 1
 );
 
+template<>
+const tensor2D tensor2D::max
+(
+    VGREAT, VGREAT,
+    VGREAT, VGREAT
+);
+
+template<>
+const tensor2D tensor2D::min
+(
+    -VGREAT, -VGREAT,
+    -VGREAT, -VGREAT
+);
+
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/primitives/uLabel/uLabel.C b/src/OpenFOAM/primitives/uLabel/uLabel.C
index b4e72c18a60d7c1c33665c740fbe1b19cc2ddb5a..b005ed9fbafc890f50936f36aad99af566615a96 100644
--- a/src/OpenFOAM/primitives/uLabel/uLabel.C
+++ b/src/OpenFOAM/primitives/uLabel/uLabel.C
@@ -37,6 +37,8 @@ namespace Foam
 const char* const pTraits<uLabel>::typeName = "uLabel";
 const uLabel pTraits<uLabel>::zero = 0;
 const uLabel pTraits<uLabel>::one = 1;
+const uLabel pTraits<uLabel>::max = uLabelMax;
+const uLabel pTraits<uLabel>::min = uLabelMin;
 
 const char* pTraits<uLabel>::componentNames[] = { "x" };
 
@@ -46,9 +48,6 @@ pTraits<uLabel>::pTraits(Istream& is)
 }
 
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
diff --git a/src/OpenFOAM/primitives/uLabel/uLabel.H b/src/OpenFOAM/primitives/uLabel/uLabel.H
index 7b99b79eb1f0d836e1e1ca36e0ef2de38412c81d..97bb3e5fa2a9113e1888966f9b440fbdf6ea6620 100644
--- a/src/OpenFOAM/primitives/uLabel/uLabel.H
+++ b/src/OpenFOAM/primitives/uLabel/uLabel.H
@@ -57,6 +57,7 @@ namespace Foam
     typedef unsigned int uLabel;
 
     static const uLabel uLabelMax = UINT_MAX;
+    static const uLabel uLabelMin = 0;
 
     inline uLabel readULabel(Istream& is)
     {
@@ -77,7 +78,8 @@ namespace Foam
 {
     typedef unsigned long uLabel;
 
-    static const uLabel uLabelMax = LONG_MAX;
+    static const uLabel uLabelMax = ULONG_MAX;
+    static const uLabel uLabelMin = 0;
 
     inline uLabel readULabel(Istream& is)
     {
@@ -130,6 +132,8 @@ public:
         static const char* componentNames[];
         static const uLabel zero;
         static const uLabel one;
+        static const uLabel max;
+        static const uLabel min;
 
     // Constructors
 
diff --git a/src/OpenFOAM/primitives/vector/vector.C b/src/OpenFOAM/primitives/vector/vector.C
index 1864a7d8af66c752af200bd4f742cdb4882576de..7c2c84ae9a059872668dd3889040cde9b35d1ab4 100644
--- a/src/OpenFOAM/primitives/vector/vector.C
+++ b/src/OpenFOAM/primitives/vector/vector.C
@@ -48,6 +48,12 @@ const vector vector::zero(0, 0, 0);
 template<>
 const vector vector::one(1, 1, 1);
 
+template<>
+const vector vector::max(VGREAT, VGREAT, VGREAT);
+
+template<>
+const vector vector::min(-VGREAT, -VGREAT, -VGREAT);
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
diff --git a/src/OpenFOAM/primitives/vector2D/vector2D.C b/src/OpenFOAM/primitives/vector2D/vector2D.C
index da5a2ec532035b59f9578c8723c3143aa5b4e7fe..cbe0d89d1e103e560187e88b3668eacc512a7310 100644
--- a/src/OpenFOAM/primitives/vector2D/vector2D.C
+++ b/src/OpenFOAM/primitives/vector2D/vector2D.C
@@ -48,6 +48,12 @@ const vector2D vector2D::zero(0, 0);
 template<>
 const vector2D vector2D::one(1, 1);
 
+template<>
+const vector2D vector2D::max(VGREAT, VGREAT);
+
+template<>
+const vector2D vector2D::min(-VGREAT, -VGREAT);
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
diff --git a/src/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C b/src/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C
index bbe715eff0f4374e68a72c520f1b22fdb0f8c265..8d3c0e1e76bc2adaa66e67ffbc402c8c0f87fa43 100644
--- a/src/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C
+++ b/src/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C
@@ -2889,7 +2889,7 @@ void Foam::autoLayerDriver::addLayers
                 //mesh.name()+"_layer",
                 mesh.name(),
                 static_cast<polyMesh&>(mesh).instance(),
-                mesh.db(),  // register with runTime
+                mesh.time(),  // register with runTime
                 static_cast<polyMesh&>(mesh).readOpt(),
                 static_cast<polyMesh&>(mesh).writeOpt()
             ),              // io params from original mesh but new name
diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.C b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.C
index 4e01c64d74c2ca69837d7e3dbaff5d583bc7f488..637cf8037af8bd4fb679032c8cc4e490ef6dac42 100644
--- a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.C
@@ -244,6 +244,23 @@ void Foam::fvPatchField<Type>::write(Ostream& os) const
 }
 
 
+template<class Type>
+template<class EntryType>
+void Foam::fvPatchField<Type>::writeEntryIfDifferent
+(
+    Ostream& os,
+    const word& entryName,
+    const EntryType& value1,
+    const EntryType& value2
+) const
+{
+    if (value1 != value2)
+    {
+        os.writeKeyword(entryName) << value2 << token::END_STATEMENT << nl;
+    }
+}
+
+
 // * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //
 
 template<class Type>
diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H
index 701dd9fb4e85f4b2adfddb0f2ee4154b7f4d6776..851d9d33ae7e44d3f9d5ca72e0d2d5fa934bac3b 100644
--- a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H
+++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H
@@ -414,8 +414,21 @@ public:
             virtual void manipulateMatrix(fvMatrix<Type>& matrix);
 
 
-        //- Write
-        virtual void write(Ostream&) const;
+        // I-O
+
+            //- Write
+            virtual void write(Ostream&) const;
+
+            //- Helper function to write the keyword and entry only if the
+            //  values are not equal. The value is then output as value2
+            template<class EntryType>
+            void writeEntryIfDifferent
+            (
+                Ostream& os,
+                const word& entryName,
+                const EntryType& value1,
+                const EntryType& value2
+            ) const;
 
 
         // Check
diff --git a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C
index 26b1a214d57cb189907fede4b3af84791f8070bb..60d3dc3e841f40607dccb0292a8466bf7b7a3bda 100644
--- a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C
+++ b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C
@@ -125,6 +125,8 @@ RASModel::RASModel
     k0_("k0", dimVelocity*dimVelocity, SMALL),
     epsilon0_("epsilon", k0_.dimensions()/dimTime, SMALL),
     epsilonSmall_("epsilonSmall", epsilon0_.dimensions(), SMALL),
+    omega0_("omega", dimless/dimTime, SMALL),
+    omegaSmall_("omegaSmall", omega0_.dimensions(), SMALL),
 
     y_(mesh_)
 {}
@@ -204,6 +206,8 @@ bool RASModel::read()
         k0_.readIfPresent(*this);
         epsilon0_.readIfPresent(*this);
         epsilonSmall_.readIfPresent(*this);
+        omega0_.readIfPresent(*this);
+        omegaSmall_.readIfPresent(*this);
 
         return true;
     }
diff --git a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H
index 7f45f88eed42d3fe075e853fd0387bc7192c19e0..7479eb4c553c9667138c29d9c0c5a0656174ee17 100644
--- a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H
+++ b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H
@@ -80,22 +80,47 @@ protected:
 
     // Protected data
 
+        //- Turbulence on/off flag
         Switch turbulence_;
+
+        //- Flag to print the model coeffs at run-time
         Switch printCoeffs_;
+
+        //- Model coefficients dictionary
         dictionary coeffDict_;
 
-        dictionary wallFunctionDict_;
-        dimensionedScalar kappa_;
-        dimensionedScalar E_;
-        dimensionedScalar Cmu_;
-        dimensionedScalar Prt_;
+        // Wall function properties
+
+            //- Wall function dictionary
+            dictionary wallFunctionDict_;
+
+            dimensionedScalar kappa_;
+
+            dimensionedScalar E_;
+
+            dimensionedScalar Cmu_;
 
+            dimensionedScalar Prt_;
+
+        //- Value of y+ at the edge of the laminar sublayer
         scalar yPlusLam_;
 
+        //- Lower limit of k
         dimensionedScalar k0_;
+
+        //- Lower limit of epsilon
         dimensionedScalar epsilon0_;
+
+        //- Small epsilon value used to avoid divide by zero
         dimensionedScalar epsilonSmall_;
 
+        //- Lower limit for omega
+        dimensionedScalar omega0_;
+
+        //- Small omega value used to avoid divide by zero
+        dimensionedScalar omegaSmall_;
+
+        //- Near wall distance boundary field
         nearWallDist y_;
 
 
@@ -193,6 +218,19 @@ public:
                 return epsilonSmall_;
             }
 
+            //- Return the value of omega0 which epsilon is not allowed to be
+            //  less than
+            const dimensionedScalar& omega0() const
+            {
+                return omega0_;
+            }
+
+            //- Return the value of omegaSmall which is added to epsilon when
+            //  calculating nut
+            const dimensionedScalar& omegaSmall() const
+            {
+                return omegaSmall_;
+            }
 
             //- Allow k0 to be changed
             dimensionedScalar& k0()
@@ -212,6 +250,17 @@ public:
                 return epsilonSmall_;
             }
 
+            //- Allow omega0 to be changed
+            dimensionedScalar& omega0()
+            {
+                return omega0_;
+            }
+
+            //- Allow omegaSmall to be changed
+            dimensionedScalar& omegaSmall()
+            {
+                return omegaSmall_;
+            }
 
             //- Return kappa for use in wall-functions
             dimensionedScalar kappa() const
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C
index 6ee5c45fea692548fafd1ef54e90d08d3ec0438b..6b2974b04f1e43becd924b8c06284487c417539f 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C
@@ -48,7 +48,8 @@ alphatWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(p, iF)
+    fixedValueFvPatchScalarField(p, iF),
+    mutName_("mut")
 {}
 
 
@@ -61,7 +62,8 @@ alphatWallFunctionFvPatchScalarField
     const fvPatchFieldMapper& mapper
 )
 :
-    fixedValueFvPatchScalarField(ptf, p, iF, mapper)
+    fixedValueFvPatchScalarField(ptf, p, iF, mapper),
+    mutName_(ptf.mutName_)
 {}
 
 
@@ -73,7 +75,8 @@ alphatWallFunctionFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF, dict)
+    fixedValueFvPatchScalarField(p, iF, dict),
+    mutName_(dict.lookupOrDefault<word>("mut", "mut"))
 {}
 
 
@@ -83,7 +86,8 @@ alphatWallFunctionFvPatchScalarField
     const alphatWallFunctionFvPatchScalarField& awfpsf
 )
 :
-    fixedValueFvPatchScalarField(awfpsf)
+    fixedValueFvPatchScalarField(awfpsf),
+    mutName_(awfpsf.mutName_)
 {}
 
 
@@ -94,7 +98,8 @@ alphatWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(awfpsf, iF)
+    fixedValueFvPatchScalarField(awfpsf, iF),
+    mutName_(awfpsf.mutName_)
 {}
 
 
@@ -106,7 +111,7 @@ void alphatWallFunctionFvPatchScalarField::updateCoeffs()
     const scalar Prt = ras.Prt().value();
 
     const scalarField& mutw =
-        patch().lookupPatchField<volScalarField, scalar>("mut");
+        patch().lookupPatchField<volScalarField, scalar>(mutName_);
 
     operator==(mutw/Prt);
 }
@@ -115,6 +120,7 @@ void alphatWallFunctionFvPatchScalarField::updateCoeffs()
 void alphatWallFunctionFvPatchScalarField::write(Ostream& os) const
 {
     fvPatchField<scalar>::write(os);
+    writeEntryIfDifferent<word>(os, "mut", "mut", mutName_);
     writeEntry("value", os);
 }
 
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H
index 1d8ebc436c831909c4e1bfabd5978b656a1c450f..da71e80a2ff15dee2a7edb451153111d4f497b0b 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H
@@ -57,6 +57,11 @@ class alphatWallFunctionFvPatchScalarField
 :
     public fixedValueFvPatchScalarField
 {
+    // Private data
+
+        //- Name of turbulent viscosity field
+        word mutName_;
+
 
 public:
 
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
index b22c101340d0e5c2dfd0bb2d577f4b3ffe840bd9..387f54df338b67e36b947ddb9dd634c883c76a88 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
@@ -64,7 +64,13 @@ epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedInternalValueFvPatchField<scalar>(p, iF)
+    fixedInternalValueFvPatchField<scalar>(p, iF),
+    UName_("U"),
+    kName_("k"),
+    GName_("G"),
+    rhoName_("rho"),
+    muName_("mu"),
+    mutName_("mut")
 {
     checkType();
 }
@@ -78,7 +84,13 @@ epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
     const fvPatchFieldMapper& mapper
 )
 :
-    fixedInternalValueFvPatchField<scalar>(ptf, p, iF, mapper)
+    fixedInternalValueFvPatchField<scalar>(ptf, p, iF, mapper),
+    UName_(ptf.UName_),
+    kName_(ptf.kName_),
+    GName_(ptf.GName_),
+    rhoName_(ptf.rhoName_),
+    muName_(ptf.muName_),
+    mutName_(ptf.mutName_)
 {
     checkType();
 }
@@ -91,7 +103,13 @@ epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedInternalValueFvPatchField<scalar>(p, iF, dict)
+    fixedInternalValueFvPatchField<scalar>(p, iF, dict),
+    UName_(dict.lookupOrDefault<word>("U", "U")),
+    kName_(dict.lookupOrDefault<word>("k", "k")),
+    GName_(dict.lookupOrDefault<word>("G", "G")),
+    rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
+    muName_(dict.lookupOrDefault<word>("mu", "mu")),
+    mutName_(dict.lookupOrDefault<word>("mut", "mut"))
 {
     checkType();
 }
@@ -102,7 +120,13 @@ epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
     const epsilonWallFunctionFvPatchScalarField& ewfpsf
 )
 :
-    fixedInternalValueFvPatchField<scalar>(ewfpsf)
+    fixedInternalValueFvPatchField<scalar>(ewfpsf),
+    UName_(ewfpsf.UName_),
+    kName_(ewfpsf.kName_),
+    GName_(ewfpsf.GName_),
+    rhoName_(ewfpsf.rhoName_),
+    muName_(ewfpsf.muName_),
+    mutName_(ewfpsf.mutName_)
 {
     checkType();
 }
@@ -114,7 +138,13 @@ epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedInternalValueFvPatchField<scalar>(ewfpsf, iF)
+    fixedInternalValueFvPatchField<scalar>(ewfpsf, iF),
+    UName_(ewfpsf.UName_),
+    kName_(ewfpsf.kName_),
+    GName_(ewfpsf.GName_),
+    rhoName_(ewfpsf.rhoName_),
+    muName_(ewfpsf.muName_),
+    mutName_(ewfpsf.mutName_)
 {
     checkType();
 }
@@ -135,24 +165,24 @@ void epsilonWallFunctionFvPatchScalarField::updateCoeffs()
     const scalarField& y = ras.y()[patch().index()];
 
     volScalarField& G = const_cast<volScalarField&>
-        (db().lookupObject<volScalarField>("G"));
+        (db().lookupObject<volScalarField>(GName_));
 
     volScalarField& epsilon = const_cast<volScalarField&>
-        (db().lookupObject<volScalarField>("epsilon"));
+        (db().lookupObject<volScalarField>(dimensionedInternalField().name()));
 
-    const volScalarField& k = db().lookupObject<volScalarField>("k");
+    const volScalarField& k = db().lookupObject<volScalarField>(kName_);
 
     const scalarField& rhow =
-        patch().lookupPatchField<volScalarField, scalar>("rho");
+        patch().lookupPatchField<volScalarField, scalar>(rhoName_);
 
     const scalarField& muw =
-        patch().lookupPatchField<volScalarField, scalar>("mu");
+        patch().lookupPatchField<volScalarField, scalar>(muName_);
 
     const scalarField& mutw =
-        patch().lookupPatchField<volScalarField, scalar>("mut");
+        patch().lookupPatchField<volScalarField, scalar>(mutName_);
 
     const fvPatchVectorField& Uw =
-        patch().lookupPatchField<volVectorField, vector>("U");
+        patch().lookupPatchField<volVectorField, vector>(UName_);
 
     const scalarField magGradUw = mag(Uw.snGrad());
 
@@ -197,6 +227,12 @@ void epsilonWallFunctionFvPatchScalarField::evaluate
 void epsilonWallFunctionFvPatchScalarField::write(Ostream& os) const
 {
     fixedInternalValueFvPatchField<scalar>::write(os);
+    writeEntryIfDifferent<word>(os, "U", "U", UName_);
+    writeEntryIfDifferent<word>(os, "k", "k", kName_);
+    writeEntryIfDifferent<word>(os, "G", "G", GName_);
+    writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
+    writeEntryIfDifferent<word>(os, "mu", "mu", muName_);
+    writeEntryIfDifferent<word>(os, "mut", "mut", mutName_);
     writeEntry("value", os);
 }
 
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H
index 2cb6b336bfb85a8767f0958350fac2b76300a997..42bdeea6818c8716c2c9fc8e9d8d5a1c5aad2efe 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H
@@ -57,6 +57,26 @@ class epsilonWallFunctionFvPatchScalarField
 :
     public fixedInternalValueFvPatchField<scalar>
 {
+    // Private data
+
+        //- Name of velocity field
+        word UName_;
+
+        //- Name of turbulence kinetic energy field
+        word kName_;
+
+        //- Name of turbulence generation field
+        word GName_;
+
+        //- Name of density field
+        word rhoName_;
+
+        //- Name of laminar viscosity field
+        word muName_;
+
+        //- Name of turbulent viscosity field
+        word mutName_;
+
 
     // Private member functions
 
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutRoughWallFunction/mutRoughWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutRoughWallFunction/mutRoughWallFunctionFvPatchScalarField.C
index d224109c20f0160fd659adbdfcc91009ac060da4..c772d95bff4d92ad9101ded14d8d1df3177d243f 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutRoughWallFunction/mutRoughWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutRoughWallFunction/mutRoughWallFunctionFvPatchScalarField.C
@@ -77,6 +77,9 @@ mutRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(p, iF),
+    rhoName_("rho"),
+    muName_("mu"),
+    kName_("k"),
     Ks_(p.size(), 0.0),
     Cs_(p.size(), 0.0)
 {}
@@ -92,6 +95,9 @@ mutRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(ptf, p, iF, mapper),
+    rhoName_(ptf.rhoName_),
+    muName_(ptf.muName_),
+    kName_(ptf.kName_),
     Ks_(ptf.Ks_, mapper),
     Cs_(ptf.Cs_, mapper)
 {}
@@ -106,6 +112,9 @@ mutRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(p, iF, dict),
+    rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
+    muName_(dict.lookupOrDefault<word>("mu", "mu")),
+    kName_(dict.lookupOrDefault<word>("k", "k")),
     Ks_("Ks", dict, p.size()),
     Cs_("Cs", dict, p.size())
 {}
@@ -114,25 +123,31 @@ mutRoughWallFunctionFvPatchScalarField
 mutRoughWallFunctionFvPatchScalarField::
 mutRoughWallFunctionFvPatchScalarField
 (
-    const mutRoughWallFunctionFvPatchScalarField& nrwfpsf
+    const mutRoughWallFunctionFvPatchScalarField& rwfpsf
 )
 :
-    fixedValueFvPatchScalarField(nrwfpsf),
-    Ks_(nrwfpsf.Ks_),
-    Cs_(nrwfpsf.Cs_)
+    fixedValueFvPatchScalarField(rwfpsf),
+    rhoName_(rwfpsf.rhoName_),
+    muName_(rwfpsf.muName_),
+    kName_(rwfpsf.kName_),
+    Ks_(rwfpsf.Ks_),
+    Cs_(rwfpsf.Cs_)
 {}
 
 
 mutRoughWallFunctionFvPatchScalarField::
 mutRoughWallFunctionFvPatchScalarField
 (
-    const mutRoughWallFunctionFvPatchScalarField& nrwfpsf,
+    const mutRoughWallFunctionFvPatchScalarField& rwfpsf,
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(nrwfpsf, iF),
-    Ks_(nrwfpsf.Ks_),
-    Cs_(nrwfpsf.Cs_)
+    fixedValueFvPatchScalarField(rwfpsf, iF),
+    rhoName_(rwfpsf.rhoName_),
+    muName_(rwfpsf.muName_),
+    kName_(rwfpsf.kName_),
+    Ks_(rwfpsf.Ks_),
+    Cs_(rwfpsf.Cs_)
 {}
 
 
@@ -178,12 +193,12 @@ void mutRoughWallFunctionFvPatchScalarField::updateCoeffs()
     const scalarField& y = ras.y()[patch().index()];
 
     const scalarField& rhow =
-        patch().lookupPatchField<volScalarField, scalar>("rho");
+        patch().lookupPatchField<volScalarField, scalar>(rhoName_);
 
-    const scalarField& k = db().lookupObject<volScalarField>("k");
+    const scalarField& k = db().lookupObject<volScalarField>(kName_);
 
     const scalarField& muw =
-        patch().lookupPatchField<volScalarField, scalar>("mu");
+        patch().lookupPatchField<volScalarField, scalar>(muName_);
 
     scalarField& mutw = *this;
 
@@ -229,6 +244,9 @@ void mutRoughWallFunctionFvPatchScalarField::updateCoeffs()
 void mutRoughWallFunctionFvPatchScalarField::write(Ostream& os) const
 {
     fvPatchField<scalar>::write(os);
+    writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
+    writeEntryIfDifferent<word>(os, "mu", "mu", muName_);
+    writeEntryIfDifferent<word>(os, "k", "k", kName_);
     Cs_.writeEntry("Cs", os);
     Ks_.writeEntry("Ks", os);
     writeEntry("value", os);
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutRoughWallFunction/mutRoughWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutRoughWallFunction/mutRoughWallFunctionFvPatchScalarField.H
index c1bddbc360fc4f5daef96325e3ea267b7a2841a0..88209f4184e215053badbfe174afd321ff03f801 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutRoughWallFunction/mutRoughWallFunctionFvPatchScalarField.H
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutRoughWallFunction/mutRoughWallFunctionFvPatchScalarField.H
@@ -64,6 +64,15 @@ class mutRoughWallFunctionFvPatchScalarField
 {
     // Private data
 
+        //- Name of density field
+        word rhoName_;
+
+        //- Name of laminar viscosity field
+        word muName_;
+
+        //- Name of turbulence kinetic energy field
+        word kName_;
+
         //- Roughness height
         scalarField Ks_;
 
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardRoughWallFunction/mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardRoughWallFunction/mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.C
index 041bc468474144bfa5026515fa5e9e9ba43efdf5..a480ba072baf347fba31c0cf34c06fc9d870f18f 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardRoughWallFunction/mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardRoughWallFunction/mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.C
@@ -49,6 +49,9 @@ mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(p, iF),
+    UName_("U"),
+    rhoName_("rho"),
+    muName_("mu"),
     roughnessHeight_(pTraits<scalar>::zero),
     roughnessConstant_(pTraits<scalar>::zero),
     roughnessFudgeFactor_(pTraits<scalar>::zero)
@@ -65,6 +68,9 @@ mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(ptf, p, iF, mapper),
+    UName_(ptf.UName_),
+    rhoName_(ptf.rhoName_),
+    muName_(ptf.muName_),
     roughnessHeight_(ptf.roughnessHeight_),
     roughnessConstant_(ptf.roughnessConstant_),
     roughnessFudgeFactor_(ptf.roughnessFudgeFactor_)
@@ -80,6 +86,9 @@ mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(p, iF, dict),
+    UName_(dict.lookupOrDefault<word>("U", "U")),
+    rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
+    muName_(dict.lookupOrDefault<word>("mu", "mu")),
     roughnessHeight_(readScalar(dict.lookup("roughnessHeight"))),
     roughnessConstant_(readScalar(dict.lookup("roughnessConstant"))),
     roughnessFudgeFactor_(readScalar(dict.lookup("roughnessFudgeFactor")))
@@ -89,27 +98,33 @@ mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField
 mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField::
 mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField
 (
-    const mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField& tppsf
+    const mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField& rwfpsf
 )
 :
-    fixedValueFvPatchScalarField(tppsf),
-    roughnessHeight_(tppsf.roughnessHeight_),
-    roughnessConstant_(tppsf.roughnessConstant_),
-    roughnessFudgeFactor_(tppsf.roughnessFudgeFactor_)
+    fixedValueFvPatchScalarField(rwfpsf),
+    UName_(rwfpsf.UName_),
+    rhoName_(rwfpsf.rhoName_),
+    muName_(rwfpsf.muName_),
+    roughnessHeight_(rwfpsf.roughnessHeight_),
+    roughnessConstant_(rwfpsf.roughnessConstant_),
+    roughnessFudgeFactor_(rwfpsf.roughnessFudgeFactor_)
 {}
 
 
 mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField::
 mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField
 (
-    const mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField& tppsf,
+    const mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField& rwfpsf,
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(tppsf, iF),
-    roughnessHeight_(tppsf.roughnessHeight_),
-    roughnessConstant_(tppsf.roughnessConstant_),
-    roughnessFudgeFactor_(tppsf.roughnessFudgeFactor_)
+    fixedValueFvPatchScalarField(rwfpsf, iF),
+    UName_(rwfpsf.UName_),
+    rhoName_(rwfpsf.rhoName_),
+    muName_(rwfpsf.muName_),
+    roughnessHeight_(rwfpsf.roughnessHeight_),
+    roughnessConstant_(rwfpsf.roughnessConstant_),
+    roughnessFudgeFactor_(rwfpsf.roughnessFudgeFactor_)
 {}
 
 
@@ -131,16 +146,16 @@ void mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField::evaluate
     const scalarField& ry = patch().deltaCoeffs();
 
     const fvPatchVectorField& U =
-        patch().lookupPatchField<volVectorField, vector>("U");
+        patch().lookupPatchField<volVectorField, vector>(UName_);
 
     const fvPatchScalarField& rho =
-        patch().lookupPatchField<volScalarField, scalar>("rho");
+        patch().lookupPatchField<volScalarField, scalar>(rhoName_);
 
     // The flow velocity at the adjacent cell centre.
     scalarField magUp = mag(U.patchInternalField() - U);
 
     const scalarField& muw =
-        patch().lookupPatchField<volScalarField, scalar>("mu");
+        patch().lookupPatchField<volScalarField, scalar>(muName_);
     scalarField& mutw = *this;
 
     scalarField magFaceGradU = mag(U.snGrad());
@@ -172,7 +187,7 @@ void mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField::evaluate
 
                 // Enforce the roughnessHeight to be less than the distance to
                 // the first cell centre.
-                if(dKsPlusdYPlus > 1)
+                if (dKsPlusdYPlus > 1)
                 {
                     dKsPlusdYPlus = 1;
                 }
@@ -211,7 +226,7 @@ void mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField::evaluate
                     }
 
                     scalar denom = 1.0 + log(E* yPlus) - G - yPlusGPrime;
-                    if(mag(denom) > VSMALL)
+                    if (mag(denom) > VSMALL)
                     {
                         yPlus = (kappaRe + yPlus*(1 - yPlusGPrime))/denom;
                         if( yPlus < 0 )
@@ -288,6 +303,9 @@ void mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField::write
 ) const
 {
     fixedValueFvPatchScalarField::write(os);
+    writeEntryIfDifferent<word>(os, "U", "U", UName_);
+    writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
+    writeEntryIfDifferent<word>(os, "mu", "mu", muName_);
     os.writeKeyword("roughnessHeight")
         << roughnessHeight_ << token::END_STATEMENT << nl;
     os.writeKeyword("roughnessConstant")
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardRoughWallFunction/mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardRoughWallFunction/mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.H
index 86cff3403f9e7fbd2f90c7d47cc6fa8cb66b04c7..16aa54faa1b4d006e1234605b9e4e8cc4400fb04 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardRoughWallFunction/mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.H
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardRoughWallFunction/mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.H
@@ -58,9 +58,25 @@ class mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField
 {
     // Private data
 
-        scalar roughnessHeight_;
-        scalar roughnessConstant_;
-        scalar roughnessFudgeFactor_;
+        //- Name of velocity field
+        word UName_;
+
+        //- Name of density field
+        word rhoName_;
+
+        //- Name of laminar viscosity field
+        word muName_;
+
+        // Roughness parameters
+
+            //- Height
+            scalar roughnessHeight_;
+
+            //- Constant
+            scalar roughnessConstant_;
+
+            //- Scale factor
+            scalar roughnessFudgeFactor_;
 
 
 public:
@@ -143,38 +159,38 @@ public:
 
         // Access
 
-            //- Return the fluctuation scale
+            //- Return the roughness height scale
             const scalar& roughnessHeight() const
             {
                 return roughnessHeight_;
             }
 
-            //- Return reference to the fluctuation scale to allow adjustment
+            //- Return reference to the roughness height to allow adjustment
             scalar& roughnessHeight()
             {
                 return roughnessHeight_;
             }
 
-
-            //- Return the fluctuation scale
+            //- Return the roughness constant scale
             const scalar& roughnessConstant() const
             {
                 return roughnessConstant_;
             }
 
-            //- Return reference to the fluctuation scale to allow adjustment
+            //- Return reference to the roughness constant to allow adjustment
             scalar& roughnessConstant()
             {
                 return roughnessConstant_;
             }
 
-            //- Return the fluctuation scale
+            //- Return the roughness scale factor
             const scalar& roughnessFudgeFactor() const
             {
                 return roughnessFudgeFactor_;
             }
 
-            //- Return reference to the fluctuation scale to allow adjustment
+            //- Return reference to the roughness scale factor to allow
+            //  adjustment
             scalar& roughnessFudgeFactor()
             {
                 return roughnessFudgeFactor_;
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardWallFunction/mutSpalartAllmarasStandardWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardWallFunction/mutSpalartAllmarasStandardWallFunctionFvPatchScalarField.C
index f284fd13ba0779183b523d403597cef7d2668994..0501a266a9838145a1a16712102da05de08d4450 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardWallFunction/mutSpalartAllmarasStandardWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardWallFunction/mutSpalartAllmarasStandardWallFunctionFvPatchScalarField.C
@@ -48,7 +48,10 @@ mutSpalartAllmarasStandardWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(p, iF)
+    fixedValueFvPatchScalarField(p, iF),
+    UName_("U"),
+    rhoName_("rho"),
+    muName_("mu")
 {}
 
 
@@ -61,7 +64,10 @@ mutSpalartAllmarasStandardWallFunctionFvPatchScalarField
     const fvPatchFieldMapper& mapper
 )
 :
-    fixedValueFvPatchScalarField(ptf, p, iF, mapper)
+    fixedValueFvPatchScalarField(ptf, p, iF, mapper),
+    UName_(ptf.UName_),
+    rhoName_(ptf.rhoName_),
+    muName_(ptf.muName_)
 {}
 
 
@@ -73,28 +79,37 @@ mutSpalartAllmarasStandardWallFunctionFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF, dict)
+    fixedValueFvPatchScalarField(p, iF, dict),
+    UName_(dict.lookupOrDefault<word>("U", "U")),
+    rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
+    muName_(dict.lookupOrDefault<word>("mu", "mu"))
 {}
 
 
 mutSpalartAllmarasStandardWallFunctionFvPatchScalarField::
 mutSpalartAllmarasStandardWallFunctionFvPatchScalarField
 (
-    const mutSpalartAllmarasStandardWallFunctionFvPatchScalarField& tppsf
+    const mutSpalartAllmarasStandardWallFunctionFvPatchScalarField& rwfpsf
 )
 :
-    fixedValueFvPatchScalarField(tppsf)
+    fixedValueFvPatchScalarField(rwfpsf),
+    UName_(rwfpsf.UName_),
+    rhoName_(rwfpsf.rhoName_),
+    muName_(rwfpsf.muName_)
 {}
 
 
 mutSpalartAllmarasStandardWallFunctionFvPatchScalarField::
 mutSpalartAllmarasStandardWallFunctionFvPatchScalarField
 (
-    const mutSpalartAllmarasStandardWallFunctionFvPatchScalarField& tppsf,
+    const mutSpalartAllmarasStandardWallFunctionFvPatchScalarField& rwfpsf,
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(tppsf, iF)
+    fixedValueFvPatchScalarField(rwfpsf, iF),
+    UName_(rwfpsf.UName_),
+    rhoName_(rwfpsf.rhoName_),
+    muName_(rwfpsf.muName_)
 {}
 
 
@@ -114,15 +129,15 @@ void mutSpalartAllmarasStandardWallFunctionFvPatchScalarField::evaluate
     const scalarField& ry = patch().deltaCoeffs();
 
     const fvPatchVectorField& U =
-        patch().lookupPatchField<volVectorField, vector>("U");
+        patch().lookupPatchField<volVectorField, vector>(UName_);
 
     scalarField magUp = mag(U.patchInternalField() - U);
 
     const scalarField& rhow =
-        patch().lookupPatchField<volScalarField, scalar>("rho");
+        patch().lookupPatchField<volScalarField, scalar>(rhoName_);
 
     const scalarField& muw =
-        patch().lookupPatchField<volScalarField, scalar>("mu");
+        patch().lookupPatchField<volScalarField, scalar>(muName_);
     scalarField& mutw = *this;
 
     scalarField magFaceGradU = mag(U.snGrad());
@@ -158,6 +173,19 @@ void mutSpalartAllmarasStandardWallFunctionFvPatchScalarField::evaluate
 }
 
 
+void mutSpalartAllmarasStandardWallFunctionFvPatchScalarField::write
+(
+    Ostream& os
+) const
+{
+    fvPatchField<scalar>::write(os);
+    writeEntryIfDifferent<word>(os, "U", "U", UName_);
+    writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
+    writeEntryIfDifferent<word>(os, "mu", "mu", muName_);
+    writeEntry("value", os);
+}
+
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 makePatchTypeField
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardWallFunction/mutSpalartAllmarasStandardWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardWallFunction/mutSpalartAllmarasStandardWallFunctionFvPatchScalarField.H
index e417d5ed39bf77602f945bec465168c8f7a888cd..45f88e4c040d3e35ee682c88435fe159f6efe3ec 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardWallFunction/mutSpalartAllmarasStandardWallFunctionFvPatchScalarField.H
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasStandardWallFunction/mutSpalartAllmarasStandardWallFunctionFvPatchScalarField.H
@@ -56,6 +56,17 @@ class mutSpalartAllmarasStandardWallFunctionFvPatchScalarField
 :
     public fixedValueFvPatchScalarField
 {
+    // Private data
+
+        //- Name of velocity field
+        word UName_;
+
+        //- Name of density field
+        word rhoName_;
+
+        //- Name of laminar viscosity field
+        word muName_;
+
 
 public:
 
@@ -142,6 +153,9 @@ public:
             (
                 const Pstream::commsTypes commsType=Pstream::blocking
             );
+
+        //- Write
+        virtual void write(Ostream& os) const;
 };
 
 
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasWallFunction/mutSpalartAllmarasWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasWallFunction/mutSpalartAllmarasWallFunctionFvPatchScalarField.C
index c814a1b827e8b42c7495cb90cbfaf062a27253e5..88d087dc9c440dddc5414ec85cecd192412bb655 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasWallFunction/mutSpalartAllmarasWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasWallFunction/mutSpalartAllmarasWallFunctionFvPatchScalarField.C
@@ -48,7 +48,10 @@ mutSpalartAllmarasWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(p, iF)
+    fixedValueFvPatchScalarField(p, iF),
+    UName_("U"),
+    rhoName_("rho"),
+    muName_("mu")
 {}
 
 
@@ -61,7 +64,10 @@ mutSpalartAllmarasWallFunctionFvPatchScalarField
     const fvPatchFieldMapper& mapper
 )
 :
-    fixedValueFvPatchScalarField(ptf, p, iF, mapper)
+    fixedValueFvPatchScalarField(ptf, p, iF, mapper),
+    UName_(ptf.UName_),
+    rhoName_(ptf.rhoName_),
+    muName_(ptf.muName_)
 {}
 
 
@@ -73,28 +79,37 @@ mutSpalartAllmarasWallFunctionFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF, dict)
+    fixedValueFvPatchScalarField(p, iF, dict),
+    UName_(dict.lookupOrDefault<word>("U", "U")),
+    rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
+    muName_(dict.lookupOrDefault<word>("mu", "mu"))
 {}
 
 
 mutSpalartAllmarasWallFunctionFvPatchScalarField::
 mutSpalartAllmarasWallFunctionFvPatchScalarField
 (
-    const mutSpalartAllmarasWallFunctionFvPatchScalarField& tppsf
+    const mutSpalartAllmarasWallFunctionFvPatchScalarField& wfpsf
 )
 :
-    fixedValueFvPatchScalarField(tppsf)
+    fixedValueFvPatchScalarField(wfpsf),
+    UName_(wfpsf.UName_),
+    rhoName_(wfpsf.rhoName_),
+    muName_(wfpsf.muName_)
 {}
 
 
 mutSpalartAllmarasWallFunctionFvPatchScalarField::
 mutSpalartAllmarasWallFunctionFvPatchScalarField
 (
-    const mutSpalartAllmarasWallFunctionFvPatchScalarField& tppsf,
+    const mutSpalartAllmarasWallFunctionFvPatchScalarField& wfpsf,
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(tppsf, iF)
+    fixedValueFvPatchScalarField(wfpsf, iF),
+    UName_(wfpsf.UName_),
+    rhoName_(wfpsf.rhoName_),
+    muName_(wfpsf.muName_)
 {}
 
 
@@ -113,15 +128,15 @@ void mutSpalartAllmarasWallFunctionFvPatchScalarField::evaluate
     const scalarField& ry = patch().deltaCoeffs();
 
     const fvPatchVectorField& U =
-        patch().lookupPatchField<volVectorField, vector>("U");
+        patch().lookupPatchField<volVectorField, vector>(UName_);
 
     scalarField magUp = mag(U.patchInternalField() - U);
 
     const scalarField& rhow =
-        patch().lookupPatchField<volScalarField, scalar>("rho");
+        patch().lookupPatchField<volScalarField, scalar>(rhoName_);
 
     const scalarField& muw =
-        patch().lookupPatchField<volScalarField, scalar>("mu");
+        patch().lookupPatchField<volScalarField, scalar>(muName_);
 
     scalarField& mutw = *this;
 
@@ -174,6 +189,19 @@ void mutSpalartAllmarasWallFunctionFvPatchScalarField::evaluate
 }
 
 
+void mutSpalartAllmarasWallFunctionFvPatchScalarField::write
+(
+    Ostream& os
+) const
+{
+    fvPatchField<scalar>::write(os);
+    writeEntryIfDifferent<word>(os, "U", "U", UName_);
+    writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
+    writeEntryIfDifferent<word>(os, "mu", "mu", muName_);
+    writeEntry("value", os);
+}
+
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 makePatchTypeField(fvPatchScalarField, mutSpalartAllmarasWallFunctionFvPatchScalarField);
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasWallFunction/mutSpalartAllmarasWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasWallFunction/mutSpalartAllmarasWallFunctionFvPatchScalarField.H
index b0f3fa0e0210fdd20a6e78d90ec3a0c29ef3a858..dc7b241b8dbd1f46e0b09a2be97b9526752f68d9 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasWallFunction/mutSpalartAllmarasWallFunctionFvPatchScalarField.H
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutSpalartAllmarasWallFunction/mutSpalartAllmarasWallFunctionFvPatchScalarField.H
@@ -56,6 +56,18 @@ class mutSpalartAllmarasWallFunctionFvPatchScalarField
 :
     public fixedValueFvPatchScalarField
 {
+    // Private data
+
+        //- Name of velocity field
+        word UName_;
+
+        //- Name of density field
+        word rhoName_;
+
+        //- Name of laminar viscosity field
+        word muName_;
+
+
 public:
 
     //- Runtime type information
@@ -134,6 +146,9 @@ public:
             (
                 const Pstream::commsTypes commsType=Pstream::blocking
             );
+
+        //- Write
+        virtual void write(Ostream& os) const;
 };
 
 
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.C
index 3f0faddd860d28bbd7568147173972ce6df777de..f57f52cdc1fa78c3e4e4b59cfe612fc89598e23a 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.C
@@ -48,7 +48,10 @@ mutWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(p, iF)
+    fixedValueFvPatchScalarField(p, iF),
+    rhoName_("rho"),
+    muName_("mu"),
+    kName_("k")
 {}
 
 
@@ -61,7 +64,10 @@ mutWallFunctionFvPatchScalarField
     const fvPatchFieldMapper& mapper
 )
 :
-    fixedValueFvPatchScalarField(ptf, p, iF, mapper)
+    fixedValueFvPatchScalarField(ptf, p, iF, mapper),
+    rhoName_(ptf.rhoName_),
+    muName_(ptf.muName_),
+    kName_(ptf.kName_)
 {}
 
 
@@ -73,28 +79,37 @@ mutWallFunctionFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF, dict)
+    fixedValueFvPatchScalarField(p, iF, dict),
+    rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
+    muName_(dict.lookupOrDefault<word>("mu", "mu")),
+    kName_(dict.lookupOrDefault<word>("k", "k"))
 {}
 
 
 mutWallFunctionFvPatchScalarField::
 mutWallFunctionFvPatchScalarField
 (
-    const mutWallFunctionFvPatchScalarField& tppsf
+    const mutWallFunctionFvPatchScalarField& wfpsf
 )
 :
-    fixedValueFvPatchScalarField(tppsf)
+    fixedValueFvPatchScalarField(wfpsf),
+    rhoName_(wfpsf.rhoName_),
+    muName_(wfpsf.muName_),
+    kName_(wfpsf.kName_)
 {}
 
 
 mutWallFunctionFvPatchScalarField::
 mutWallFunctionFvPatchScalarField
 (
-    const mutWallFunctionFvPatchScalarField& tppsf,
+    const mutWallFunctionFvPatchScalarField& wfpsf,
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(tppsf, iF)
+    fixedValueFvPatchScalarField(wfpsf, iF),
+    rhoName_(wfpsf.rhoName_),
+    muName_(wfpsf.muName_),
+    kName_(wfpsf.kName_)
 {}
 
 
@@ -113,12 +128,12 @@ void mutWallFunctionFvPatchScalarField::updateCoeffs()
     const scalarField& y = ras.y()[patch().index()];
 
     const scalarField& rhow =
-        patch().lookupPatchField<volScalarField, scalar>("rho");
+        patch().lookupPatchField<volScalarField, scalar>(rhoName_);
 
-    const volScalarField& k = db().lookupObject<volScalarField>("k");
+    const volScalarField& k = db().lookupObject<volScalarField>(kName_);
 
     const scalarField& muw =
-        patch().lookupPatchField<volScalarField, scalar>("mu");
+        patch().lookupPatchField<volScalarField, scalar>(muName_);
 
     scalarField& mutw = *this;
 
@@ -145,6 +160,9 @@ void mutWallFunctionFvPatchScalarField::updateCoeffs()
 void mutWallFunctionFvPatchScalarField::write(Ostream& os) const
 {
     fvPatchField<scalar>::write(os);
+    writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
+    writeEntryIfDifferent<word>(os, "mu", "mu", muName_);
+    writeEntryIfDifferent<word>(os, "k", "k", kName_);
     writeEntry("value", os);
 }
 
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.H
index 244dec844b931d66e249c5889c0b04e51b21c7ad..ec00de97634cda84b0e0cdb9ee8cdb9780953fb4 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.H
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/mutWallFunctions/mutWallFunction/mutWallFunctionFvPatchScalarField.H
@@ -57,6 +57,17 @@ class mutWallFunctionFvPatchScalarField
 :
     public fixedValueFvPatchScalarField
 {
+    // Private data
+
+        //- Name of density field
+        word rhoName_;
+
+        //- Name of laminar viscosity field
+        word muName_;
+
+        //- Name of turbulence kinetic energy field
+        word kName_;
+
 
 public:
 
@@ -138,7 +149,7 @@ public:
         // I-O
 
             //- Write
-            void write(Ostream&) const;
+            virtual void write(Ostream&) const;
 };
 
 
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
index 5b0ee67630fa909764d9965fb3f9d49ed2c01af3..eacf26b1d42a2b81e4bafb52bb11d039dee35f4a 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
@@ -64,7 +64,13 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedInternalValueFvPatchField<scalar>(p, iF)
+    fixedInternalValueFvPatchField<scalar>(p, iF),
+    UName_("U"),
+    rhoName_("rho"),
+    kName_("k"),
+    GName_("G"),
+    muName_("mu"),
+    mutName_("mut")
 {
     checkType();
 }
@@ -78,7 +84,13 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
     const fvPatchFieldMapper& mapper
 )
 :
-    fixedInternalValueFvPatchField<scalar>(ptf, p, iF, mapper)
+    fixedInternalValueFvPatchField<scalar>(ptf, p, iF, mapper),
+    UName_(ptf.UName_),
+    rhoName_(ptf.rhoName_),
+    kName_(ptf.kName_),
+    GName_(ptf.GName_),
+    muName_(ptf.muName_),
+    mutName_(ptf.mutName_)
 {
     checkType();
 }
@@ -91,7 +103,13 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedInternalValueFvPatchField<scalar>(p, iF, dict)
+    fixedInternalValueFvPatchField<scalar>(p, iF, dict),
+    UName_(dict.lookupOrDefault<word>("U", "U")),
+    rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
+    kName_(dict.lookupOrDefault<word>("k", "k")),
+    GName_(dict.lookupOrDefault<word>("G", "G")),
+    muName_(dict.lookupOrDefault<word>("mu", "mu")),
+    mutName_(dict.lookupOrDefault<word>("mut", "mut"))
 {
     checkType();
 }
@@ -99,10 +117,16 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
 
 omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
 (
-    const omegaWallFunctionFvPatchScalarField& ewfpsf
+    const omegaWallFunctionFvPatchScalarField& owfpsf
 )
 :
-    fixedInternalValueFvPatchField<scalar>(ewfpsf)
+    fixedInternalValueFvPatchField<scalar>(owfpsf),
+    UName_(owfpsf.UName_),
+    rhoName_(owfpsf.rhoName_),
+    kName_(owfpsf.kName_),
+    GName_(owfpsf.GName_),
+    muName_(owfpsf.muName_),
+    mutName_(owfpsf.mutName_)
 {
     checkType();
 }
@@ -110,11 +134,17 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
 
 omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
 (
-    const omegaWallFunctionFvPatchScalarField& ewfpsf,
+    const omegaWallFunctionFvPatchScalarField& owfpsf,
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedInternalValueFvPatchField<scalar>(ewfpsf, iF)
+    fixedInternalValueFvPatchField<scalar>(owfpsf, iF),
+    UName_(owfpsf.UName_),
+    rhoName_(owfpsf.rhoName_),
+    kName_(owfpsf.kName_),
+    GName_(owfpsf.GName_),
+    muName_(owfpsf.muName_),
+    mutName_(owfpsf.mutName_)
 {
     checkType();
 }
@@ -135,24 +165,24 @@ void omegaWallFunctionFvPatchScalarField::updateCoeffs()
     const scalarField& y = ras.y()[patch().index()];
 
     volScalarField& G = const_cast<volScalarField&>
-        (db().lookupObject<volScalarField>("G"));
+        (db().lookupObject<volScalarField>(GName_));
 
     volScalarField& omega = const_cast<volScalarField&>
-        (db().lookupObject<volScalarField>("omega"));
+        (db().lookupObject<volScalarField>(dimensionedInternalField().name()));
 
-    const scalarField& k = db().lookupObject<volScalarField>("k");
+    const scalarField& k = db().lookupObject<volScalarField>(kName_);
 
     const scalarField& rhow =
-        patch().lookupPatchField<volScalarField, scalar>("rho");
+        patch().lookupPatchField<volScalarField, scalar>(rhoName_);
 
     const scalarField& muw =
-        patch().lookupPatchField<volScalarField, scalar>("mu");
+        patch().lookupPatchField<volScalarField, scalar>(muName_);
 
     const scalarField& mutw =
-        patch().lookupPatchField<volScalarField, scalar>("mut");
+        patch().lookupPatchField<volScalarField, scalar>(mutName_);
 
     const fvPatchVectorField& Uw =
-        patch().lookupPatchField<volVectorField, vector>("U");
+        patch().lookupPatchField<volVectorField, vector>(UName_);
 
     const scalarField magGradUw = mag(Uw.snGrad());
 
@@ -188,6 +218,12 @@ void omegaWallFunctionFvPatchScalarField::updateCoeffs()
 void omegaWallFunctionFvPatchScalarField::write(Ostream& os) const
 {
     fixedInternalValueFvPatchField<scalar>::write(os);
+    writeEntryIfDifferent<word>(os, "U", "U", UName_);
+    writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
+    writeEntryIfDifferent<word>(os, "k", "k", kName_);
+    writeEntryIfDifferent<word>(os, "G", "G", GName_);
+    writeEntryIfDifferent<word>(os, "mu", "mu", muName_);
+    writeEntryIfDifferent<word>(os, "mut", "mut", mutName_);
     writeEntry("value", os);
 }
 
diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H
index 266e7987d54f8d50b0b33712e483066808240d4f..6dfe7a772ba574110e3cba1a183fe5d99bd2bc60 100644
--- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H
+++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H
@@ -55,6 +55,26 @@ class omegaWallFunctionFvPatchScalarField
 :
     public fixedInternalValueFvPatchField<scalar>
 {
+    // Private data
+
+        //- Name of velocity field
+        word UName_;
+
+        //- Name of density field
+        word rhoName_;
+
+        //- Name of turbulence kinetic energy field
+        word kName_;
+
+        //- Name of turbulence generation field
+        word GName_;
+
+        //- Name of laminar viscosity field
+        word muName_;
+
+        //- Name of turbulent viscosity field
+        word mutName_;
+
 
     // Private member functions
 
diff --git a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C
index ab941a32a4c0154194101e3c333c3ea16950525e..52cfaf2df838c5dd72ed4b5d678d80ccb32be7da 100644
--- a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C
+++ b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C
@@ -208,19 +208,6 @@ kOmegaSST::kOmegaSST
         )
     ),
 
-    omega0_("omega0", dimless/dimTime, SMALL),
-    omegaSmall_("omegaSmall", dimless/dimTime, SMALL),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            coeffDict_,
-            0.09
-        )
-    ),
-
     y_(mesh_),
 
     k_
@@ -350,7 +337,6 @@ bool kOmegaSST::read()
         betaStar_.readIfPresent(coeffDict_);
         a1_.readIfPresent(coeffDict_);
         c1_.readIfPresent(coeffDict_);
-        Cmu_.readIfPresent(coeffDict_);
 
         return true;
     }
diff --git a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H
index a9f668b6ad11dbf22f4625bcce29fdb471da8e80..8a948a5f779a00f1ccc07cdb9ed280e31c10a8d5 100644
--- a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H
+++ b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H
@@ -56,7 +56,6 @@ Description
     @verbatim
         kOmegaSST
         {
-            Cmu         0.09;
             alphaK1     0.85034;
             alphaK2     1.0;
             alphaOmega1 0.5;
@@ -96,7 +95,7 @@ namespace RASModels
 {
 
 /*---------------------------------------------------------------------------*\
-                           Class kOmega Declaration
+                          Class kOmegaSST Declaration
 \*---------------------------------------------------------------------------*/
 
 class kOmegaSST
@@ -105,36 +104,38 @@ class kOmegaSST
 {
     // Private data
 
-        dimensionedScalar alphaK1_;
-        dimensionedScalar alphaK2_;
+        // Model coefficients
 
-        dimensionedScalar alphaOmega1_;
-        dimensionedScalar alphaOmega2_;
+            dimensionedScalar alphaK1_;
+            dimensionedScalar alphaK2_;
 
-        dimensionedScalar alphah_;
+            dimensionedScalar alphaOmega1_;
+            dimensionedScalar alphaOmega2_;
 
-        dimensionedScalar gamma1_;
-        dimensionedScalar gamma2_;
+            dimensionedScalar alphah_;
 
-        dimensionedScalar beta1_;
-        dimensionedScalar beta2_;
+            dimensionedScalar gamma1_;
+            dimensionedScalar gamma2_;
 
-        dimensionedScalar betaStar_;
+            dimensionedScalar beta1_;
+            dimensionedScalar beta2_;
 
-        dimensionedScalar a1_;
-        dimensionedScalar c1_;
+            dimensionedScalar betaStar_;
 
-        dimensionedScalar omega0_;
-        dimensionedScalar omegaSmall_;
+            dimensionedScalar a1_;
+            dimensionedScalar c1_;
 
-        dimensionedScalar Cmu_;
 
+        //- Wall distance
+        //  Note: different to wall distance in parent RASModel
         wallDist y_;
 
-        volScalarField k_;
-        volScalarField omega_;
-        volScalarField mut_;
-        volScalarField alphat_;
+        // Fields
+
+            volScalarField k_;
+            volScalarField omega_;
+            volScalarField mut_;
+            volScalarField alphat_;
 
 
     // Private member functions
diff --git a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C
index b70be3ad4d6025372df4fa22bbb3abc41675a1b8..d06bc6652b6bff30d5b1bc2d08e609d1814e1e01 100644
--- a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C
+++ b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C
@@ -115,6 +115,8 @@ RASModel::RASModel
     k0_("k0", dimVelocity*dimVelocity, SMALL),
     epsilon0_("epsilon", k0_.dimensions()/dimTime, SMALL),
     epsilonSmall_("epsilonSmall", epsilon0_.dimensions(), SMALL),
+    omega0_("omega0", dimless/dimTime, SMALL),
+    omegaSmall_("omegaSmall", omega0_.dimensions(), SMALL),
 
     y_(mesh_)
 {}
@@ -250,6 +252,8 @@ bool RASModel::read()
         k0_.readIfPresent(*this);
         epsilon0_.readIfPresent(*this);
         epsilonSmall_.readIfPresent(*this);
+        omega0_.readIfPresent(*this);
+        omegaSmall_.readIfPresent(*this);
 
         return true;
     }
diff --git a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H
index 50127d8c665e22b3f32f4bd22097b590c7c1c65a..963af37dddbbe864f9d60a282394d6b64e6d6218 100644
--- a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H
+++ b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H
@@ -77,21 +77,45 @@ protected:
 
     // Protected data
 
+        //- Turbulence on/off flag
         Switch turbulence_;
+
+        //- Flag to print the model coeffs at run-time
         Switch printCoeffs_;
+
+        //- Model coefficients dictionary
         dictionary coeffDict_;
 
-        dictionary wallFunctionDict_;
-        dimensionedScalar kappa_;
-        dimensionedScalar E_;
-        dimensionedScalar Cmu_;
+        // Wall function properties
+
+            //- Wall function dictionary
+            dictionary wallFunctionDict_;
+
+            dimensionedScalar kappa_;
+
+            dimensionedScalar E_;
+
+            dimensionedScalar Cmu_;
 
+        //- Value of y+ at the edge of the laminar sublayer
         scalar yPlusLam_;
 
+        //- Lower limit of k
         dimensionedScalar k0_;
+
+        //- Lower limit of epsilon
         dimensionedScalar epsilon0_;
+
+        //- Small epsilon value used to avoid divide by zero
         dimensionedScalar epsilonSmall_;
 
+        //- Lower limit for omega
+        dimensionedScalar omega0_;
+
+        //- Small omega value used to avoid divide by zero
+        dimensionedScalar omegaSmall_;
+
+        //- Near wall distance boundary field
         nearWallDist y_;
 
 
@@ -183,6 +207,20 @@ public:
             return epsilonSmall_;
         }
 
+        //- Return the value of omega0 which epsilon is not allowed to be
+        //  less than
+        const dimensionedScalar& omega0() const
+        {
+            return omega0_;
+        }
+
+        //- Return the value of omegaSmall which is added to epsilon when
+        //  calculating nut
+        const dimensionedScalar& omegaSmall() const
+        {
+            return omegaSmall_;
+        }
+
         //- Allow k0 to be changed
         dimensionedScalar& k0()
         {
@@ -201,6 +239,18 @@ public:
             return epsilonSmall_;
         }
 
+        //- Allow omega0 to be changed
+        dimensionedScalar& omega0()
+        {
+            return omega0_;
+        }
+
+        //- Allow omegaSmall to be changed
+        dimensionedScalar& omegaSmall()
+        {
+            return omegaSmall_;
+        }
+
         //- Return kappa for use in wall-functions
         dimensionedScalar kappa() const
         {
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
index a4f0bd13f751fb797a6d1668f901b6c179f19db6..ae8a57c303d3c686212acb5c8f5175c677c9bad2 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
@@ -64,7 +64,12 @@ epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedInternalValueFvPatchField<scalar>(p, iF)
+    fixedInternalValueFvPatchField<scalar>(p, iF),
+    UName_("U"),
+    kName_("k"),
+    GName_("G"),
+    nuName_("nu"),
+    nutName_("nut")
 {
     checkType();
 }
@@ -78,7 +83,12 @@ epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
     const fvPatchFieldMapper& mapper
 )
 :
-    fixedInternalValueFvPatchField<scalar>(ptf, p, iF, mapper)
+    fixedInternalValueFvPatchField<scalar>(ptf, p, iF, mapper),
+    UName_(ptf.UName_),
+    kName_(ptf.kName_),
+    GName_(ptf.GName_),
+    nuName_(ptf.nuName_),
+    nutName_(ptf.nutName_)
 {
     checkType();
 }
@@ -91,7 +101,12 @@ epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedInternalValueFvPatchField<scalar>(p, iF, dict)
+    fixedInternalValueFvPatchField<scalar>(p, iF, dict),
+    UName_(dict.lookupOrDefault<word>("U", "U")),
+    kName_(dict.lookupOrDefault<word>("k", "k")),
+    GName_(dict.lookupOrDefault<word>("G", "G")),
+    nuName_(dict.lookupOrDefault<word>("nu", "nu")),
+    nutName_(dict.lookupOrDefault<word>("nut", "nut"))
 {
     checkType();
 }
@@ -102,7 +117,12 @@ epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
     const epsilonWallFunctionFvPatchScalarField& ewfpsf
 )
 :
-    fixedInternalValueFvPatchField<scalar>(ewfpsf)
+    fixedInternalValueFvPatchField<scalar>(ewfpsf),
+    UName_(ewfpsf.UName_),
+    kName_(ewfpsf.kName_),
+    GName_(ewfpsf.GName_),
+    nuName_(ewfpsf.nuName_),
+    nutName_(ewfpsf.nutName_)
 {
     checkType();
 }
@@ -114,7 +134,12 @@ epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedInternalValueFvPatchField<scalar>(ewfpsf, iF)
+    fixedInternalValueFvPatchField<scalar>(ewfpsf, iF),
+    UName_(ewfpsf.UName_),
+    kName_(ewfpsf.kName_),
+    GName_(ewfpsf.GName_),
+    nuName_(ewfpsf.nuName_),
+    nutName_(ewfpsf.nutName_)
 {
     checkType();
 }
@@ -135,21 +160,21 @@ void epsilonWallFunctionFvPatchScalarField::updateCoeffs()
     const scalarField& y = ras.y()[patch().index()];
 
     volScalarField& G = const_cast<volScalarField&>
-        (db().lookupObject<volScalarField>("G"));
+        (db().lookupObject<volScalarField>(GName_));
 
     volScalarField& epsilon = const_cast<volScalarField&>
-        (db().lookupObject<volScalarField>("epsilon"));
+        (db().lookupObject<volScalarField>(dimensionedInternalField().name()));
 
-    const volScalarField& k = db().lookupObject<volScalarField>("k");
+    const volScalarField& k = db().lookupObject<volScalarField>(kName_);
 
     const scalarField& nuw =
-        patch().lookupPatchField<volScalarField, scalar>("nu");
+        patch().lookupPatchField<volScalarField, scalar>(nuName_);
 
     const scalarField& nutw =
-        patch().lookupPatchField<volScalarField, scalar>("nut");
+        patch().lookupPatchField<volScalarField, scalar>(nutName_);
 
     const fvPatchVectorField& Uw =
-        patch().lookupPatchField<volVectorField, vector>("U");
+        patch().lookupPatchField<volVectorField, vector>(UName_);
 
     const scalarField magGradUw = mag(Uw.snGrad());
 
@@ -192,6 +217,11 @@ void epsilonWallFunctionFvPatchScalarField::evaluate
 void epsilonWallFunctionFvPatchScalarField::write(Ostream& os) const
 {
     fixedInternalValueFvPatchField<scalar>::write(os);
+    writeEntryIfDifferent<word>(os, "U", "U", UName_);
+    writeEntryIfDifferent<word>(os, "k", "k", kName_);
+    writeEntryIfDifferent<word>(os, "G", "G", GName_);
+    writeEntryIfDifferent<word>(os, "nu", "nu", nuName_);
+    writeEntryIfDifferent<word>(os, "nut", "nut", nutName_);
     writeEntry("value", os);
 }
 
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H
index 7e81a50a342a6029ecff4673fcc9c4ed4c687ebc..4dbdf40d1650b904fd2438174c0c0eacb20b5788 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H
@@ -57,6 +57,23 @@ class epsilonWallFunctionFvPatchScalarField
 :
     public fixedInternalValueFvPatchField<scalar>
 {
+    // Private data
+
+        //- Name of velocity field
+        word UName_;
+
+        //- Name of turbulence kinetic energy field
+        word kName_;
+
+        //- Name of turbulence generation field
+        word GName_;
+
+        //- Name of laminar viscosity field
+        word nuName_;
+
+        //- Name of turbulent viscosity field
+        word nutName_;
+
 
     // Private member functions
 
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutRoughWallFunction/nutRoughWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutRoughWallFunction/nutRoughWallFunctionFvPatchScalarField.C
index a62e333f1f165b9204036a73470ceb2107d3c5ff..138e78333305a6694d5c48d47f2d3a6df920d99b 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutRoughWallFunction/nutRoughWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutRoughWallFunction/nutRoughWallFunctionFvPatchScalarField.C
@@ -77,6 +77,8 @@ nutRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(p, iF),
+    kName_("k"),
+    nuName_("nu"),
     Ks_(p.size(), 0.0),
     Cs_(p.size(), 0.0)
 {}
@@ -92,6 +94,8 @@ nutRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(ptf, p, iF, mapper),
+    kName_(ptf.kName_),
+    nuName_(ptf.nuName_),
     Ks_(ptf.Ks_, mapper),
     Cs_(ptf.Cs_, mapper)
 {}
@@ -106,6 +110,8 @@ nutRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(p, iF, dict),
+    kName_(dict.lookupOrDefault<word>("k", "k")),
+    nuName_(dict.lookupOrDefault<word>("nu", "nu")),
     Ks_("Ks", dict, p.size()),
     Cs_("Cs", dict, p.size())
 {}
@@ -118,6 +124,8 @@ nutRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(nrwfpsf),
+    kName_(nrwfpsf.kName_),
+    nuName_(nrwfpsf.nuName_),
     Ks_(nrwfpsf.Ks_),
     Cs_(nrwfpsf.Cs_)
 {}
@@ -131,6 +139,8 @@ nutRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(nrwfpsf, iF),
+    kName_(nrwfpsf.kName_),
+    nuName_(nrwfpsf.nuName_),
     Ks_(nrwfpsf.Ks_),
     Cs_(nrwfpsf.Cs_)
 {}
@@ -177,10 +187,10 @@ void nutRoughWallFunctionFvPatchScalarField::updateCoeffs()
 
     const scalarField& y = ras.y()[patch().index()];
 
-    const scalarField& k = db().lookupObject<volScalarField>("k");
+    const scalarField& k = db().lookupObject<volScalarField>(kName_);
 
     const scalarField& nuw =
-        patch().lookupPatchField<volScalarField, scalar>("nu");
+        patch().lookupPatchField<volScalarField, scalar>(nuName_);
 
     scalarField& nutw = *this;
 
@@ -226,6 +236,8 @@ void nutRoughWallFunctionFvPatchScalarField::updateCoeffs()
 void nutRoughWallFunctionFvPatchScalarField::write(Ostream& os) const
 {
     fvPatchField<scalar>::write(os);
+    writeEntryIfDifferent<word>(os, "k", "k", kName_);
+    writeEntryIfDifferent<word>(os, "nu", "nu", nuName_);
     Cs_.writeEntry("Cs", os);
     Ks_.writeEntry("Ks", os);
     writeEntry("value", os);
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutRoughWallFunction/nutRoughWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutRoughWallFunction/nutRoughWallFunctionFvPatchScalarField.H
index 0263c145d09094a9ec4cb69792061cf45d57bca3..968c5c3f8f86612779651182cc3a6f733dd1ec92 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutRoughWallFunction/nutRoughWallFunctionFvPatchScalarField.H
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutRoughWallFunction/nutRoughWallFunctionFvPatchScalarField.H
@@ -64,6 +64,12 @@ class nutRoughWallFunctionFvPatchScalarField
 {
     // Private data
 
+        //- Name of turbulence kinetic energy field
+        word kName_;
+
+        //- Name of laminar viscosity field
+        word nuName_;
+
         //- Roughness height
         scalarField Ks_;
 
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardRoughWallFunction/nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardRoughWallFunction/nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.C
index a7bd44016d026b84e85cb7006f49d8678de4acf8..2d7bfc9cd2d842d2b067f97aa62b3beda323813e 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardRoughWallFunction/nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardRoughWallFunction/nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.C
@@ -49,6 +49,8 @@ nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(p, iF),
+    UName_("U"),
+    nuName_("nu"),
     roughnessHeight_(pTraits<scalar>::zero),
     roughnessConstant_(pTraits<scalar>::zero),
     roughnessFudgeFactor_(pTraits<scalar>::zero)
@@ -65,6 +67,8 @@ nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(ptf, p, iF, mapper),
+    UName_(ptf.UName_),
+    nuName_(ptf.nuName_),
     roughnessHeight_(ptf.roughnessHeight_),
     roughnessConstant_(ptf.roughnessConstant_),
     roughnessFudgeFactor_(ptf.roughnessFudgeFactor_)
@@ -80,6 +84,8 @@ nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(p, iF, dict),
+    UName_(dict.lookupOrDefault<word>("U", "U")),
+    nuName_(dict.lookupOrDefault<word>("nu", "nu")),
     roughnessHeight_(readScalar(dict.lookup("roughnessHeight"))),
     roughnessConstant_(readScalar(dict.lookup("roughnessConstant"))),
     roughnessFudgeFactor_(readScalar(dict.lookup("roughnessFudgeFactor")))
@@ -93,6 +99,8 @@ nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(tppsf),
+    UName_(tppsf.UName_),
+    nuName_(tppsf.nuName_),
     roughnessHeight_(tppsf.roughnessHeight_),
     roughnessConstant_(tppsf.roughnessConstant_),
     roughnessFudgeFactor_(tppsf.roughnessFudgeFactor_)
@@ -107,6 +115,8 @@ nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(tppsf, iF),
+    UName_(tppsf.UName_),
+    nuName_(tppsf.nuName_),
     roughnessHeight_(tppsf.roughnessHeight_),
     roughnessConstant_(tppsf.roughnessConstant_),
     roughnessFudgeFactor_(tppsf.roughnessFudgeFactor_)
@@ -130,13 +140,13 @@ void nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField::evaluate
     const scalarField& ry = patch().deltaCoeffs();
 
     const fvPatchVectorField& U =
-        patch().lookupPatchField<volVectorField, vector>("U");
+        patch().lookupPatchField<volVectorField, vector>(UName_);
 
     // The flow velocity at the adjacent cell centre.
     scalarField magUp = mag(U.patchInternalField() - U);
 
     const scalarField& nuw =
-        patch().lookupPatchField<volScalarField, scalar>("nu");
+        patch().lookupPatchField<volScalarField, scalar>(nuName_);
     scalarField& nutw = *this;
 
     scalarField magFaceGradU = mag(U.snGrad());
@@ -276,6 +286,8 @@ void nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField::write
 ) const
 {
     fixedValueFvPatchScalarField::write(os);
+    writeEntryIfDifferent<word>(os, "U", "U", UName_);
+    writeEntryIfDifferent<word>(os, "nu", "nu", nuName_);
     os.writeKeyword("roughnessHeight")
         << roughnessHeight_ << token::END_STATEMENT << nl;
     os.writeKeyword("roughnessConstant")
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardRoughWallFunction/nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardRoughWallFunction/nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.H
index 53a0478cffd2ecfe0fc9ab12b723a651f8d7aea8..f8c65f434cd49043d544120a8df7d928da30eeeb 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardRoughWallFunction/nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.H
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardRoughWallFunction/nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField.H
@@ -58,9 +58,22 @@ class nutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField
 {
     // Private data
 
-        scalar roughnessHeight_;
-        scalar roughnessConstant_;
-        scalar roughnessFudgeFactor_;
+        //- Name of velocity field
+        word UName_;
+
+        //- Name of laminar viscosity field
+        word nuName_;
+
+        // Roughness model parameters
+
+            //- Height
+            scalar roughnessHeight_;
+
+            //- Constant
+            scalar roughnessConstant_;
+
+            //- Scale factor
+            scalar roughnessFudgeFactor_;
 
 
 public:
@@ -143,38 +156,39 @@ public:
 
         // Access
 
-            //- Return the fluctuation scale
+            //- Return the roughness height
             const scalar& roughnessHeight() const
             {
                 return roughnessHeight_;
             }
 
-            //- Return reference to the fluctuation scale to allow adjustment
+            //- Return reference to the roughness height to allow adjustment
             scalar& roughnessHeight()
             {
                 return roughnessHeight_;
             }
 
 
-            //- Return the fluctuation scale
+            //- Return the roughness constant scale
             const scalar& roughnessConstant() const
             {
                 return roughnessConstant_;
             }
 
-            //- Return reference to the fluctuation scale to allow adjustment
+            //- Return reference to the roughness constant to allow adjustment
             scalar& roughnessConstant()
             {
                 return roughnessConstant_;
             }
 
-            //- Return the fluctuation scale
+            //- Return the roughness scale factor
             const scalar& roughnessFudgeFactor() const
             {
                 return roughnessFudgeFactor_;
             }
 
-            //- Return reference to the fluctuation scale to allow adjustment
+            //- Return reference to the roughness scale factor to allow
+            //  adjustment
             scalar& roughnessFudgeFactor()
             {
                 return roughnessFudgeFactor_;
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardWallFunction/nutSpalartAllmarasStandardWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardWallFunction/nutSpalartAllmarasStandardWallFunctionFvPatchScalarField.C
index 8e181f439b643bc7795bb5459b0bf85f9f493d4d..394c1ce7cf34c50866e65895ff22eeb13226199c 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardWallFunction/nutSpalartAllmarasStandardWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardWallFunction/nutSpalartAllmarasStandardWallFunctionFvPatchScalarField.C
@@ -48,7 +48,9 @@ nutSpalartAllmarasStandardWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(p, iF)
+    fixedValueFvPatchScalarField(p, iF),
+    UName_("U"),
+    nuName_("nu")
 {}
 
 
@@ -61,7 +63,9 @@ nutSpalartAllmarasStandardWallFunctionFvPatchScalarField
     const fvPatchFieldMapper& mapper
 )
 :
-    fixedValueFvPatchScalarField(ptf, p, iF, mapper)
+    fixedValueFvPatchScalarField(ptf, p, iF, mapper),
+    UName_(ptf.UName_),
+    nuName_(ptf.nuName_)
 {}
 
 
@@ -73,7 +77,9 @@ nutSpalartAllmarasStandardWallFunctionFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF, dict)
+    fixedValueFvPatchScalarField(p, iF, dict),
+    UName_(dict.lookupOrDefault<word>("U", "U")),
+    nuName_(dict.lookupOrDefault<word>("nu", "nu"))
 {}
 
 
@@ -83,7 +89,9 @@ nutSpalartAllmarasStandardWallFunctionFvPatchScalarField
     const nutSpalartAllmarasStandardWallFunctionFvPatchScalarField& tppsf
 )
 :
-    fixedValueFvPatchScalarField(tppsf)
+    fixedValueFvPatchScalarField(tppsf),
+    UName_(tppsf.UName_),
+    nuName_(tppsf.nuName_)
 {}
 
 
@@ -94,7 +102,9 @@ nutSpalartAllmarasStandardWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(tppsf, iF)
+    fixedValueFvPatchScalarField(tppsf, iF),
+    UName_(tppsf.UName_),
+    nuName_(tppsf.nuName_)
 {}
 
 
@@ -114,12 +124,12 @@ void nutSpalartAllmarasStandardWallFunctionFvPatchScalarField::evaluate
     const scalarField& ry = patch().deltaCoeffs();
 
     const fvPatchVectorField& U =
-        patch().lookupPatchField<volVectorField, vector>("U");
+        patch().lookupPatchField<volVectorField, vector>(UName_);
 
     scalarField magUp = mag(U.patchInternalField() - U);
 
     const scalarField& nuw =
-        patch().lookupPatchField<volScalarField, scalar>("nu");
+        patch().lookupPatchField<volScalarField, scalar>(nuName_);
     scalarField& nutw = *this;
 
     scalarField magFaceGradU = mag(U.snGrad());
@@ -155,6 +165,17 @@ void nutSpalartAllmarasStandardWallFunctionFvPatchScalarField::evaluate
 }
 
 
+void nutSpalartAllmarasStandardWallFunctionFvPatchScalarField::write
+(
+    Ostream& os
+) const
+{
+    fixedValueFvPatchScalarField::write(os);
+    writeEntryIfDifferent<word>(os, "U", "U", UName_);
+    writeEntryIfDifferent<word>(os, "nu", "nu", nuName_);
+}
+
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 makePatchTypeField
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardWallFunction/nutSpalartAllmarasStandardWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardWallFunction/nutSpalartAllmarasStandardWallFunctionFvPatchScalarField.H
index f96f7d927a3a63c3ac418c425a8ce6d652fa02af..0ab4a7671a1bdb4249a2c00df6de0137fc7319c9 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardWallFunction/nutSpalartAllmarasStandardWallFunctionFvPatchScalarField.H
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasStandardWallFunction/nutSpalartAllmarasStandardWallFunctionFvPatchScalarField.H
@@ -58,6 +58,12 @@ class nutSpalartAllmarasStandardWallFunctionFvPatchScalarField
 {
     // Private data
 
+        //- Name of velocity field
+        word UName_;
+
+        //- Name of laminar viscosity field
+        word nuName_;
+
 
 public:
 
@@ -144,6 +150,9 @@ public:
             (
                 const Pstream::commsTypes commsType=Pstream::blocking
             );
+
+        //- Write
+        virtual void write(Ostream& os) const;
 };
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasWallFunction/nutSpalartAllmarasWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasWallFunction/nutSpalartAllmarasWallFunctionFvPatchScalarField.C
index 420f7cd31c4704a2359a8ab7e82f69f0c4e0ffd2..112ae230257d55f6c81714205038bc0118ec7fc6 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasWallFunction/nutSpalartAllmarasWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasWallFunction/nutSpalartAllmarasWallFunctionFvPatchScalarField.C
@@ -48,7 +48,9 @@ nutSpalartAllmarasWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(p, iF)
+    fixedValueFvPatchScalarField(p, iF),
+    UName_("U"),
+    nuName_("nu")
 {}
 
 
@@ -61,7 +63,9 @@ nutSpalartAllmarasWallFunctionFvPatchScalarField
     const fvPatchFieldMapper& mapper
 )
 :
-    fixedValueFvPatchScalarField(ptf, p, iF, mapper)
+    fixedValueFvPatchScalarField(ptf, p, iF, mapper),
+    UName_(ptf.UName_),
+    nuName_(ptf.nuName_)
 {}
 
 
@@ -73,7 +77,9 @@ nutSpalartAllmarasWallFunctionFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF, dict)
+    fixedValueFvPatchScalarField(p, iF, dict),
+    UName_(dict.lookupOrDefault<word>("U", "U")),
+    nuName_(dict.lookupOrDefault<word>("nu", "nu"))
 {}
 
 
@@ -83,7 +89,9 @@ nutSpalartAllmarasWallFunctionFvPatchScalarField
     const nutSpalartAllmarasWallFunctionFvPatchScalarField& tppsf
 )
 :
-    fixedValueFvPatchScalarField(tppsf)
+    fixedValueFvPatchScalarField(tppsf),
+    UName_(tppsf.UName_),
+    nuName_(tppsf.nuName_)
 {}
 
 
@@ -94,7 +102,9 @@ nutSpalartAllmarasWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(tppsf, iF)
+    fixedValueFvPatchScalarField(tppsf, iF),
+    UName_(tppsf.UName_),
+    nuName_(tppsf.nuName_)
 {}
 
 
@@ -113,12 +123,12 @@ void nutSpalartAllmarasWallFunctionFvPatchScalarField::evaluate
     const scalarField& ry = patch().deltaCoeffs();
 
     const fvPatchVectorField& U =
-        patch().lookupPatchField<volVectorField, vector>("U");
+        patch().lookupPatchField<volVectorField, vector>(UName_);
 
     scalarField magUp = mag(U.patchInternalField() - U);
 
     const scalarField& nuw =
-        patch().lookupPatchField<volScalarField, scalar>("nu");
+        patch().lookupPatchField<volScalarField, scalar>(nuName_);
 
     scalarField& nutw = *this;
 
@@ -167,6 +177,17 @@ void nutSpalartAllmarasWallFunctionFvPatchScalarField::evaluate
 }
 
 
+void nutSpalartAllmarasWallFunctionFvPatchScalarField::write
+(
+    Ostream& os
+) const
+{
+    fixedValueFvPatchScalarField::write(os);
+    writeEntryIfDifferent<word>(os, "U", "U", UName_);
+    writeEntryIfDifferent<word>(os, "nu", "nu", nuName_);
+}
+
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 makePatchTypeField(fvPatchScalarField, nutSpalartAllmarasWallFunctionFvPatchScalarField);
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasWallFunction/nutSpalartAllmarasWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasWallFunction/nutSpalartAllmarasWallFunctionFvPatchScalarField.H
index b085c95346b0725b4af16fd22787c209fb21d1d2..5679a2c565c055ed0012b5966b9844066a1d45ce 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasWallFunction/nutSpalartAllmarasWallFunctionFvPatchScalarField.H
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutSpalartAllmarasWallFunction/nutSpalartAllmarasWallFunctionFvPatchScalarField.H
@@ -58,6 +58,12 @@ class nutSpalartAllmarasWallFunctionFvPatchScalarField
 {
     // Private data
 
+        //- Name of velocity field
+        word UName_;
+
+        //- Name of laminar viscosity field
+        word nuName_;
+
 
 public:
 
@@ -137,6 +143,9 @@ public:
             (
                 const Pstream::commsTypes commsType=Pstream::blocking
             );
+
+        //- Write
+        virtual void write(Ostream& os) const;
 };
 
 
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C
index 4498e25e266b480d831cd7fc9e0242a8837bcbbc..8e89f18d9696ff3038040ceb9b01b56a0ad1cd96 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C
@@ -48,7 +48,9 @@ nutWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(p, iF)
+    fixedValueFvPatchScalarField(p, iF),
+    kName_("k"),
+    nuName_("nu")
 {}
 
 
@@ -61,7 +63,9 @@ nutWallFunctionFvPatchScalarField
     const fvPatchFieldMapper& mapper
 )
 :
-    fixedValueFvPatchScalarField(ptf, p, iF, mapper)
+    fixedValueFvPatchScalarField(ptf, p, iF, mapper),
+    kName_(ptf.kName_),
+    nuName_(ptf.nuName_)
 {}
 
 
@@ -73,28 +77,34 @@ nutWallFunctionFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF, dict)
+    fixedValueFvPatchScalarField(p, iF, dict),
+    kName_(dict.lookupOrDefault<word>("k", "k")),
+    nuName_(dict.lookupOrDefault<word>("nu", "nu"))
 {}
 
 
 nutWallFunctionFvPatchScalarField::
 nutWallFunctionFvPatchScalarField
 (
-    const nutWallFunctionFvPatchScalarField& tppsf
+    const nutWallFunctionFvPatchScalarField& nwfpsf
 )
 :
-    fixedValueFvPatchScalarField(tppsf)
+    fixedValueFvPatchScalarField(nwfpsf),
+    kName_(nwfpsf.kName_),
+    nuName_(nwfpsf.nuName_)
 {}
 
 
 nutWallFunctionFvPatchScalarField::
 nutWallFunctionFvPatchScalarField
 (
-    const nutWallFunctionFvPatchScalarField& tppsf,
+    const nutWallFunctionFvPatchScalarField& nwfpsf,
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(tppsf, iF)
+    fixedValueFvPatchScalarField(nwfpsf, iF),
+    kName_(nwfpsf.kName_),
+    nuName_(nwfpsf.nuName_)
 {}
 
 
@@ -112,10 +122,10 @@ void nutWallFunctionFvPatchScalarField::updateCoeffs()
 
     const scalarField& y = ras.y()[patch().index()];
 
-    const volScalarField& k = db().lookupObject<volScalarField>("k");
+    const volScalarField& k = db().lookupObject<volScalarField>(kName_);
 
     const scalarField& nuw =
-        patch().lookupPatchField<volScalarField, scalar>("nu");
+        patch().lookupPatchField<volScalarField, scalar>(nuName_);
 
     scalarField& nutw = *this;
 
@@ -140,6 +150,8 @@ void nutWallFunctionFvPatchScalarField::updateCoeffs()
 void nutWallFunctionFvPatchScalarField::write(Ostream& os) const
 {
     fvPatchField<scalar>::write(os);
+    writeEntryIfDifferent<word>(os, "k", "k", kName_);
+    writeEntryIfDifferent<word>(os, "nu", "nu", nuName_);
     writeEntry("value", os);
 }
 
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H
index 149ebdf3214599880e98dd971b8c2bf4bedcf0ee..6f77f7cbb1af6056fdbd210bad8c7944fd2f6686 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H
@@ -57,6 +57,14 @@ class nutWallFunctionFvPatchScalarField
 :
     public fixedValueFvPatchScalarField
 {
+    //Private data
+
+        //- Name of turbulence kinetic energy field
+        word kName_;
+
+        //- Name of laminar viscosity field
+        word nuName_;
+
 
 public:
 
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
index 84793a2c4208e2d33e42be64826b625ba8658da1..f6a3b6a191fdeeef6fb8de8d729259989d129183 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
@@ -64,7 +64,12 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedInternalValueFvPatchField<scalar>(p, iF)
+    fixedInternalValueFvPatchField<scalar>(p, iF),
+    UName_("U"),
+    kName_("k"),
+    GName_("G"),
+    nuName_("nu"),
+    nutName_("nut")
 {
     checkType();
 }
@@ -78,7 +83,12 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
     const fvPatchFieldMapper& mapper
 )
 :
-    fixedInternalValueFvPatchField<scalar>(ptf, p, iF, mapper)
+    fixedInternalValueFvPatchField<scalar>(ptf, p, iF, mapper),
+    UName_(ptf.UName_),
+    kName_(ptf.kName_),
+    GName_(ptf.GName_),
+    nuName_(ptf.nuName_),
+    nutName_(ptf.nutName_)
 {
     checkType();
 }
@@ -91,7 +101,12 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedInternalValueFvPatchField<scalar>(p, iF, dict)
+    fixedInternalValueFvPatchField<scalar>(p, iF, dict),
+    UName_(dict.lookupOrDefault<word>("U", "U")),
+    kName_(dict.lookupOrDefault<word>("k", "k")),
+    GName_(dict.lookupOrDefault<word>("G", "G")),
+    nuName_(dict.lookupOrDefault<word>("nu", "nu")),
+    nutName_(dict.lookupOrDefault<word>("nut", "nut"))
 {
     checkType();
 }
@@ -99,10 +114,15 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
 
 omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
 (
-    const omegaWallFunctionFvPatchScalarField& ewfpsf
+    const omegaWallFunctionFvPatchScalarField& owfpsf
 )
 :
-    fixedInternalValueFvPatchField<scalar>(ewfpsf)
+    fixedInternalValueFvPatchField<scalar>(owfpsf),
+    UName_(owfpsf.UName_),
+    kName_(owfpsf.kName_),
+    GName_(owfpsf.GName_),
+    nuName_(owfpsf.nuName_),
+    nutName_(owfpsf.nutName_)
 {
     checkType();
 }
@@ -110,11 +130,16 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
 
 omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField
 (
-    const omegaWallFunctionFvPatchScalarField& ewfpsf,
+    const omegaWallFunctionFvPatchScalarField& owfpsf,
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedInternalValueFvPatchField<scalar>(ewfpsf, iF)
+    fixedInternalValueFvPatchField<scalar>(owfpsf, iF),
+    UName_(owfpsf.UName_),
+    kName_(owfpsf.kName_),
+    GName_(owfpsf.GName_),
+    nuName_(owfpsf.nuName_),
+    nutName_(owfpsf.nutName_)
 {
     checkType();
 }
@@ -135,21 +160,21 @@ void omegaWallFunctionFvPatchScalarField::updateCoeffs()
     const scalarField& y = ras.y()[patch().index()];
 
     volScalarField& G = const_cast<volScalarField&>
-        (db().lookupObject<volScalarField>("G"));
+        (db().lookupObject<volScalarField>(GName_));
 
     volScalarField& omega = const_cast<volScalarField&>
-        (db().lookupObject<volScalarField>("omega"));
+        (db().lookupObject<volScalarField>(dimensionedInternalField().name()));
 
-    const scalarField& k = db().lookupObject<volScalarField>("k");
+    const scalarField& k = db().lookupObject<volScalarField>(kName_);
 
     const scalarField& nuw =
-        patch().lookupPatchField<volScalarField, scalar>("nu");
+        patch().lookupPatchField<volScalarField, scalar>(nuName_);
 
     const scalarField& nutw =
-        patch().lookupPatchField<volScalarField, scalar>("nut");
+        patch().lookupPatchField<volScalarField, scalar>(nutName_);
 
     const fvPatchVectorField& Uw =
-        patch().lookupPatchField<volVectorField, vector>("U");
+        patch().lookupPatchField<volVectorField, vector>(UName_);
 
     const scalarField magGradUw = mag(Uw.snGrad());
 
@@ -183,6 +208,11 @@ void omegaWallFunctionFvPatchScalarField::updateCoeffs()
 void omegaWallFunctionFvPatchScalarField::write(Ostream& os) const
 {
     fixedInternalValueFvPatchField<scalar>::write(os);
+    writeEntryIfDifferent<word>(os, "U", "U", UName_);
+    writeEntryIfDifferent<word>(os, "k", "k", kName_);
+    writeEntryIfDifferent<word>(os, "G", "G", GName_);
+    writeEntryIfDifferent<word>(os, "nu", "nu", nuName_);
+    writeEntryIfDifferent<word>(os, "nut", "nut", nutName_);
     writeEntry("value", os);
 }
 
diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H
index 37c8d90188a9e913c6e5c13795e83cda5ac53308..8f9e123ccfc0e5678c2ec68a663e868500fad9ca 100644
--- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H
+++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H
@@ -55,6 +55,23 @@ class omegaWallFunctionFvPatchScalarField
 :
     public fixedInternalValueFvPatchField<scalar>
 {
+    // Private data
+
+        //- Name of velocity field
+        word UName_;
+
+        //- Name of turbulence kinetic energy field
+        word kName_;
+
+        //- Name of turbulence generation field
+        word GName_;
+
+        //- Name of laminar viscosity field
+        word nuName_;
+
+        //- Name of turbulent viscosity field
+        word nutName_;
+
 
     // Private member functions
 
diff --git a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C b/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C
index ad8d3d14f78240ef386a4db0eb629fdd3a9328fd..a45ff8c33b1594741ab0d0c61fefd967fe5655b1 100644
--- a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C
+++ b/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C
@@ -101,9 +101,6 @@ kOmega::kOmega
         )
     ),
 
-    omega0_("omega0", dimless/dimTime, SMALL),
-    omegaSmall_("omegaSmall", dimless/dimTime, SMALL),
-
     k_
     (
         IOobject
@@ -271,7 +268,7 @@ void kOmega::correct()
 
 
     // Re-calculate viscosity
-    nut_ == k_/omega_;
+    nut_ == k_/(omega_ + omegaSmall_);
     nut_.correctBoundaryConditions();
 }
 
diff --git a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.H b/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.H
index d07d8a5fcbbd80bd9cfbe972cfd335920a60dc1b..649a13abe7976735ce54ef074575b54850778192 100644
--- a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.H
+++ b/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.H
@@ -90,10 +90,6 @@ class kOmega
             dimensionedScalar alphaOmega_;
 
 
-            dimensionedScalar omega0_;
-            dimensionedScalar omegaSmall_;
-
-
         // Fields
 
             volScalarField k_;
diff --git a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C
index a066017a64472ee82e60a1a15a40bc674b7ce46e..6a737fce49fb5b4c1cb41f39818d314fa5ed4ad7 100644
--- a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C
+++ b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C
@@ -198,19 +198,6 @@ kOmegaSST::kOmegaSST
         )
     ),
 
-    omega0_("omega0", dimless/dimTime, SMALL),
-    omegaSmall_("omegaSmall", dimless/dimTime, SMALL),
-
-    Cmu_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Cmu",
-            coeffDict_,
-            0.09
-        )
-    ),
-
     y_(mesh_),
 
     k_
@@ -331,7 +318,6 @@ bool kOmegaSST::read()
         betaStar_.readIfPresent(coeffDict_);
         a1_.readIfPresent(coeffDict_);
         c1_.readIfPresent(coeffDict_);
-        Cmu_.readIfPresent(coeffDict_);
 
         return true;
     }
diff --git a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H
index 8994b1ab3aa875d4adab233d9a449164086d3470..4563853801218285b5301896e507c52aac456adb 100644
--- a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H
+++ b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H
@@ -57,7 +57,6 @@ Description
     @verbatim
         kOmegaSST
         {
-            Cmu         0.09;
             alphaK1     0.85034;
             alphaK2     1.0;
             alphaOmega1 0.5;
@@ -103,33 +102,33 @@ class kOmegaSST
 {
     // Private data
 
-        dimensionedScalar alphaK1_;
-        dimensionedScalar alphaK2_;
+        // Model coefficients
+            dimensionedScalar alphaK1_;
+            dimensionedScalar alphaK2_;
 
-        dimensionedScalar alphaOmega1_;
-        dimensionedScalar alphaOmega2_;
+            dimensionedScalar alphaOmega1_;
+            dimensionedScalar alphaOmega2_;
 
-        dimensionedScalar gamma1_;
-        dimensionedScalar gamma2_;
+            dimensionedScalar gamma1_;
+            dimensionedScalar gamma2_;
 
-        dimensionedScalar beta1_;
-        dimensionedScalar beta2_;
+            dimensionedScalar beta1_;
+            dimensionedScalar beta2_;
 
-        dimensionedScalar betaStar_;
+            dimensionedScalar betaStar_;
 
-        dimensionedScalar a1_;
-        dimensionedScalar c1_;
-
-        dimensionedScalar omega0_;
-        dimensionedScalar omegaSmall_;
-
-        dimensionedScalar Cmu_;
+            dimensionedScalar a1_;
+            dimensionedScalar c1_;
 
+        //- Wall distance field
+        //  Note: different to wall distance in parent RASModel
         wallDist y_;
 
-        volScalarField k_;
-        volScalarField omega_;
-        volScalarField nut_;
+        // Fields
+
+            volScalarField k_;
+            volScalarField omega_;
+            volScalarField nut_;
 
 
     // Private member functions