diff --git a/applications/test/reconstruct/Make/files b/applications/test/reconstruct/Make/files
new file mode 100644
index 0000000000..5dd557e6f8
--- /dev/null
+++ b/applications/test/reconstruct/Make/files
@@ -0,0 +1,3 @@
+Test-reconstruct.C
+
+EXE = $(FOAM_USER_APPBIN)/Test-reconstruct
diff --git a/applications/test/reconstruct/Make/options b/applications/test/reconstruct/Make/options
new file mode 100644
index 0000000000..1a8bb54992
--- /dev/null
+++ b/applications/test/reconstruct/Make/options
@@ -0,0 +1,4 @@
+EXE_INC = -g \
+ -I$(LIB_SRC)/finiteVolume/lnInclude
+
+EXE_LIBS = -lfiniteVolume
diff --git a/applications/test/reconstruct/Test-reconstruct.C b/applications/test/reconstruct/Test-reconstruct.C
new file mode 100644
index 0000000000..59e9a03bb6
--- /dev/null
+++ b/applications/test/reconstruct/Test-reconstruct.C
@@ -0,0 +1,61 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+Application
+ Test-reconstruct
+
+\*---------------------------------------------------------------------------*/
+
+#include "fvCFD.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+int main(int argc, char *argv[])
+{
+ #include "setRootCase.H"
+
+ #include "createTime.H"
+ #include "createMesh.H"
+
+ surfaceScalarField phi(vector(1, 0, 0) & mesh.Sf());
+
+ volVectorField Uphi
+ (
+ IOobject
+ (
+ "Uphi",
+ runTime.timeName(),
+ mesh,
+ IOobject::NO_READ,
+ IOobject::AUTO_WRITE
+ ),
+ fvc::reconstruct(phi)
+ );
+
+ Uphi.write();
+
+ return 0;
+}
+
+
+// ************************************************************************* //
diff --git a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C
index bcaf62d57b..ddde795545 100644
--- a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C
+++ b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C
@@ -85,6 +85,18 @@ tmp kOmegaSST::F2() const
}
+tmp kOmegaSST::F3() const
+{
+ tmp arg3 = min
+ (
+ 150*(mu()/rho_)/(omega_*sqr(y_)),
+ scalar(10)
+ );
+
+ return 1 - tanh(pow4(arg3));
+}
+
+
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
kOmegaSST::kOmegaSST
@@ -198,6 +210,15 @@ kOmegaSST::kOmegaSST
0.31
)
),
+ b1_
+ (
+ dimensioned::lookupOrAddToDict
+ (
+ "b1",
+ coeffDict_,
+ 1.0
+ )
+ ),
c1_
(
dimensioned::lookupOrAddToDict
@@ -268,7 +289,7 @@ kOmegaSST::kOmegaSST
/ max
(
a1_*omega_,
- F2()*sqrt(2.0)*mag(symm(fvc::grad(U_)))
+ b1_*F2()*F3()*sqrt(2.0)*mag(symm(fvc::grad(U_)))
)
);
mut_.correctBoundaryConditions();
@@ -347,6 +368,7 @@ bool kOmegaSST::read()
beta2_.readIfPresent(coeffDict());
betaStar_.readIfPresent(coeffDict());
a1_.readIfPresent(coeffDict());
+ b1_.readIfPresent(coeffDict());
c1_.readIfPresent(coeffDict());
return true;
@@ -448,7 +470,7 @@ void kOmegaSST::correct()
// Re-calculate viscosity
- mut_ = a1_*rho_*k_/max(a1_*omega_, F2()*sqrt(S2));
+ mut_ = a1_*rho_*k_/max(a1_*omega_, b1_*F2()*F3()*sqrt(S2));
mut_.correctBoundaryConditions();
// Re-calculate thermal diffusivity
diff --git a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H
index d498a9a1f1..6cc40f6b68 100644
--- a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H
+++ b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H
@@ -38,6 +38,15 @@ Description
Nov. 2001
\endverbatim
+ with the addition of the F3 term for rough walls from
+ \verbatim
+ Hellsten, A.
+ "Some Improvements in Menter’s k-omega-SST turbulence model"
+ 29th AIAA Fluid Dynamics Conference,
+ AIAA-98-2554,
+ June 1998.
+ \endverbatim
+
Note that this implementation is written in terms of alpha diffusion
coefficients rather than the more traditional sigma (alpha = 1/sigma) so
that the blending can be applied to all coefficuients in a consistent
@@ -69,6 +78,7 @@ Description
gamma1 0.5532;
gamma2 0.4403;
a1 0.31;
+ b1 1.0;
c1 10.0;
}
\endverbatim
@@ -125,6 +135,7 @@ protected:
dimensionedScalar betaStar_;
dimensionedScalar a1_;
+ dimensionedScalar b1_;
dimensionedScalar c1_;
@@ -144,6 +155,7 @@ protected:
tmp F1(const volScalarField& CDkOmega) const;
tmp F2() const;
+ tmp F3() const;
tmp blend
(
diff --git a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C
index 3758a1e907..cff0d48146 100644
--- a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C
+++ b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C
@@ -69,6 +69,7 @@ tmp kOmegaSST::F1(const volScalarField& CDkOmega) const
return tanh(pow4(arg1));
}
+
tmp kOmegaSST::F2() const
{
tmp arg2 = min
@@ -85,6 +86,18 @@ tmp kOmegaSST::F2() const
}
+tmp kOmegaSST::F3() const
+{
+ tmp arg3 = min
+ (
+ 150*nu()/(omega_*sqr(y_)),
+ scalar(10)
+ );
+
+ return 1 - tanh(pow4(arg3));
+}
+
+
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
kOmegaSST::kOmegaSST
@@ -188,6 +201,15 @@ kOmegaSST::kOmegaSST
0.31
)
),
+ b1_
+ (
+ dimensioned::lookupOrAddToDict
+ (
+ "b1",
+ coeffDict_,
+ 1.0
+ )
+ ),
c1_
(
dimensioned::lookupOrAddToDict
@@ -246,7 +268,7 @@ kOmegaSST::kOmegaSST
/ max
(
a1_*omega_,
- F2()*sqrt(2.0)*mag(symm(fvc::grad(U_)))
+ b1_*F2()*F3()*sqrt(2.0)*mag(symm(fvc::grad(U_)))
)
);
nut_.correctBoundaryConditions();
@@ -338,6 +360,7 @@ bool kOmegaSST::read()
beta2_.readIfPresent(coeffDict());
betaStar_.readIfPresent(coeffDict());
a1_.readIfPresent(coeffDict());
+ b1_.readIfPresent(coeffDict());
c1_.readIfPresent(coeffDict());
return true;
@@ -416,7 +439,7 @@ void kOmegaSST::correct()
// Re-calculate viscosity
- nut_ = a1_*k_/max(a1_*omega_, F2()*sqrt(S2));
+ nut_ = a1_*k_/max(a1_*omega_, b1_*F2()*F3()*sqrt(S2));
nut_.correctBoundaryConditions();
}
diff --git a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H
index 7b2580094e..91c281bf4e 100644
--- a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H
+++ b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H
@@ -33,10 +33,19 @@ Description
Turbulence model described in:
\verbatim
- Menter, F., Esch, T.
- "Elements of Industrial Heat Transfer Prediction"
+ Menter, F., Esch, T.,
+ "Elements of Industrial Heat Transfer Prediction",
16th Brazilian Congress of Mechanical Engineering (COBEM),
- Nov. 2001
+ Nov. 2001.
+ \endverbatim
+
+ with the addition of the F3 term for rough walls from
+ \verbatim
+ Hellsten, A.
+ "Some Improvements in Menter’s k-omega-SST turbulence model"
+ 29th AIAA Fluid Dynamics Conference,
+ AIAA-98-2554,
+ June 1998.
\endverbatim
Note that this implementation is written in terms of alpha diffusion
@@ -69,6 +78,7 @@ Description
gamma1 0.5532;
gamma2 0.4403;
a1 0.31;
+ b1 1.0;
c1 10.0;
}
\endverbatim
@@ -122,6 +132,7 @@ protected:
dimensionedScalar betaStar_;
dimensionedScalar a1_;
+ dimensionedScalar b1_;
dimensionedScalar c1_;
//- Wall distance field
@@ -139,6 +150,7 @@ protected:
tmp F1(const volScalarField& CDkOmega) const;
tmp F2() const;
+ tmp F3() const;
tmp blend
(
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/boundary b/tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/boundary
index 61feadd974..9294a31266 100644
--- a/tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/boundary
+++ b/tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/boundary
@@ -32,6 +32,7 @@ FoamFile
frontAndBack
{
type empty;
+ inGroups 1(empty);
nFaces 800;
startFace 840;
}
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/U b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/U
new file mode 100644
index 0000000000..711702f987
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/U
@@ -0,0 +1,41 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| ========= | |
+| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
+| \\ / O peration | Version: dev |
+| \\ / A nd | Web: www.OpenFOAM.org |
+| \\/ M anipulation | |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class volVectorField;
+ object U;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions [0 1 -1 0 0 0 0];
+
+internalField uniform (0 0 0);
+
+boundaryField
+{
+ movingWall
+ {
+ type fixedValue;
+ value uniform (1 0 0);
+ }
+
+ fixedWalls
+ {
+ type fixedValue;
+ value uniform (0 0 0);
+ }
+
+ frontAndBack
+ {
+ type empty;
+ }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/epsilon b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/epsilon
new file mode 100644
index 0000000000..6b009c939a
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/epsilon
@@ -0,0 +1,41 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| ========= | |
+| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
+| \\ / O peration | Version: dev |
+| \\ / A nd | Web: www.OpenFOAM.org |
+| \\/ M anipulation | |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class volScalarField;
+ location "0";
+ object epsilon;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions [0 2 -3 0 0 0 0];
+
+internalField uniform 0.000765;
+
+boundaryField
+{
+ movingWall
+ {
+ type epsilonWallFunction;
+ value uniform 0.000765;
+ }
+ fixedWalls
+ {
+ type epsilonWallFunction;
+ value uniform 0.000765;
+ }
+ frontAndBack
+ {
+ type empty;
+ }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/k b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/k
new file mode 100644
index 0000000000..72d1287df1
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/k
@@ -0,0 +1,41 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| ========= | |
+| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
+| \\ / O peration | Version: dev |
+| \\ / A nd | Web: www.OpenFOAM.org |
+| \\/ M anipulation | |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class volScalarField;
+ location "0";
+ object k;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions [0 2 -2 0 0 0 0];
+
+internalField uniform 0.00325;
+
+boundaryField
+{
+ movingWall
+ {
+ type kqRWallFunction;
+ value uniform 0.00325;
+ }
+ fixedWalls
+ {
+ type kqRWallFunction;
+ value uniform 0.00325;
+ }
+ frontAndBack
+ {
+ type empty;
+ }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/nuTilda b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/nuTilda
new file mode 100644
index 0000000000..36021c60af
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/nuTilda
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| ========= | |
+| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
+| \\ / O peration | Version: dev |
+| \\ / A nd | Web: www.OpenFOAM.org |
+| \\/ M anipulation | |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class volScalarField;
+ object nuTilda;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions [0 2 -1 0 0 0 0];
+
+internalField uniform 0;
+
+boundaryField
+{
+ movingWall
+ {
+ type zeroGradient;
+ }
+
+ fixedWalls
+ {
+ type zeroGradient;
+ }
+
+ frontAndBack
+ {
+ type empty;
+ }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/nut b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/nut
new file mode 100644
index 0000000000..2a9a9727fc
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/nut
@@ -0,0 +1,41 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| ========= | |
+| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
+| \\ / O peration | Version: dev |
+| \\ / A nd | Web: www.OpenFOAM.org |
+| \\/ M anipulation | |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class volScalarField;
+ location "0";
+ object nut;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions [0 2 -1 0 0 0 0];
+
+internalField uniform 0;
+
+boundaryField
+{
+ movingWall
+ {
+ type nutkWallFunction;
+ value uniform 0;
+ }
+ fixedWalls
+ {
+ type nutkWallFunction;
+ value uniform 0;
+ }
+ frontAndBack
+ {
+ type empty;
+ }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/p b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/p
new file mode 100644
index 0000000000..3e00d9eb31
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/p
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| ========= | |
+| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
+| \\ / O peration | Version: dev |
+| \\ / A nd | Web: www.OpenFOAM.org |
+| \\/ M anipulation | |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class volScalarField;
+ object p;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions [0 2 -2 0 0 0 0];
+
+internalField uniform 0;
+
+boundaryField
+{
+ movingWall
+ {
+ type zeroGradient;
+ }
+
+ fixedWalls
+ {
+ type zeroGradient;
+ }
+
+ frontAndBack
+ {
+ type empty;
+ }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/RASProperties b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/RASProperties
new file mode 100644
index 0000000000..a4937b503a
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/RASProperties
@@ -0,0 +1,25 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| ========= | |
+| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
+| \\ / O peration | Version: dev |
+| \\ / A nd | Web: www.OpenFOAM.org |
+| \\/ M anipulation | |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class dictionary;
+ location "constant";
+ object RASProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+RASModel kEpsilon;
+
+turbulence on;
+
+printCoeffs on;
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/polyMesh/blockMeshDict b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/polyMesh/blockMeshDict
new file mode 100644
index 0000000000..165a600c7b
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/polyMesh/blockMeshDict
@@ -0,0 +1,75 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| ========= | |
+| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
+| \\ / O peration | Version: dev |
+| \\ / A nd | Web: www.OpenFOAM.org |
+| \\/ M anipulation | |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class dictionary;
+ object blockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+convertToMeters 0.1;
+
+vertices
+(
+ (0 0 0)
+ (1 0 0)
+ (1 1 0)
+ (0 1 0)
+ (0 0 0.1)
+ (1 0 0.1)
+ (1 1 0.1)
+ (0 1 0.1)
+);
+
+blocks
+(
+ hex (0 1 2 3 4 5 6 7) (20 20 1) simpleGrading (1 1 1)
+);
+
+edges
+(
+);
+
+boundary
+(
+ movingWall
+ {
+ type wall;
+ faces
+ (
+ (3 7 6 2)
+ );
+ }
+ fixedWalls
+ {
+ type wall;
+ faces
+ (
+ (0 4 7 3)
+ (2 6 5 1)
+ (1 5 4 0)
+ );
+ }
+ frontAndBack
+ {
+ type empty;
+ faces
+ (
+ (0 3 2 1)
+ (4 5 6 7)
+ );
+ }
+);
+
+mergePatchPairs
+(
+);
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/polyMesh/boundary b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/polyMesh/boundary
new file mode 100644
index 0000000000..9294a31266
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/polyMesh/boundary
@@ -0,0 +1,41 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| ========= | |
+| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
+| \\ / O peration | Version: dev |
+| \\ / A nd | Web: www.OpenFOAM.org |
+| \\/ M anipulation | |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class polyBoundaryMesh;
+ location "constant/polyMesh";
+ object boundary;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+3
+(
+ movingWall
+ {
+ type wall;
+ nFaces 20;
+ startFace 760;
+ }
+ fixedWalls
+ {
+ type wall;
+ nFaces 60;
+ startFace 780;
+ }
+ frontAndBack
+ {
+ type empty;
+ inGroups 1(empty);
+ nFaces 800;
+ startFace 840;
+ }
+)
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/transportProperties b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/transportProperties
new file mode 100644
index 0000000000..b40b7d66cd
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/transportProperties
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| ========= | |
+| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
+| \\ / O peration | Version: dev |
+| \\ / A nd | Web: www.OpenFOAM.org |
+| \\/ M anipulation | |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class dictionary;
+ location "constant";
+ object transportProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+transportModel Newtonian;
+
+nu nu [ 0 2 -1 0 0 0 0 ] 1e-05;
+
+CrossPowerLawCoeffs
+{
+ nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06;
+ nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
+ m m [ 0 0 1 0 0 0 0 ] 1;
+ n n [ 0 0 0 0 0 0 0 ] 1;
+}
+
+BirdCarreauCoeffs
+{
+ nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06;
+ nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
+ k k [ 0 0 1 0 0 0 0 ] 0;
+ n n [ 0 0 0 0 0 0 0 ] 1;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/turbulenceProperties b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/turbulenceProperties
new file mode 100644
index 0000000000..3721a46a2e
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/turbulenceProperties
@@ -0,0 +1,21 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| ========= | |
+| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
+| \\ / O peration | Version: dev |
+| \\ / A nd | Web: www.OpenFOAM.org |
+| \\/ M anipulation | |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class dictionary;
+ location "constant";
+ object turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType RASModel;
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/controlDict b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/controlDict
new file mode 100644
index 0000000000..15396ddf40
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/controlDict
@@ -0,0 +1,49 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| ========= | |
+| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
+| \\ / O peration | Version: dev |
+| \\ / A nd | Web: www.OpenFOAM.org |
+| \\/ M anipulation | |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class dictionary;
+ location "system";
+ object controlDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+application pisoFoam;
+
+startFrom startTime;
+
+startTime 0;
+
+stopAt endTime;
+
+endTime 10;
+
+deltaT 0.005;
+
+writeControl timeStep;
+
+writeInterval 100;
+
+purgeWrite 0;
+
+writeFormat ascii;
+
+writePrecision 6;
+
+writeCompression off;
+
+timeFormat general;
+
+timePrecision 6;
+
+runTimeModifiable true;
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSchemes b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSchemes
new file mode 100644
index 0000000000..6a9eea83dd
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSchemes
@@ -0,0 +1,71 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| ========= | |
+| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
+| \\ / O peration | Version: dev |
+| \\ / A nd | Web: www.OpenFOAM.org |
+| \\/ M anipulation | |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class dictionary;
+ location "system";
+ object fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ddtSchemes
+{
+ default Euler;
+}
+
+gradSchemes
+{
+ default Gauss linear;
+ grad(p) Gauss linear;
+ grad(U) Gauss linear;
+}
+
+divSchemes
+{
+ default none;
+ div(phi,U) Gauss limitedLinearV 1;
+ div(phi,k) Gauss limitedLinear 1;
+ div(phi,epsilon) Gauss limitedLinear 1;
+ div(phi,R) Gauss limitedLinear 1;
+ div(R) Gauss linear;
+ div(phi,nuTilda) Gauss limitedLinear 1;
+ div((nuEff*dev(T(grad(U))))) Gauss linear;
+}
+
+laplacianSchemes
+{
+ default none;
+ laplacian(nuEff,U) Gauss linear corrected;
+ laplacian((1|A(U)),p) Gauss linear corrected;
+ laplacian(DkEff,k) Gauss linear corrected;
+ laplacian(DepsilonEff,epsilon) Gauss linear corrected;
+ laplacian(DREff,R) Gauss linear corrected;
+ laplacian(DnuTildaEff,nuTilda) Gauss linear corrected;
+}
+
+interpolationSchemes
+{
+ default linear;
+ interpolate(U) linear;
+}
+
+snGradSchemes
+{
+ default corrected;
+}
+
+fluxRequired
+{
+ default no;
+ p ;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSolution b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSolution
new file mode 100644
index 0000000000..dc8a5f5eb6
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSolution
@@ -0,0 +1,87 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| ========= | |
+| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
+| \\ / O peration | Version: dev |
+| \\ / A nd | Web: www.OpenFOAM.org |
+| \\/ M anipulation | |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class dictionary;
+ location "system";
+ object fvSolution;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+ p
+ {
+ solver PCG;
+ preconditioner DIC;
+ tolerance 1e-06;
+ relTol 0.1;
+ }
+
+ pFinal
+ {
+ solver PCG;
+ preconditioner DIC;
+ tolerance 1e-06;
+ relTol 0;
+ }
+
+ U
+ {
+ type coupled;
+ solver PBiCCG;
+ preconditioner DILU;
+ tolerance (1e-05 1e-05 1e-05);
+ relTol (0 0 0);
+ }
+
+ k
+ {
+ solver PBiCG;
+ preconditioner DILU;
+ tolerance 1e-05;
+ relTol 0;
+ }
+
+ epsilon
+ {
+ solver PBiCG;
+ preconditioner DILU;
+ tolerance 1e-05;
+ relTol 0;
+ }
+
+ R
+ {
+ solver PBiCG;
+ preconditioner DILU;
+ tolerance 1e-05;
+ relTol 0;
+ }
+
+ nuTilda
+ {
+ solver PBiCG;
+ preconditioner DILU;
+ tolerance 1e-05;
+ relTol 0;
+ }
+}
+
+PISO
+{
+ nCorrectors 2;
+ nNonOrthogonalCorrectors 0;
+ pRefCell 0;
+ pRefValue 0;
+}
+
+
+// ************************************************************************* //