diff --git a/etc/templates/boundaryConditions/boundaries b/etc/templates/boundaryConditions/boundaries
new file mode 100644
index 0000000000000000000000000000000000000000..3ae64b17676eae6a7d5cab4a3b62b9c57bc90ce1
--- /dev/null
+++ b/etc/templates/boundaryConditions/boundaries
@@ -0,0 +1,31 @@
+/*--------------------------------*- 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      boundaries;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+fluid
+(
+    inlet
+    outlet
+    wall
+);
+
+solid
+(
+    wall
+);
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/buoyant/inlet b/etc/templates/boundaryConditions/fluid/buoyant/inlet
new file mode 100644
index 0000000000000000000000000000000000000000..e66a7700df06981e8a05328e29fd72f900411bbd
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/buoyant/inlet
@@ -0,0 +1,48 @@
+/*--------------------------------*- 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      inlet;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+subSonic
+{
+    p
+    {
+        type        calculated;
+        value       ${:VALUE.p};
+    }
+    p_rgh
+    {
+        type        fixedFluxPressure;
+        value       ${:VALUE.p_rgh};
+    }
+    T
+    {
+        type        fixedValue;
+        value       ${:VALUE.T};
+    }
+    mut
+    {
+        type        fixedValue;
+        value       ${:VALUE.mut};
+    }
+    alphat
+    {
+        type        fixedValue;
+        value       ${:VALUE.alphat};
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/buoyant/inletOptions b/etc/templates/boundaryConditions/fluid/buoyant/inletOptions
new file mode 100644
index 0000000000000000000000000000000000000000..16788e99efe72df0b28108853fb2b7e4a9275947
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/buoyant/inletOptions
@@ -0,0 +1,77 @@
+l/*--------------------------------*- 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      inlet;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+flowSpecification
+{
+    fixedPressure
+    {
+        U
+        {
+            type        pressureInletVelocity;
+            value       ${:inlet.U};
+        }
+        p
+        {
+            type        calculated;
+            value       ${:inlet.p};
+        }
+        p_rgh
+        {
+            type        fixedValue;
+            value       ${:inlet.p_rgh};
+        }
+    }
+    fixedVelocity
+    {
+        U
+        {
+            type        fixedValue;
+            value       ${:VALUE.U};
+        }
+        p
+        {
+            type        calculated;
+            value       ${:inlet.p};
+        }
+        p_rgh
+        {
+            type        zeroGradient;
+        }
+    }
+    flowRate
+    {
+        U
+        {
+            type        flowRateInletVelocity;
+            massFlowRate ${:VALUE.massFlowRate};
+            value       ${:VALUE.U};
+        }
+        p
+        {
+            type        calculated;
+            value       ${:VALUE.p};
+        }
+        p_rgh
+        {
+            type        fixedFluxPressure;
+            value       ${:VALUE.p_rgh};
+        }
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/buoyant/outlet b/etc/templates/boundaryConditions/fluid/buoyant/outlet
new file mode 100644
index 0000000000000000000000000000000000000000..8161894e0092a3780b9dd177ecb3b92010bf1340
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/buoyant/outlet
@@ -0,0 +1,47 @@
+/*--------------------------------*- 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;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+subSonic
+{
+    T
+    {
+        type        inletOutlet;
+        inletValue  ${:VALUE.T};
+        value       ${:VALUE.T};
+    }
+    p
+    {
+        type        calculated;
+        value       ${:VALUE.p};
+    }
+    p_rgh
+    {
+        type        fixedValue;
+        value       ${:VALUE.p_rgh};
+    }
+    mut
+    {
+        type        zeroGradient;
+    }
+    alphat
+    {
+        type        zeroGradient;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/buoyant/wall b/etc/templates/boundaryConditions/fluid/buoyant/wall
new file mode 100644
index 0000000000000000000000000000000000000000..5e51fbdc20b7124df50214316e447f42d27b9b23
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/buoyant/wall
@@ -0,0 +1,58 @@
+/*--------------------------------*- 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      wall;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+noSlip
+{
+    p
+    {
+        type        calculated;
+        value       ${:VALUE.p};
+    }
+    p_rgh
+    {
+        type        fixedFluxPressure;
+        value       ${:VALUE.p_rgh};
+    }
+    OPTIONS         (wallFunction motion heatTransfer);
+}
+
+
+slip
+{
+    p
+    {
+        type        calculated;
+        value       ${:VALUE.p};
+    }
+    p_rgh
+    {
+        type        fixedFluxPressure;
+        value       ${:VALUE.p_rgh};
+    }
+    mut
+    {
+        type        zeroGradient;
+    }
+    alphat
+    {
+        type        zeroGradient;
+    }
+    OPTIONS         (heatTransfer);
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/buoyant/wallOptions b/etc/templates/boundaryConditions/fluid/buoyant/wallOptions
new file mode 100644
index 0000000000000000000000000000000000000000..51271ee513c84279ca8c8e81840c46e4551b9083
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/buoyant/wallOptions
@@ -0,0 +1,80 @@
+/*--------------------------------*- 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      wallOptions;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+wallFunction
+{
+    highReynolds
+    {
+        mut
+        {
+            type        compressible::mutkWallFunction;
+            value       ${:VALUE.mut};
+        }
+        alphat
+        {
+            type        compressible::alphatWallFunction;
+            value       ${:VALUE.alphat};
+        }
+    }
+    lowReynolds
+    {
+        mut
+        {
+            type        fixedValue;
+            value       uniform 0;
+        }
+        alphat
+        {
+            type        fixedValue;
+            value       uniform 0;
+        }
+    }
+}
+
+
+heatTransfer
+{
+    adiabatic
+    {
+        T
+        {
+            type        zeroGradient;
+        }
+    }
+    fixedTemperature
+    {
+        T
+        {
+            type        fixedValue;
+            value       ${:VALUE.T};
+        }
+    }
+    thermalCoupled
+    {
+        T
+        {
+            type        compressible::turbulentTemperatureCoupledBaffleMixed;
+            value       ${:VALUE.T};
+            Tnbr        T;
+            kappa       fluidThermo;
+            kappaName   none;
+        }
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/compressible/inlet b/etc/templates/boundaryConditions/fluid/compressible/inlet
new file mode 100644
index 0000000000000000000000000000000000000000..e6c69f33d461a3fe6ec00b40c6edce709d386e8b
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/compressible/inlet
@@ -0,0 +1,38 @@
+/*--------------------------------*- 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      inlet;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+subSonic
+{
+    T
+    {
+        type        fixedValue;
+        value       ${:VALUE.T};
+    }
+    mut
+    {
+        type        fixedValue;
+        value       ${:VALUE.mut};
+    }
+    alphat
+    {
+        type        fixedValue;
+        value       ${:VALUE.alphat};
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/compressible/inletOptions b/etc/templates/boundaryConditions/fluid/compressible/inletOptions
new file mode 100644
index 0000000000000000000000000000000000000000..1fe983b2a91e6775516e5e83b663006e6c11f063
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/compressible/inletOptions
@@ -0,0 +1,54 @@
+/*--------------------------------*- 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      inletOptions;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+flowSpecification
+{
+    fixedTotalPressure
+    {
+        U
+        {
+            type        pressureInletVelocity;
+            value       ${:inlet.U};
+        }
+        p
+        {
+            type        totalPressure;
+            U           U;
+            phi         phi;
+            rho         rho;
+            psi         none;
+            gamma       1;
+            p0          ${:inlet.p};
+            value       ${:inlet.p};
+        }
+    }
+    flowRate
+    {
+        U
+        {
+            type        flowRateInletVelocity;
+            massFlowRate ${:VALUE.massFlowRate};
+            value       ${:VALUE.U};
+        }
+        p
+        {
+            type        zeroGradient;
+        }
+    }
+}
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/compressible/outlet b/etc/templates/boundaryConditions/fluid/compressible/outlet
new file mode 100644
index 0000000000000000000000000000000000000000..d5846132bd4f3e4fddb61e5169af70950416c007
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/compressible/outlet
@@ -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;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+subSonic
+{
+    T
+    {
+        type        inletOutlet;
+        inletValue  ${:VALUE.T};
+        value       ${:VALUE.T};
+    }
+    mut
+    {
+        type        zeroGradient;
+    }
+    alphat
+    {
+        type        zeroGradient;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/compressible/wall b/etc/templates/boundaryConditions/fluid/compressible/wall
new file mode 100644
index 0000000000000000000000000000000000000000..aecd3329030b7482a53b4405cb03c8ac3b690ea7
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/compressible/wall
@@ -0,0 +1,39 @@
+/*--------------------------------*- 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      wall;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+noSlip
+{
+    OPTIONS         (wallFunction motion heatTransfer);
+}
+
+
+slip
+{
+    mut
+    {
+        type        zeroGradient;
+    }
+    alphat
+    {
+        type        zeroGradient;
+    }
+
+    OPTIONS         (heatTransfer);
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/compressible/wallOptions b/etc/templates/boundaryConditions/fluid/compressible/wallOptions
new file mode 100644
index 0000000000000000000000000000000000000000..186c0ca1fe065f93023cc500e0ee205a8abd4081
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/compressible/wallOptions
@@ -0,0 +1,80 @@
+/*--------------------------------*- 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      wallOptions;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+wallFunction
+{
+    highReynolds
+    {
+        mut
+        {
+            type        compressible::mutkWallFunction;
+            value       ${:VALUE.nut};
+        }
+        alphat
+        {
+            type        compressible::alphatWallFunction;
+            value       ${:VALUE.alphat};
+        }
+    }
+    lowReynolds
+    {
+        mut
+        {
+            type        fixedValue;
+            value       uniform 0;
+        }
+        alphat
+        {
+            type        fixedValue;
+            value       uniform 0;
+        }
+    }
+}
+
+
+heatTransfer
+{
+    adiabatic
+    {
+        T
+        {
+            type        zeroGradient;
+        }
+    }
+    fixedTemperature
+    {
+        T
+        {
+            type        fixedValue;
+            value       ${:VALUE.T};
+        }
+    }
+    thermalCoupled
+    {
+        T
+        {
+            type        compressible::turbulentTemperatureCoupledBaffleMixed;
+            value       ${:VALUE.T};
+            Tnbr        T;
+            kappa       fluidThermo;
+            kappaName   none;
+        }
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/incompressible/inlet b/etc/templates/boundaryConditions/fluid/incompressible/inlet
new file mode 100644
index 0000000000000000000000000000000000000000..e5b4828b1cd70f33829902e20bc0522a715a9d8c
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/incompressible/inlet
@@ -0,0 +1,28 @@
+/*--------------------------------*- 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      inlet;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+subSonic
+{
+    nut
+    {
+        type        fixedValue;
+        value       ${:VALUE.nut};
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/incompressible/inletOptions b/etc/templates/boundaryConditions/fluid/incompressible/inletOptions
new file mode 100644
index 0000000000000000000000000000000000000000..18ea42d80107e88c7a1818acda05d02dc4193dbe
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/incompressible/inletOptions
@@ -0,0 +1,54 @@
+/*--------------------------------*- 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      inletOptions;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+flowSpecification
+{
+    fixedTotalPressure
+    {
+        U
+        {
+            type        pressureInletVelocity;
+            value       ${:inlet.U};
+        }
+        p
+        {
+            type        totalPressure;
+            U           U;
+            phi         phi;
+            rho         none;
+            psi         none;
+            gamma       1;
+            p0          ${:inlet.p};
+            value       ${:inlet.p};
+        }
+    }
+    flowRate
+    {
+        U
+        {
+            type        flowRateInletVelocity;
+            volumeFlowRate ${:VALUE.volumeFlowRate};
+            value       ${:VALUE.U};
+        }
+        p
+        {
+            type        zeroGradient;
+        }
+    }
+}
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/incompressible/outlet b/etc/templates/boundaryConditions/fluid/incompressible/outlet
new file mode 100644
index 0000000000000000000000000000000000000000..763413464577639554824cf3b16dd8c32a1af2ef
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/incompressible/outlet
@@ -0,0 +1,36 @@
+/*--------------------------------*- 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;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+subSonic
+{
+    nut
+    {
+        type        zeroGradient;
+    }
+}
+
+
+subSonicNoReturn
+{
+    nut
+    {
+        type        zeroGradient;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/incompressible/wall b/etc/templates/boundaryConditions/fluid/incompressible/wall
new file mode 100644
index 0000000000000000000000000000000000000000..1a0377ef3842dc51852b76418835963038426d19
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/incompressible/wall
@@ -0,0 +1,27 @@
+/*--------------------------------*- 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      wall;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+slip
+{
+    nut
+    {
+        type        zeroGradient;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/incompressible/wallOptions b/etc/templates/boundaryConditions/fluid/incompressible/wallOptions
new file mode 100644
index 0000000000000000000000000000000000000000..ffafd12b7e63c48cc987f9a80f1bb0aadb28a958
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/incompressible/wallOptions
@@ -0,0 +1,39 @@
+/*--------------------------------*- 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      wallOptions;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+wallFunction
+{
+    highReynolds
+    {
+        nut
+        {
+            type        nutkWallFunction;
+            value       ${:VALUE.nut};
+        }
+    }
+    lowReynolds
+    {
+        nut
+        {
+            type        fixedValue;
+            value       uniform 0;
+        }
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/inlet b/etc/templates/boundaryConditions/fluid/inlet
new file mode 100644
index 0000000000000000000000000000000000000000..8dae7541f58f178dfb5ed54cb0bb3d7a1bd9bac3
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/inlet
@@ -0,0 +1,40 @@
+/*--------------------------------*- 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      inlet;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+subSonic
+{
+    k
+    {
+        type        fixedValue;
+        value       ${:VALUE.k};
+    }
+    epsilon
+    {
+        type        fixedValue;
+        value       ${:VALUE.epsilon};
+    }
+    omega
+    {
+        type        fixedValue;
+        value       ${:VALUE.omega};
+    }
+
+    OPTIONS         (flowSpecification);
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/inletOptions b/etc/templates/boundaryConditions/fluid/inletOptions
new file mode 100644
index 0000000000000000000000000000000000000000..89230ca19ac0ae278204379d820715512bbc3d06
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/inletOptions
@@ -0,0 +1,47 @@
+/*--------------------------------*- 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      inletOptions;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+flowSpecification
+{
+    fixedPressure
+    {
+        U
+        {
+            type        pressureInletVelocity;
+            value       ${:inlet.U};
+        }
+        p
+        {
+            type        fixedValue;
+            value       ${:inlet.p};
+        }
+    }
+    fixedVelocity
+    {
+        U
+        {
+            type        fixedValue;
+            value       ${:VALUE.U};
+        }
+        p
+        {
+            type        zeroGradient;
+        }
+    }
+}
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/outlet b/etc/templates/boundaryConditions/fluid/outlet
new file mode 100644
index 0000000000000000000000000000000000000000..c3d368b89e398500d8b60f13686e362845ea278d
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/outlet
@@ -0,0 +1,42 @@
+/*--------------------------------*- 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;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+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
new file mode 100644
index 0000000000000000000000000000000000000000..068aca008eb19acf5bd45ed6717c355df793ba60
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/outletOptions
@@ -0,0 +1,40 @@
+/*--------------------------------*- 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
+{
+    default
+    {
+        U
+        {
+            type        pressureInletOutletVelocity;
+            value       ${:VALUE.U};
+        }
+    }
+    wall
+    {
+        U
+        {
+            type        inletOutlet;
+            inletValue  uniform (0 0 0);
+            value       ${:VALUE.U};
+        }
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/wall b/etc/templates/boundaryConditions/fluid/wall
new file mode 100644
index 0000000000000000000000000000000000000000..f20bcb8abfac2d8b930bf6e10de5ee4d50c4fa14
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/wall
@@ -0,0 +1,54 @@
+/*--------------------------------*- 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      wall;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+noSlip
+{
+    p
+    {
+        type        zeroGradient;
+    }
+
+    OPTIONS         (wallFunction motion);
+}
+
+
+slip
+{
+    U
+    {
+        type        slip;
+    }
+    p
+    {
+        type        zeroGradient;
+    }
+    k
+    {
+        type        zeroGradient;
+    }
+    epsilon
+    {
+        type        zeroGradient;
+    }
+    omega
+    {
+        type        zeroGradient;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/fluid/wallOptions b/etc/templates/boundaryConditions/fluid/wallOptions
new file mode 100644
index 0000000000000000000000000000000000000000..3d3fdabae6642f7747f4d248763ac101d902642d
--- /dev/null
+++ b/etc/templates/boundaryConditions/fluid/wallOptions
@@ -0,0 +1,79 @@
+/*--------------------------------*- 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      wallOptions;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+wallFunction
+{
+    highReynolds
+    {
+        k
+        {
+            type        kqRWallFunction;
+        }
+        epsilon
+        {
+            type        epsilonWallFunction;
+            value       ${:VALUE.epsilon};
+        }
+        omega
+        {
+            type        omegaWallFunction;
+            value       ${:VALUE.omega};
+        }
+    }
+    lowReynolds
+    {
+        k
+        {
+            type        fixedValue;
+            value       uniform 0;
+        }
+        epsilon
+        {
+            type        fixedValue;
+            value       uniform 1e-8;
+        }
+        omega
+        {
+            type        fixedValue;
+            value       uniform 1e-8;
+        }
+    }
+}
+
+
+motion
+{
+    stationary
+    {
+        U
+        {
+            type        fixedValue;
+            value       uniform (0 0 0);
+        }
+    }
+    moving
+    {
+        U
+        {
+            type        fixedValue;
+            value       ${:VALUE.U};
+        }
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/solid/wall b/etc/templates/boundaryConditions/solid/wall
new file mode 100644
index 0000000000000000000000000000000000000000..29ae7ff665941e9525c38f71f5a697e2c4bce2aa
--- /dev/null
+++ b/etc/templates/boundaryConditions/solid/wall
@@ -0,0 +1,30 @@
+/*--------------------------------*- 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      wall;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+thermal
+{
+    p
+    {
+        type        calculated;
+        value       ${:VALUE.T};
+    }
+
+    OPTIONS         (heatTransfer);
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/boundaryConditions/solid/wallOptions b/etc/templates/boundaryConditions/solid/wallOptions
new file mode 100644
index 0000000000000000000000000000000000000000..f2c015cdabe7c13f7298ff08fa19b49db0f70a2f
--- /dev/null
+++ b/etc/templates/boundaryConditions/solid/wallOptions
@@ -0,0 +1,80 @@
+/*--------------------------------*- 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      wallOptions;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+wallFunction
+{
+    highReynolds
+    {
+        mut
+        {
+            type        compressible::mutkWallFunction;
+            value       ${:VALUE.nut};
+        }
+        alphat
+        {
+            type        compressible::alphatWallFunction;
+            value       ${:VALUE.alphat};
+        }
+    }
+    lowReynolds
+    {
+        mut
+        {
+            type        fixedValue;
+            value       uniform 0;
+        }
+        alphat
+        {
+            type        fixedValue;
+            value       uniform 0;
+        }
+    }
+}
+
+
+heatTransfer
+{
+    adiabatic
+    {
+        T
+        {
+            type        zeroGradient;
+        }
+    }
+    fixedTemperature
+    {
+        T
+        {
+            type        fixedValue;
+            value       ${:VALUE.T};
+        }
+    }
+    thermalCoupled
+    {
+        T
+        {
+            type        compressible::turbulentTemperatureCoupledBaffleMixed;
+            value       ${:VALUE.T};
+            Tnbr        T;
+            kappa       solidThermo;
+            kappaName   none;
+        }
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/etc/templates/models/turbulence/kEpsilon b/etc/templates/models/turbulence/kEpsilon
new file mode 100644
index 0000000000000000000000000000000000000000..0076c15dff2b4d3f594779aaf4a2587c4253ebe9
--- /dev/null
+++ b/etc/templates/models/turbulence/kEpsilon
@@ -0,0 +1,55 @@
+/*--------------------------------*- 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      kEpsilon;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+incompressibleFields
+{
+    k
+    {
+        type        scalar;
+        dimensions  [0 2 -2 0 0];
+    }
+    epsilon
+    {
+        type        scalar;
+        dimensions  [0 2 -3 0 0];
+    }
+    nut
+    {
+        type        scalar;
+        dimensions  [0 2 -1 0 0];
+    }
+}
+compressibleFields
+{
+    k
+    {
+        type        scalar;
+        dimensions  [0 2 -2 0 0];
+    }
+    epsilon
+    {
+        type        scalar;
+        dimensions  [0 2 -3 0 0];
+    }
+    mut
+    {
+        type        scalar;
+        dimensions  [1 -1 -1 0 0];
+    }
+}
+
+// ************************************************************************* //
diff --git a/etc/templates/models/turbulence/kOmega b/etc/templates/models/turbulence/kOmega
new file mode 100644
index 0000000000000000000000000000000000000000..97af79cd0bb50a913ceaca0f3dc07c68f684658d
--- /dev/null
+++ b/etc/templates/models/turbulence/kOmega
@@ -0,0 +1,55 @@
+/*--------------------------------*- 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      kOmega;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+incompressibleFields
+{
+    k
+    {
+        type        scalar;
+        dimensions  [0 2 -2 0 0];
+    }
+    omega
+    {
+        type        scalar;
+        dimensions  [0 0 -1 0 0];
+    }
+    nut
+    {
+        type        scalar;
+        dimensions  [0 2 -1 0 0];
+    }
+}
+compressibleFields
+{
+    k
+    {
+        type        scalar;
+        dimensions  [0 2 -2 0 0];
+    }
+    omega
+    {
+        type        scalar;
+        dimensions  [0 0 -1 0 0];
+    }
+    mut
+    {
+        type        scalar;
+        dimensions  [1 -1 -1 0 0];
+    }
+}
+
+// ************************************************************************* //
diff --git a/etc/templates/models/turbulence/kOmegaSST b/etc/templates/models/turbulence/kOmegaSST
new file mode 100644
index 0000000000000000000000000000000000000000..97af79cd0bb50a913ceaca0f3dc07c68f684658d
--- /dev/null
+++ b/etc/templates/models/turbulence/kOmegaSST
@@ -0,0 +1,55 @@
+/*--------------------------------*- 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      kOmega;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+incompressibleFields
+{
+    k
+    {
+        type        scalar;
+        dimensions  [0 2 -2 0 0];
+    }
+    omega
+    {
+        type        scalar;
+        dimensions  [0 0 -1 0 0];
+    }
+    nut
+    {
+        type        scalar;
+        dimensions  [0 2 -1 0 0];
+    }
+}
+compressibleFields
+{
+    k
+    {
+        type        scalar;
+        dimensions  [0 2 -2 0 0];
+    }
+    omega
+    {
+        type        scalar;
+        dimensions  [0 0 -1 0 0];
+    }
+    mut
+    {
+        type        scalar;
+        dimensions  [1 -1 -1 0 0];
+    }
+}
+
+// ************************************************************************* //
diff --git a/etc/templates/models/turbulence/laminar b/etc/templates/models/turbulence/laminar
new file mode 100644
index 0000000000000000000000000000000000000000..012d41f87d1025914609c617f9824b2f2ea01296
--- /dev/null
+++ b/etc/templates/models/turbulence/laminar
@@ -0,0 +1,25 @@
+/*--------------------------------*- 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      laminar;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+incompressibleFields
+{
+}
+compressibleFields
+{
+}
+
+// ************************************************************************* //
diff --git a/etc/templates/solvers/chtMultiRegionFoam b/etc/templates/solvers/chtMultiRegionFoam
new file mode 100644
index 0000000000000000000000000000000000000000..392246b1b36dc5627122da585b644b48106458d0
--- /dev/null
+++ b/etc/templates/solvers/chtMultiRegionFoam
@@ -0,0 +1,70 @@
+/*--------------------------------*- 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      chtMultiRegionFoam;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solverType  buoyant;
+
+multiRegion yes;
+
+fluidModels
+{
+    turbulenceModel  turbulenceModel;
+}
+
+fluidFields
+{
+    alphat
+    {
+        type        scalar;
+        dimensions  [1 -1 -1 0 0];
+    }
+    U
+    {
+        type        vector;
+        dimensions  [0 1 -1 0 0];
+    }
+    p
+    {
+        type        scalar;
+        dimensions  [1 -1 -2 0 0];
+    }
+    p_rgh
+    {
+        type        scalar;
+        dimensions  [1 -1 -2 0 0];
+    }
+    T
+    {
+        type        scalar;
+        dimensions  [0 0 0 1 0];
+    }
+}
+
+solidFields
+{
+    p
+    {
+        type        scalar;
+        dimensions  [1 -1 -2 0 0];
+    }
+    T
+    {
+        type        scalar;
+        dimensions  [0 0 0 1 0];
+    }
+}
+
+// ************************************************************************* //
diff --git a/etc/templates/solvers/icoFoam b/etc/templates/solvers/icoFoam
new file mode 100644
index 0000000000000000000000000000000000000000..0d0ade999bf55e62d1d996b8ec8662a07e0a6af4
--- /dev/null
+++ b/etc/templates/solvers/icoFoam
@@ -0,0 +1,40 @@
+/*--------------------------------*- 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      icoFoam;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solverType  incompressible;
+
+multiRegion no;
+
+fluidModels
+{
+}
+
+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/simpleFoam b/etc/templates/solvers/simpleFoam
new file mode 100644
index 0000000000000000000000000000000000000000..3eadf0caf6bda06015ae91ad639791bc6aaabbee
--- /dev/null
+++ b/etc/templates/solvers/simpleFoam
@@ -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      simpleFoam;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solverType  incompressible;
+
+multiRegion no;
+
+fluidModels
+{
+    turbulenceModel  RASModel;
+}
+
+fluidFields
+{
+    U
+    {
+        type        vector;
+        dimensions  [0 1 -1 0 0];
+    }
+    p
+    {
+        type        scalar;
+        dimensions  [0 2 -2 0 0];
+    }
+}
+
+// ************************************************************************* //