tutorials/incompressible/simpleFoam/T3A: ERCOFTAC T3A 3% test-case for the kOmegaSSTLM model

References:
    Savill, A. M. (1993).
    Some recent progress in the turbulence modelling of by-pass transition.
    Near-wall turbulent flows, 829-848.

    Savill, A. M. (1996).
    One-point closures applied to transition.
    In Turbulence and transition modelling (pp. 233-268).
    Springer Netherlands.

Based on case contributed by Florian Schwertfirm, Kreuzinger und Manhart Turbulenz GmbH.
This commit is contained in:
Henry Weller
2016-07-29 10:51:42 +01:00
parent 4ad0f529a0
commit 7f4af1517d
20 changed files with 935 additions and 0 deletions

View File

@ -0,0 +1,57 @@
/*--------------------------------*- 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 ReThetat;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 160.99;
boundaryField
{
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type zeroGradient;
}
plate
{
type zeroGradient;
}
above
{
type zeroGradient;
}
top
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,56 @@
/*--------------------------------*- 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;
location "0";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (5.4 0 0);
boundaryField
{
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type zeroGradient;
}
plate
{
type noSlip;
}
above
{
type slip;
}
top
{
type slip;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,56 @@
/*--------------------------------*- 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 gammaInt;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 1;
boundaryField
{
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type zeroGradient;
}
plate
{
type zeroGradient;
}
above
{
type zeroGradient;
}
top
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,57 @@
/*--------------------------------*- 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.047633;
boundaryField
{
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type zeroGradient;
}
plate
{
type fixedValue;
value uniform 0;
}
above
{
type zeroGradient;
}
top
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,61 @@
/*--------------------------------*- 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
{
inlet
{
type calculated;
value $internalField;
}
outlet
{
type calculated;
value $internalField;
}
plate
{
type fixedValue;
value uniform 0;
}
above
{
type calculated;
value $internalField;
}
top
{
type calculated;
value $internalField;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,57 @@
/*--------------------------------*- 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 omega;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 -1 0 0 0 0];
internalField uniform 264.63;
boundaryField
{
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type zeroGradient;
}
plate
{
type omegaWallFunction;
value $internalField;
}
above
{
type zeroGradient;
}
top
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,56 @@
/*--------------------------------*- 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 p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value $internalField;
}
plate
{
type zeroGradient;
}
above
{
type zeroGradient;
}
top
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,10 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanCase
rm -f validation/*.eps
#------------------------------------------------------------------------------

View File

@ -0,0 +1,15 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Set application name
application=`getApplication`
runApplication blockMesh
runApplication $application
( cd validation && ./createGraphs )
#------------------------------------------------------------------------------

View File

@ -0,0 +1,11 @@
References:
ERCOFTAC T3A 3% test-case
Savill, A. M. (1993).
Some recent progress in the turbulence modelling of by-pass transition.
Near-wall turbulent flows, 829-848.
Savill, A. M. (1996).
One-point closures applied to transition.
In Turbulence and transition modelling (pp. 233-268).
Springer Netherlands.

View File

@ -0,0 +1,22 @@
/*--------------------------------*- 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 1.5e-5;
// ************************************************************************* //

View File

@ -0,0 +1,30 @@
/*--------------------------------*- 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 RAS;
RAS
{
RASModel kOmegaSSTLM;
turbulence on;
printCoeffs on;
}
// ************************************************************************* //

View File

@ -0,0 +1,150 @@
/*--------------------------------*- 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 1;
vertices
(
(0 0 -0.05)
(0.02 0 -0.05)
(0 0.0146724657096209 -0.05)
(0.0260775342903791 0.0146724657096209 -0.05)
(0 0 0.05)
(0.02 0 0.05)
(0 0.0146724657096209 0.05)
(0.0260775342903791 0.0146724657096209 0.05)
(0.04 0 -0.05)
(0.04 0 0.05)
(0.0402196699141101 5.30330085889911e-04 -0.05)
(0.0402196699141101 5.30330085889911e-04 0.05)
(0.04075 0.00075 -0.05)
(0.04075 0.02075 -0.05)
(0.0 1 -0.05)
(0.0260775342903791 1 -0.05)
(0.04075 1 -0.05)
(0.04075 0.00075 0.05)
(0.04075 0.02075 0.05)
(0.0 1 0.05)
(0.0260775342903791 1 0.05)
(0.04075 1 0.05)
(0.08 0.00075 -0.05)
(0.08 0.02075 -0.05)
(0.08 1.0 -0.05)
(0.08 0.00075 0.05)
(0.08 0.02075 0.05)
(0.08 1.0 0.05)
(1.14 0.00075 -0.05)
(1.14 0.02075 -0.05)
(1.14 1.0 -0.05)
(1.14 0.00075 0.05)
(1.14 0.02075 0.05)
(1.14 1.0 0.05)
(3.04 0.00075 -0.05)
(3.04 0.02075 -0.05)
(3.04 1.0 -0.05)
(3.04 0.00075 0.05)
(3.04 0.02075 0.05)
(3.04 1.0 0.05)
);
blocks
(
hex (0 1 3 2 4 5 7 6) (7 20 1) simpleGrading (0.471868 1 1)
hex (1 8 10 3 5 9 11 7) (40 20 1) simpleGrading (0.022 1 1)
hex (3 10 12 13 7 11 17 18) (40 20 1) simpleGrading (0.022 1 1)
hex (2 3 15 14 6 7 20 19) (7 40 1) simpleGrading (0.471868 50.03857 1)
hex (3 13 16 15 7 18 21 20) (20 40 1) simpleGrading (1 50.03857 1)
hex (12 22 23 13 17 25 26 18) (80 40 1) simpleGrading (70.9389 45.455 1)
hex (13 23 24 16 18 26 27 21) (80 40 1) simpleGrading (70.9389 50.03857 1)
hex (22 28 29 23 25 31 32 26) (160 40 1) simpleGrading (7.2902 45.455 1)
hex (23 29 30 24 26 32 33 27) (160 40 1) simpleGrading (7.2902 50.03857 1)
hex (28 34 35 29 31 37 38 32) (60 40 1) simpleGrading (3.9909 45.455 1)
hex (29 35 36 30 32 38 39 33) (60 40 1) simpleGrading (3.9909 50.03857 1)
);
edges
(
arc 1 3 (0.0215794997003908 0.00794068122157562 -0.05)
arc 5 7 (0.0215794997003908 0.00794068122157562 0.05)
arc 8 10 (0.0400570903506165 2.87012574273817e-04 -0.05)
arc 9 11 (0.0400570903506165 2.87012574273817e-04 0.05)
arc 3 13 (0.0328093187784244 0.0191705002996092 -0.05)
arc 7 18 (0.0328093187784244 0.0191705002996092 0.05)
arc 10 12 (0.0404629874257262 6.92909649383465e-04 -0.05)
arc 11 17 (0.0404629874257262 6.92909649383465e-04 0.05)
);
boundary
(
above
{
type patch;
faces
(
(0 1 5 4)
(1 8 9 5)
);
}
top
{
type patch;
faces
(
(14 15 20 19)
(15 16 21 20)
(16 24 27 21)
(24 30 33 27)
(30 36 39 33)
);
}
inlet
{
type patch;
faces
(
(0 4 6 2)
(2 6 19 14)
);
}
outlet
{
type patch;
faces
(
(34 37 38 35)
(35 38 39 36)
);
}
plate
{
type wall;
faces
(
(8 9 11 10)
(10 11 17 12)
(12 22 25 17)
(22 28 31 25)
(28 34 37 31)
);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,55 @@
/*--------------------------------*- 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 simpleFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 1000;
deltaT 1;
writeControl timeStep;
writeInterval 500;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
functions
{
#includeFunc wallShearStress
#includeFunc wallShearStressGraph
#includeFunc kGraph
}
// ************************************************************************* //

View File

@ -0,0 +1,69 @@
/*--------------------------------*- 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 steadyState;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default none;
div(phi,U) bounded Gauss linearUpwind grad;
div(phi,k) bounded Gauss linearUpwind grad;
div(phi,omega) bounded Gauss linearUpwind grad;
div(phi,gammaInt) bounded Gauss linearUpwind grad;
div(phi,ReThetat) bounded Gauss linearUpwind grad;
div((nuEff*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
p;
}
wallDist
{
method meshWave;
}
// ************************************************************************* //

View File

@ -0,0 +1,59 @@
/*--------------------------------*- 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 GAMG;
tolerance 1e-6;
relTol 0.1;
smoother GaussSeidel;
}
"(U|k|omega|gammaInt|ReThetat)"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-8;
relTol 0.1;
maxIter 10;
}
}
SIMPLE
{
consistent yes;
residualControl
{
p 1e-5;
U 1e-6;
"(k|omega|gammaInt|ReThetat)" 1e-4;
}
}
relaxationFactors
{
equations
{
".*" 0.9;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,30 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Web: www.OpenFOAM.org
\\/ M anipulation |
-------------------------------------------------------------------------------
Description
Writes graph data for specified fields along a line, specified by start
and end points.
\*---------------------------------------------------------------------------*/
start (0.04075 0.05 0);
end (3.04 0.05 0);
fields (k);
// Sampling and I/O settings
#includeEtc "caseDicts/postProcessing/graphs/sampleDict.cfg"
// Override settings here, e.g.
setConfig
{
axis x;
}
// Must be last entry
#includeEtc "caseDicts/postProcessing/graphs/graph.cfg"
// ************************************************************************* //

