diff --git a/etc/templates/boundaryConditions/fluid/buoyant/inletOptions b/etc/templates/boundaryConditions/fluid/buoyant/inletOptions
index 16788e99efe72df0b28108853fb2b7e4a9275947..1256b51f26f4174d1ab38729e5069603eb8f57fb 100644
--- a/etc/templates/boundaryConditions/fluid/buoyant/inletOptions
+++ b/etc/templates/boundaryConditions/fluid/buoyant/inletOptions
@@ -22,17 +22,17 @@ flowSpecification
         U
         {
             type        pressureInletVelocity;
-            value       ${:inlet.U};
+            value       ${:VALUE.U};
         }
         p
         {
             type        calculated;
-            value       ${:inlet.p};
+            value       ${:VALUE.p};
         }
         p_rgh
         {
             type        fixedValue;
-            value       ${:inlet.p_rgh};
+            value       ${:VALUE.p_rgh};
         }
     }
     fixedVelocity
@@ -45,7 +45,7 @@ flowSpecification
         p
         {
             type        calculated;
-            value       ${:inlet.p};
+            value       ${:VALUE.p};
         }
         p_rgh
         {
diff --git a/etc/templates/boundaryConditions/fluid/buoyant/outlet b/etc/templates/boundaryConditions/fluid/buoyant/outlet
index 8161894e0092a3780b9dd177ecb3b92010bf1340..1ca83b47355c349cb34d64ef1ae2fe3a2349bd11 100644
--- a/etc/templates/boundaryConditions/fluid/buoyant/outlet
+++ b/etc/templates/boundaryConditions/fluid/buoyant/outlet
@@ -28,11 +28,6 @@ subSonic
         type        calculated;
         value       ${:VALUE.p};
     }
-    p_rgh
-    {
-        type        fixedValue;
-        value       ${:VALUE.p_rgh};
-    }
     mut
     {
         type        zeroGradient;
diff --git a/etc/templates/boundaryConditions/fluid/buoyant/outletOptions b/etc/templates/boundaryConditions/fluid/buoyant/outletOptions
new file mode 100644
index 0000000000000000000000000000000000000000..268e50efd746be2bc3093f4584730c8da09a0028
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/buoyant/outletOptions
@@ -0,0 +1,52 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  2.2.0                                 |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "templates";
+    object      outletOptions;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+returnFlow
+{
+    default
+    {
+        p_rgh
+        {
+            type        fixedValue;
+            value       ${:VALUE.p_rgh};
+        }
+    }
+    wall
+    {
+        p_rgh
+        {
+            type        fixedValue;
+            value       ${:VALUE.p_rgh};
+        }
+    }
+    atmosphere
+    {
+        p_rgh
+        {
+            type        totalPressure;
+            U           U;
+            phi         phi;
+            rho         rho;
+            psi         none;
+            gamma       1;
+            p0          ${:outlet.p_rgh};
+            value       ${:outlet.p_rgh};
+        }
+    }
+}
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/buoyant/wallOptions b/etc/templates/boundaryConditions/fluid/buoyant/wallOptions
index 51271ee513c84279ca8c8e81840c46e4551b9083..40423888e2a127140faa3ebd195f5347a1ea76b6 100644
--- a/etc/templates/boundaryConditions/fluid/buoyant/wallOptions
+++ b/etc/templates/boundaryConditions/fluid/buoyant/wallOptions
@@ -19,9 +19,24 @@ wallFunction
 {
     highReynolds
     {
+        k
+        {
+            type        compressible::kqRWallFunction;
+            value       ${:VALUE.k};
+        }
+        epsilon
+        {
+            type        compressible::epsilonWallFunction;
+            value       ${:VALUE.epsilon};
+        }
+        omega
+        {
+            type        compressible::omegaWallFunction;
+            value       ${:VALUE.omega};
+        }
         mut
         {
-            type        compressible::mutkWallFunction;
+            type        mutkWallFunction;
             value       ${:VALUE.mut};
         }
         alphat
@@ -32,6 +47,21 @@ wallFunction
     }
     lowReynolds
     {
+        k
+        {
+            type        fixedValue;
+            value       uniform 0;
+        }
+        epsilon
+        {
+            type        fixedValue;
+            value       uniform 0;
+        }
+        omega
+        {
+            type        fixedValue;
+            value       uniform 0;
+        }
         mut
         {
             type        fixedValue;
diff --git a/etc/templates/boundaryConditions/fluid/compressible/inletOptions b/etc/templates/boundaryConditions/fluid/compressible/inletOptions
index 1fe983b2a91e6775516e5e83b663006e6c11f063..218eec65ad44d43d10fb56a0704556d9c5787b37 100644
--- a/etc/templates/boundaryConditions/fluid/compressible/inletOptions
+++ b/etc/templates/boundaryConditions/fluid/compressible/inletOptions
@@ -22,7 +22,7 @@ flowSpecification
         U
         {
             type        pressureInletVelocity;
-            value       ${:inlet.U};
+            value       ${:VALUE.U};
         }
         p
         {
@@ -32,8 +32,8 @@ flowSpecification
             rho         rho;
             psi         none;
             gamma       1;
-            p0          ${:inlet.p};
-            value       ${:inlet.p};
+            p0          ${:VALUE.p};
+            value       ${:VALUE.p};
         }
     }
     flowRate
diff --git a/etc/templates/boundaryConditions/fluid/compressible/outletOptions b/etc/templates/boundaryConditions/fluid/compressible/outletOptions
new file mode 100644
index 0000000000000000000000000000000000000000..569da985aa6d64bdb73e54f84b19c509969461b4
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/compressible/outletOptions
@@ -0,0 +1,37 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  2.2.0                                 |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "templates";
+    object      outlet;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+returnFlow
+{
+    atmosphere
+    {
+        p
+        {
+            type        totalPressure;
+            U           U;
+            phi         phi;
+            rho         rho;
+            psi         none;
+            gamma       1;
+            p0          ${:VALUE.p};
+            value       ${:VALUE.p};
+        }
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/compressible/wallOptions b/etc/templates/boundaryConditions/fluid/compressible/wallOptions
index 186c0ca1fe065f93023cc500e0ee205a8abd4081..40423888e2a127140faa3ebd195f5347a1ea76b6 100644
--- a/etc/templates/boundaryConditions/fluid/compressible/wallOptions
+++ b/etc/templates/boundaryConditions/fluid/compressible/wallOptions
@@ -19,10 +19,25 @@ wallFunction
 {
     highReynolds
     {
+        k
+        {
+            type        compressible::kqRWallFunction;
+            value       ${:VALUE.k};
+        }
+        epsilon
+        {
+            type        compressible::epsilonWallFunction;
+            value       ${:VALUE.epsilon};
+        }
+        omega
+        {
+            type        compressible::omegaWallFunction;
+            value       ${:VALUE.omega};
+        }
         mut
         {
-            type        compressible::mutkWallFunction;
-            value       ${:VALUE.nut};
+            type        mutkWallFunction;
+            value       ${:VALUE.mut};
         }
         alphat
         {
@@ -32,6 +47,21 @@ wallFunction
     }
     lowReynolds
     {
+        k
+        {
+            type        fixedValue;
+            value       uniform 0;
+        }
+        epsilon
+        {
+            type        fixedValue;
+            value       uniform 0;
+        }
+        omega
+        {
+            type        fixedValue;
+            value       uniform 0;
+        }
         mut
         {
             type        fixedValue;
diff --git a/etc/templates/boundaryConditions/fluid/incompressible/inletOptions b/etc/templates/boundaryConditions/fluid/incompressible/inletOptions
index 18ea42d80107e88c7a1818acda05d02dc4193dbe..9299b12d03dde7cc3d80e50068269e1e89fa5f6b 100644
--- a/etc/templates/boundaryConditions/fluid/incompressible/inletOptions
+++ b/etc/templates/boundaryConditions/fluid/incompressible/inletOptions
@@ -22,7 +22,7 @@ flowSpecification
         U
         {
             type        pressureInletVelocity;
-            value       ${:inlet.U};
+            value       ${:VALUE.U};
         }
         p
         {
@@ -32,8 +32,8 @@ flowSpecification
             rho         none;
             psi         none;
             gamma       1;
-            p0          ${:inlet.p};
-            value       ${:inlet.p};
+            p0          ${:VALUE.p};
+            value       ${:VALUE.p};
         }
     }
     flowRate
diff --git a/etc/templates/boundaryConditions/fluid/incompressible/outlet b/etc/templates/boundaryConditions/fluid/incompressible/outlet
index 763413464577639554824cf3b16dd8c32a1af2ef..cb2f67dab861be816950e2734c367050ebbea02e 100644
--- a/etc/templates/boundaryConditions/fluid/incompressible/outlet
+++ b/etc/templates/boundaryConditions/fluid/incompressible/outlet
@@ -24,13 +24,4 @@ subSonic
 }
 
 
-subSonicNoReturn
-{
-    nut
-    {
-        type        zeroGradient;
-    }
-}
-
-
 // ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/inletOptions b/etc/templates/boundaryConditions/fluid/inletOptions
index 89230ca19ac0ae278204379d820715512bbc3d06..e0568cf66786d5b4ec11f0b1e027ee2b45b61727 100644
--- a/etc/templates/boundaryConditions/fluid/inletOptions
+++ b/etc/templates/boundaryConditions/fluid/inletOptions
@@ -22,12 +22,12 @@ flowSpecification
         U
         {
             type        pressureInletVelocity;
-            value       ${:inlet.U};
+            value       ${:VALUE.U};
         }
         p
         {
             type        fixedValue;
-            value       ${:inlet.p};
+            value       ${:VALUE.p};
         }
     }
     fixedVelocity
diff --git a/etc/templates/boundaryConditions/fluid/outlet b/etc/templates/boundaryConditions/fluid/outlet
index c3d368b89e398500d8b60f13686e362845ea278d..4027a99702f03b043f47c635c2f1ff027f9e692f 100644
--- a/etc/templates/boundaryConditions/fluid/outlet
+++ b/etc/templates/boundaryConditions/fluid/outlet
@@ -17,24 +17,6 @@ FoamFile
 
 subSonic
 {
-    p
-    {
-        type        fixedValue;
-        value       ${:VALUE.p};
-    }
-    k
-    {
-        type        zeroGradient;
-    }
-    epsilon
-    {
-        type        zeroGradient;
-    }
-    omega
-    {
-        type        zeroGradient;
-    }
-
     OPTIONS         (returnFlow);
 }
 
diff --git a/etc/templates/boundaryConditions/fluid/outletOptions b/etc/templates/boundaryConditions/fluid/outletOptions
index 068aca008eb19acf5bd45ed6717c355df793ba60..075b0e8bca0e8a6ea1220a0ce1029c81dd2ece6a 100644
--- a/etc/templates/boundaryConditions/fluid/outletOptions
+++ b/etc/templates/boundaryConditions/fluid/outletOptions
@@ -19,20 +19,97 @@ returnFlow
 {
     default
     {
+        p
+        {
+            type        fixedValue;
+            value       ${:VALUE.p};
+        }
         U
         {
             type        pressureInletOutletVelocity;
             value       ${:VALUE.U};
         }
+        k
+        {
+            type        inletOutlet;
+            inletValue  ${:VALUE.k};
+            value       ${:VALUE.k};
+        }
+        epsilon
+        {
+            type        inletOutlet;
+            inletValue  ${:VALUE.epsilon};
+            value       ${:VALUE.epsilon};
+        }
+        omega
+        {
+            type        inletOutlet;
+            inletValue  ${:VALUE.omega};
+            value       ${:VALUE.omega};
+        }
     }
     wall
     {
+        p
+        {
+            type        fixedValue;
+            value       ${:VALUE.p};
+        }
         U
         {
             type        inletOutlet;
             inletValue  uniform (0 0 0);
             value       ${:VALUE.U};
         }
+        k
+        {
+            type        zeroGradient;
+        }
+        epsilon
+        {
+            type        zeroGradient;
+        }
+        omega
+        {
+            type        zeroGradient;
+        }
+    }
+    atmosphere
+    {
+        p
+        {
+            type        totalPressure;
+            U           U;
+            phi         phi;
+            rho         none;
+            psi         none;
+            gamma       1;
+            p0          ${:VALUE.p};
+            value       ${:VALUE.p};
+        }
+        U
+        {
+            type        pressureInletOutletVelocity;
+            value       ${:VALUE.U};
+        }
+        k
+        {
+            type        inletOutlet;
+            inletValue  ${:VALUE.k};
+            value       ${:VALUE.k};
+        }
+        epsilon
+        {
+            type        inletOutlet;
+            inletValue  ${:VALUE.epsilon};
+            value       ${:VALUE.epsilon};
+        }
+        omega
+        {
+            type        inletOutlet;
+            inletValue  ${:VALUE.omega};
+            value       ${:VALUE.omega};
+        }
     }
 }
 
diff --git a/etc/templates/boundaryConditions/fluid/wallOptions b/etc/templates/boundaryConditions/fluid/wallOptions
index 3d3fdabae6642f7747f4d248763ac101d902642d..a1f68a5bba29554d3c46131e4c65f3e2a78d0fc1 100644
--- a/etc/templates/boundaryConditions/fluid/wallOptions
+++ b/etc/templates/boundaryConditions/fluid/wallOptions
@@ -73,6 +73,14 @@ motion
             value       ${:VALUE.U};
         }
     }
+    movingMesh
+    {
+        U
+        {
+            type        movingWallVelocity;
+            value       ${:VALUE.U};
+        }
+    }
 }
 
 
diff --git a/etc/templates/models/turbulence/kEpsilon b/etc/templates/models/turbulence/kEpsilon
index 0076c15dff2b4d3f594779aaf4a2587c4253ebe9..8365d855e2069e602614f9ea3bc7a40faea1bb0a 100644
--- a/etc/templates/models/turbulence/kEpsilon
+++ b/etc/templates/models/turbulence/kEpsilon
@@ -50,6 +50,11 @@ compressibleFields
         type        scalar;
         dimensions  [1 -1 -1 0 0];
     }
+    alphat
+    {
+        type        scalar;
+        dimensions  [1 -1 -1 0 0];
+    }
 }
 
 // ************************************************************************* //
diff --git a/etc/templates/solvers/pimpleFoam b/etc/templates/solvers/pimpleFoam
new file mode 100644
index 0000000000000000000000000000000000000000..61abf0e14b84f6b7dea5fc8b41c3a62d9ff44af2
--- /dev/null
+++ b/etc/templates/solvers/pimpleFoam
@@ -0,0 +1,41 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  2.2.0                                 |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "templates";
+    object      pimpleFoam;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solverType  incompressible;
+
+multiRegion no;
+
+fluidModels
+{
+    turbulenceModel  turbulenceModel;
+}
+
+fluidFields
+{
+    U
+    {
+        type        vector;
+        dimensions  [0 1 -1 0 0];
+    }
+    p
+    {
+        type        scalar;
+        dimensions  [0 2 -2 0 0];
+    }
+}
+
+// ************************************************************************* //
diff --git a/etc/templates/solvers/pisoFoam b/etc/templates/solvers/pisoFoam
new file mode 100644
index 0000000000000000000000000000000000000000..8cdb267f95438ceccf1c33017ce76f6cbed2cd29
--- /dev/null
+++ b/etc/templates/solvers/pisoFoam
@@ -0,0 +1,41 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  2.2.0                                 |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "templates";
+    object      pisoFoam;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solverType  incompressible;
+
+multiRegion no;
+
+fluidModels
+{
+    turbulenceModel  turbulenceModel;
+}
+
+fluidFields
+{
+    U
+    {
+        type        vector;
+        dimensions  [0 1 -1 0 0];
+    }
+    p
+    {
+        type        scalar;
+        dimensions  [0 2 -2 0 0];
+    }
+}
+
+// ************************************************************************* //
diff --git a/etc/templates/solvers/rhoPimpleDyMFoam b/etc/templates/solvers/rhoPimpleDyMFoam
new file mode 100644
index 0000000000000000000000000000000000000000..5714246ee4694604b9dda1cd3a744bcfac3a615d
--- /dev/null
+++ b/etc/templates/solvers/rhoPimpleDyMFoam
@@ -0,0 +1,46 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  2.2.0                                 |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "templates";
+    object      rhoPimpleDyMFoam;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solverType  compressible;
+
+multiRegion no;
+
+fluidModels
+{
+    turbulenceModel  turbulenceModel;
+}
+
+fluidFields
+{
+    U
+    {
+        type        vector;
+        dimensions  [0 1 -1 0 0];
+    }
+    p
+    {
+        type        scalar;
+        dimensions  [1 -1 -2 0 0];
+    }
+    T
+    {
+        type        scalar;
+        dimensions  [0 0 0 1 0];
+    }
+}
+
+// ************************************************************************* //
diff --git a/etc/templates/solvers/rhoPimpleFoam b/etc/templates/solvers/rhoPimpleFoam
new file mode 100644
index 0000000000000000000000000000000000000000..016f399c268390b77e6504a2f70ccc0a679a68aa
--- /dev/null
+++ b/etc/templates/solvers/rhoPimpleFoam
@@ -0,0 +1,46 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  2.2.0                                 |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "templates";
+    object      rhoPimpleFoam;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solverType  compressible;
+
+multiRegion no;
+
+fluidModels
+{
+    turbulenceModel  turbulenceModel;
+}
+
+fluidFields
+{
+    U
+    {
+        type        vector;
+        dimensions  [0 1 -1 0 0];
+    }
+    p
+    {
+        type        scalar;
+        dimensions  [1 -1 -2 0 0];
+    }
+    T
+    {
+        type        scalar;
+        dimensions  [0 0 0 1 0];
+    }
+}
+
+// ************************************************************************* //