View File

@ -0,0 +1,30 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Web: www.OpenFOAM.org
\\/ M anipulation |
-------------------------------------------------------------------------------
Description
Writes graph data for specified fields along a line, specified by start
and end points.
\*---------------------------------------------------------------------------*/
start (0.04075 0.00075 0);
end (3.04 0.00075 0);
fields (wallShearStress);
// Sampling and I/O settings
#includeEtc "caseDicts/postProcessing/graphs/sampleDict.cfg"
// Override settings here, e.g.
setConfig
{
axis x;
}
// Must be last entry
#includeEtc "caseDicts/postProcessing/graphs/graph.cfg"
// ************************************************************************* //

View File

@ -0,0 +1,37 @@
#!/bin/sh
if ! which gnuplot > /dev/null 2>&1
then
echo "gnuplot not found - skipping graph creation" >&2
exit 1
fi
gnuplot<<EOF
set term post enhanced color solid linewidth 2.0 20
set out "graphs.eps"
set encoding utf8
set termoption dash
set style increment user
set style line 1 lt 1 linecolor rgb "blue" linewidth 1.5
set style line 11 lt 2 linecolor rgb "black" linewidth 1.5
time = system("foamListTimes -case .. | tail -1")
set xlabel "x"
set ylabel "u'"
set title "T3A - Flat Plate - turbulent intensity"
plot [:1.5][:0.05] \
"../postProcessing/kGraph/".time."/line_k.xy" \
u (\$1-0.04):(1./5.4*sqrt(2./3.*\$2))title "kOmegaSSTLM" w l ls 1, \
"exptData/T3A.dat" u (\$1/1000):(\$3/100) title "Exp T3A" w p ls 11
set xlabel "Re_x"
set ylabel "c_f"
set title "T3A - Flat Plate - C_f"
plot [:6e+5][0:0.01] \
"../postProcessing/wallShearStressGraph/".time."/line_wallShearStress.xy" \
u ((\$1-0.04)*5.4/1.5e-05):(-\$2/0.5/5.4**2) title "kOmegaSSTLM" w l, \
"exptData/T3A.dat" u (\$1/1000*5.4/1.51e-05):2 title "Exp" w p ls 11
EOF
#------------------------------------------------------------------------------

View File

@ -0,0 +1,17 @@
# x [mm] - c_f - Tu [%]
45 0.005203 3.043
95 0.003723 2.793
195 0.002645 2.434
295.0 0.002272 2.197
395.0 0.002098 2.001
495.0 0.002209 1.882
595.0 0.002703 1.760
695.0 0.003801 1.647
795.0 0.004849 1.538
895.0 0.004861 1.451
995.0 0.004722 1.361
1095.0 0.004553 1.295
1195.0 0.004418 1.227
1295.0 0.004292 1.206
1395.0 0.004207 1.141
1495.0 0.004079 1.101