mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
adding SRF library, and tutorial with demonstration solver
This commit is contained in:
16
tutorials/simpleSRFFoam/Allclean
Executable file
16
tutorials/simpleSRFFoam/Allclean
Executable file
@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
currDir=`pwd`
|
||||
application=`basename $currDir`
|
||||
cases="mixer"
|
||||
|
||||
tutorialPath=`dirname $0`/..
|
||||
. $tutorialPath/CleanFunctions
|
||||
|
||||
wclean $application
|
||||
|
||||
for case in $cases
|
||||
do
|
||||
cleanCase $case
|
||||
done
|
||||
|
||||
16
tutorials/simpleSRFFoam/Allrun
Executable file
16
tutorials/simpleSRFFoam/Allrun
Executable file
@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
currDir=`pwd`
|
||||
application=`basename $currDir`
|
||||
cases="mixer"
|
||||
|
||||
tutorialPath=`dirname $0`/..
|
||||
. $tutorialPath/RunFunctions
|
||||
|
||||
compileApplication $currDir $application
|
||||
|
||||
for case in $cases
|
||||
do
|
||||
runApplication blockMesh $case
|
||||
runApplication $application $case
|
||||
done
|
||||
66
tutorials/simpleSRFFoam/mixer/0/Urel
Normal file
66
tutorials/simpleSRFFoam/mixer/0/Urel
Normal file
@ -0,0 +1,66 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class volVectorField;
|
||||
object Urel;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type SRFVelocity;
|
||||
inletValue uniform (0 0 -10);
|
||||
relative yes;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
innerWall
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
|
||||
outerWall
|
||||
{
|
||||
type SRFVelocity;
|
||||
inletValue uniform (0 0 0);
|
||||
relative yes;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
|
||||
cyclic
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
60
tutorials/simpleSRFFoam/mixer/0/epsilon
Normal file
60
tutorials/simpleSRFFoam/mixer/0/epsilon
Normal file
@ -0,0 +1,60 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class volScalarField;
|
||||
object epsilon;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
dimensions [0 2 -3 0 0 0 0];
|
||||
|
||||
internalField uniform 14.855;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 14.855;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
innerWall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
outerWall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
cyclic
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
60
tutorials/simpleSRFFoam/mixer/0/k
Normal file
60
tutorials/simpleSRFFoam/mixer/0/k
Normal file
@ -0,0 +1,60 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class volScalarField;
|
||||
object k;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
dimensions [0 2 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 0.375;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0.375;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
innerWall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
outerWall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
cyclic
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
60
tutorials/simpleSRFFoam/mixer/0/omega
Normal file
60
tutorials/simpleSRFFoam/mixer/0/omega
Normal file
@ -0,0 +1,60 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class volScalarField;
|
||||
object omega;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
dimensions [0 0 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 3.5;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 3.5;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
innerWall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
outerWall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
cyclic
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
60
tutorials/simpleSRFFoam/mixer/0/p
Normal file
60
tutorials/simpleSRFFoam/mixer/0/p
Normal file
@ -0,0 +1,60 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class volScalarField;
|
||||
object p;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
dimensions [0 2 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
|
||||
innerWall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
outerWall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
cyclic
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
35
tutorials/simpleSRFFoam/mixer/constant/SRFProperties
Normal file
35
tutorials/simpleSRFFoam/mixer/constant/SRFProperties
Normal file
@ -0,0 +1,35 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object SRFProperties;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
SRFModel rpm;
|
||||
|
||||
axis (0 0 1);
|
||||
|
||||
rpmCoeffs
|
||||
{
|
||||
rpm 5000.0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
123
tutorials/simpleSRFFoam/mixer/constant/polyMesh/blockMeshDict
Normal file
123
tutorials/simpleSRFFoam/mixer/constant/polyMesh/blockMeshDict
Normal file
@ -0,0 +1,123 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object blockMeshDict;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
convertToMeters 0.1;
|
||||
|
||||
vertices
|
||||
(
|
||||
( 0.500 0.000 0.000)
|
||||
( 0.369 0.338 0.000)
|
||||
( 0.338 0.369 0.000)
|
||||
( 0.000 0.500 0.000)
|
||||
( 0.737 0.676 0.000)
|
||||
( 0.074 0.068 0.000)
|
||||
( 0.676 0.737 0.000)
|
||||
( 0.068 0.074 0.000)
|
||||
( 0.000 1.000 0.000)
|
||||
( 1.000 0.000 0.000)
|
||||
( 0.100 0.000 0.000)
|
||||
( 0.000 0.100 0.000)
|
||||
( 0.500 0.000 2.000)
|
||||
( 0.369 0.338 2.000)
|
||||
( 0.338 0.369 2.000)
|
||||
( 0.000 0.500 2.000)
|
||||
( 0.737 0.676 2.000)
|
||||
( 0.074 0.068 2.000)
|
||||
( 0.676 0.737 2.000)
|
||||
( 0.068 0.074 2.000)
|
||||
( 0.000 1.000 2.000)
|
||||
( 1.000 0.000 2.000)
|
||||
( 0.100 0.000 2.000)
|
||||
( 0.000 0.100 2.000)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (1 0 9 4 13 12 21 16) (10 20 40) simpleGrading (1 1 1)
|
||||
hex (2 1 4 6 14 13 16 18) (2 20 40) simpleGrading (1 1 1)
|
||||
hex (3 2 6 8 15 14 18 20) (10 20 40) simpleGrading (1 1 1)
|
||||
hex (5 10 0 1 17 22 12 13) (10 20 40) simpleGrading (1 1 1)
|
||||
hex (11 7 2 3 23 19 14 15) (10 20 40) simpleGrading (1 1 1)
|
||||
);
|
||||
|
||||
edges
|
||||
(
|
||||
arc 0 1 ( 0.470 0.171 0.000 )
|
||||
arc 12 13 ( 0.470 0.171 2.000 )
|
||||
arc 2 3 ( 0.171 0.470 0.000 )
|
||||
arc 14 15 ( 0.171 0.470 2.000 )
|
||||
arc 9 4 ( 0.940 0.342 0.000 )
|
||||
arc 21 16 ( 0.940 0.342 2.000 )
|
||||
arc 5 10 ( 0.094 0.034 0.000 )
|
||||
arc 17 22 ( 0.094 0.034 2.000 )
|
||||
arc 6 8 ( 0.342 0.940 0.000 )
|
||||
arc 18 20 ( 0.342 0.940 2.000 )
|
||||
arc 11 7 ( 0.034 0.094 0.000 )
|
||||
arc 23 19 ( 0.034 0.094 2.000 )
|
||||
);
|
||||
|
||||
patches
|
||||
(
|
||||
patch inlet
|
||||
(
|
||||
(13 12 21 16)
|
||||
(14 13 16 18)
|
||||
(15 14 18 20)
|
||||
(17 22 12 13)
|
||||
(23 19 14 15)
|
||||
)
|
||||
patch outlet
|
||||
(
|
||||
(1 4 9 0)
|
||||
(2 6 4 1)
|
||||
(3 8 6 2)
|
||||
(5 1 0 10)
|
||||
(11 3 2 7)
|
||||
)
|
||||
wall innerWall
|
||||
(
|
||||
(2 1 13 14)
|
||||
(5 10 22 17)
|
||||
(5 17 13 1)
|
||||
(11 7 19 23)
|
||||
(7 2 14 19)
|
||||
)
|
||||
wall outerWall
|
||||
(
|
||||
(4 16 21 9)
|
||||
(6 18 16 4)
|
||||
(8 20 18 6)
|
||||
)
|
||||
cyclic cyclic
|
||||
(
|
||||
(0 9 21 12)
|
||||
(10 0 12 22)
|
||||
(3 15 20 8)
|
||||
(11 23 15 3)
|
||||
)
|
||||
);
|
||||
|
||||
mergeMatchPairs
|
||||
(
|
||||
);
|
||||
46
tutorials/simpleSRFFoam/mixer/constant/transportProperties
Normal file
46
tutorials/simpleSRFFoam/mixer/constant/transportProperties
Normal file
@ -0,0 +1,46 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object transportProperties;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
transportModel Newtonian;
|
||||
|
||||
nu nu [0 2 -1 0 0 0 0] 1.5e-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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
198
tutorials/simpleSRFFoam/mixer/constant/turbulenceProperties
Normal file
198
tutorials/simpleSRFFoam/mixer/constant/turbulenceProperties
Normal file
@ -0,0 +1,198 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object turbulenceProperties;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
turbulenceModel kOmegaSST;
|
||||
|
||||
turbulence on;
|
||||
|
||||
laminarCoeffs
|
||||
{
|
||||
}
|
||||
|
||||
kEpsilonCoeffs
|
||||
{
|
||||
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||
}
|
||||
|
||||
RNGkEpsilonCoeffs
|
||||
{
|
||||
Cmu Cmu [0 0 0 0 0 0 0] 0.0845;
|
||||
C1 C1 [0 0 0 0 0 0 0] 1.42;
|
||||
C2 C2 [0 0 0 0 0 0 0] 1.68;
|
||||
alphak alphaK [0 0 0 0 0 0 0] 1.39;
|
||||
alphaEps alphaEps [0 0 0 0 0 0 0] 1.39;
|
||||
eta0 eta0 [0 0 0 0 0 0 0] 4.38;
|
||||
beta beta [0 0 0 0 0 0 0] 0.012;
|
||||
}
|
||||
|
||||
kOmegaSSTCoeffs
|
||||
{
|
||||
alphaK1 alphaK1 [0 0 0 0 0 0 0] 0.85034;
|
||||
alphaK2 alphaK1 [0 0 0 0 0 0 0] 1.0;
|
||||
alphaOmega1 alphaOmega1 [0 0 0 0 0 0 0] 0.5;
|
||||
alphaOmega2 alphaOmega2 [0 0 0 0 0 0 0] 0.85616;
|
||||
gamma1 gamma1 [0 0 0 0 0 0 0] 0.5532;
|
||||
gamma2 gamma2 [0 0 0 0 0 0 0] 0.4403;
|
||||
beta1 beta1 [0 0 0 0 0 0 0] 0.0750;
|
||||
beta2 beta2 [0 0 0 0 0 0 0] 0.0828;
|
||||
betaStar betaStar [0 0 0 0 0 0 0] 0.09;
|
||||
a1 a1 [0 0 0 0 0 0 0] 0.31;
|
||||
c1 c1 [0 0 0 0 0 0 0] 10;
|
||||
|
||||
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||
}
|
||||
|
||||
NonlinearKEShihCoeffs
|
||||
{
|
||||
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||
alphak alphak [0 0 0 0 0 0 0] 1;
|
||||
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76932;
|
||||
A1 A1 [0 0 0 0 0 0 0] 1.25;
|
||||
A2 A2 [0 0 0 0 0 0 0] 1000;
|
||||
Ctau1 Ctau1 [0 0 0 0 0 0 0] -4;
|
||||
Ctau2 Ctau2 [0 0 0 0 0 0 0] 13;
|
||||
Ctau3 Ctau3 [0 0 0 0 0 0 0] -2;
|
||||
alphaKsi alphaKsi [0 0 0 0 0 0 0] 0.9;
|
||||
}
|
||||
|
||||
LienCubicKECoeffs
|
||||
{
|
||||
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||
alphak alphak [0 0 0 0 0 0 0] 1;
|
||||
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||
A1 A1 [0 0 0 0 0 0 0] 1.25;
|
||||
A2 A2 [0 0 0 0 0 0 0] 1000;
|
||||
Ctau1 Ctau1 [0 0 0 0 0 0 0] -4;
|
||||
Ctau2 Ctau2 [0 0 0 0 0 0 0] 13;
|
||||
Ctau3 Ctau3 [0 0 0 0 0 0 0] -2;
|
||||
alphaKsi alphaKsi [0 0 0 0 0 0 0] 0.9;
|
||||
}
|
||||
|
||||
QZetaCoeffs
|
||||
{
|
||||
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||
alphaZeta alphaZeta [0 0 0 0 0 0 0] 0.76923;
|
||||
anisotropic no;
|
||||
}
|
||||
|
||||
LaunderSharmaKECoeffs
|
||||
{
|
||||
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||
}
|
||||
|
||||
LamBremhorstKECoeffs
|
||||
{
|
||||
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||
}
|
||||
|
||||
LienCubicKELowReCoeffs
|
||||
{
|
||||
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||
alphak alphak [0 0 0 0 0 0 0] 1;
|
||||
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||
A1 A1 [0 0 0 0 0 0 0] 1.25;
|
||||
A2 A2 [0 0 0 0 0 0 0] 1000;
|
||||
Ctau1 Ctau1 [0 0 0 0 0 0 0] -4;
|
||||
Ctau2 Ctau2 [0 0 0 0 0 0 0] 13;
|
||||
Ctau3 Ctau3 [0 0 0 0 0 0 0] -2;
|
||||
alphaKsi alphaKsi [0 0 0 0 0 0 0] 0.9;
|
||||
Am Am [0 0 0 0 0 0 0] 0.016;
|
||||
Aepsilon Aepsilon [0 0 0 0 0 0 0] 0.263;
|
||||
Amu Amu [0 0 0 0 0 0 0] 0.00222;
|
||||
}
|
||||
|
||||
LienLeschzinerLowReCoeffs
|
||||
{
|
||||
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||
alphak alphak [0 0 0 0 0 0 0] 1;
|
||||
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||
Am Am [0 0 0 0 0 0 0] 0.016;
|
||||
Aepsilon Aepsilon [0 0 0 0 0 0 0] 0.263;
|
||||
Amu Amu [0 0 0 0 0 0 0] 0.00222;
|
||||
}
|
||||
|
||||
LRRCoeffs
|
||||
{
|
||||
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||
Clrr1 Clrr1 [0 0 0 0 0 0 0] 1.8;
|
||||
Clrr2 Clrr2 [0 0 0 0 0 0 0] 0.6;
|
||||
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||
Cs Cs [0 0 0 0 0 0 0] 0.25;
|
||||
Ceps Ceps [0 0 0 0 0 0 0] 0.15;
|
||||
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||
}
|
||||
|
||||
LaunderGibsonRSTMCoeffs
|
||||
{
|
||||
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||
Clg1 Clg1 [0 0 0 0 0 0 0] 1.8;
|
||||
Clg2 Clg2 [0 0 0 0 0 0 0] 0.6;
|
||||
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||
C1Ref C1Ref [0 0 0 0 0 0 0] 0.5;
|
||||
C2Ref C2Ref [0 0 0 0 0 0 0] 0.3;
|
||||
Cs Cs [0 0 0 0 0 0 0] 0.25;
|
||||
Ceps Ceps [0 0 0 0 0 0 0] 0.15;
|
||||
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||
alphaR alphaR [0 0 0 0 0 0 0] 1.22;
|
||||
}
|
||||
|
||||
SpalartAllmarasCoeffs
|
||||
{
|
||||
alphaNut alphaNut [0 0 0 0 0 0 0] 1.5;
|
||||
Cb1 Cb1 [0 0 0 0 0 0 0] 0.1355;
|
||||
Cb2 Cb2 [0 0 0 0 0 0 0] 0.622;
|
||||
Cw2 Cw2 [0 0 0 0 0 0 0] 0.3;
|
||||
Cw3 Cw3 [0 0 0 0 0 0 0] 2;
|
||||
Cv1 Cv1 [0 0 0 0 0 0 0] 7.1;
|
||||
Cv2 Cv2 [0 0 0 0 0 0 0] 5.0;
|
||||
}
|
||||
|
||||
wallFunctionCoeffs
|
||||
{
|
||||
kappa kappa [0 0 0 0 0 0 0] 0.4187;
|
||||
E E [0 0 0 0 0 0 0] 9;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
56
tutorials/simpleSRFFoam/mixer/system/controlDict
Normal file
56
tutorials/simpleSRFFoam/mixer/system/controlDict
Normal file
@ -0,0 +1,56 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object controlDict;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application simpleSRFFoam;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 1000;
|
||||
|
||||
deltaT 1;
|
||||
|
||||
writeControl timeStep;
|
||||
|
||||
writeInterval 100;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression uncompressed;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable yes;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
80
tutorials/simpleSRFFoam/mixer/system/fvSchemes
Normal file
80
tutorials/simpleSRFFoam/mixer/system/fvSchemes
Normal file
@ -0,0 +1,80 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object fvSchemes;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
default steadyState;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
grad(p) Gauss linear;
|
||||
grad(Urel) Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{
|
||||
default none;
|
||||
div(phi,Urel) Gauss upwind;
|
||||
div(phi,k) Gauss upwind;
|
||||
div(phi,epsilon) Gauss upwind;
|
||||
div(phi,omega) Gauss upwind;
|
||||
div(phi,R) Gauss upwind;
|
||||
div(R) Gauss linear;
|
||||
div(phi,nuTilda) Gauss upwind;
|
||||
div((nuEff*dev(grad(Urel).T()))) Gauss linear;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default none;
|
||||
laplacian(nuEff,Urel) Gauss linear corrected;
|
||||
laplacian((1|A(Urel)),p) Gauss linear corrected;
|
||||
laplacian(DkEff,k) Gauss linear corrected;
|
||||
laplacian(DepsilonEff,epsilon) Gauss linear corrected;
|
||||
laplacian(DomegaEff,omega) Gauss linear corrected;
|
||||
laplacian(DREff,R) Gauss linear corrected;
|
||||
laplacian(DnuTildaEff,nuTilda) Gauss linear corrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
interpolate(Urel) linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default corrected;
|
||||
}
|
||||
|
||||
fluxRequired
|
||||
{
|
||||
default no;
|
||||
p;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
88
tutorials/simpleSRFFoam/mixer/system/fvSolution
Normal file
88
tutorials/simpleSRFFoam/mixer/system/fvSolution
Normal file
@ -0,0 +1,88 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object fvSolution;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
p PCG
|
||||
{
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
relTol 0.01;
|
||||
};
|
||||
Urel PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0.1;
|
||||
};
|
||||
k PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0.1;
|
||||
};
|
||||
epsilon PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0.1;
|
||||
};
|
||||
omega PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0.1;
|
||||
};
|
||||
R PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0.1;
|
||||
};
|
||||
nuTilda PBiCG
|
||||
{
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0.1;
|
||||
};
|
||||
}
|
||||
|
||||
SIMPLE
|
||||
{
|
||||
nNonOrthogonalCorrectors 0;
|
||||
}
|
||||
|
||||
relaxationFactors
|
||||
{
|
||||
p 0.3;
|
||||
Urel 0.7;
|
||||
k 0.7;
|
||||
epsilon 0.7;
|
||||
omega 0.7;
|
||||
R 0.7;
|
||||
nuTilda 0.7;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
3
tutorials/simpleSRFFoam/simpleSRFFoam/Make/files
Normal file
3
tutorials/simpleSRFFoam/simpleSRFFoam/Make/files
Normal file
@ -0,0 +1,3 @@
|
||||
simpleSRFFoam.C
|
||||
|
||||
EXE = $(FOAM_USER_APPBIN)/simpleSRFFoam
|
||||
10
tutorials/simpleSRFFoam/simpleSRFFoam/Make/options
Normal file
10
tutorials/simpleSRFFoam/simpleSRFFoam/Make/options
Normal file
@ -0,0 +1,10 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/turbulenceModels \
|
||||
-I$(LIB_SRC)/transportModels
|
||||
|
||||
EXE_LIBS = \
|
||||
-lincompressibleTurbulenceModels \
|
||||
-lincompressibleTransportModels \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools
|
||||
74
tutorials/simpleSRFFoam/simpleSRFFoam/createFields.H
Normal file
74
tutorials/simpleSRFFoam/simpleSRFFoam/createFields.H
Normal file
@ -0,0 +1,74 @@
|
||||
Info << "Reading field p\n" << endl;
|
||||
volScalarField p
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"p",
|
||||
runTime.timeName(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh
|
||||
);
|
||||
|
||||
Info<< "Reading field Urel\n" << endl;
|
||||
volVectorField Urel
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Urel",
|
||||
runTime.timeName(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh
|
||||
);
|
||||
|
||||
// Create absolute velocity field (post-processing only)
|
||||
// Will be updated before first use, so can be initialised by Urel
|
||||
Info<< "Creating field Uabs\n" << endl;
|
||||
volVectorField Uabs
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Uabs",
|
||||
runTime.timeName(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
Urel
|
||||
);
|
||||
|
||||
Info<< "Reading/calculating face flux field phi\n" << endl;
|
||||
surfaceScalarField phi
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"phi",
|
||||
runTime.timeName(),
|
||||
mesh,
|
||||
IOobject::READ_IF_PRESENT,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
linearInterpolate(Urel) & mesh.Sf()
|
||||
);
|
||||
|
||||
label pRefCell = 0;
|
||||
scalar pRefValue = 0.0;
|
||||
setRefCell(p, mesh.solutionDict().subDict("SIMPLE"), pRefCell, pRefValue);
|
||||
|
||||
singlePhaseTransportModel laminarTransport(Urel, phi);
|
||||
|
||||
autoPtr<turbulenceModel> turbulence
|
||||
(
|
||||
turbulenceModel::New(Urel, phi, laminarTransport)
|
||||
);
|
||||
|
||||
Info<< "Creating SRF model\n" << endl;
|
||||
autoPtr<SRF::SRFModel> SRF
|
||||
(
|
||||
SRF::SRFModel::New(Urel)
|
||||
);
|
||||
130
tutorials/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C
Normal file
130
tutorials/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C
Normal file
@ -0,0 +1,130 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
|
||||
\\/ 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 2 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, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Application
|
||||
simpleSRFFoam
|
||||
|
||||
Description
|
||||
Steady-state solver for incompressible, turbulent flow of non-Newtonian
|
||||
fluids with single rotating frame.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H"
|
||||
#include "incompressible/turbulenceModel/turbulenceModel.H"
|
||||
#include "SRFModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
||||
# include "setRootCase.H"
|
||||
|
||||
# include "createTime.H"
|
||||
# include "createMesh.H"
|
||||
# include "createFields.H"
|
||||
# include "initContinuityErrs.H"
|
||||
|
||||
//mesh.clearPrimitives();
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
Info<< "\nStarting time loop\n" << endl;
|
||||
|
||||
for (runTime++; !runTime.end(); runTime++)
|
||||
{
|
||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||
|
||||
# include "readSIMPLEControls.H"
|
||||
|
||||
p.storePrevIter();
|
||||
|
||||
// Pressure-velocity SIMPLE corrector
|
||||
{
|
||||
// Momentum predictor
|
||||
tmp<fvVectorMatrix> UrelEqn
|
||||
(
|
||||
fvm::div(phi, Urel)
|
||||
+ turbulence->divDevReff(Urel)
|
||||
+ SRF->Su()
|
||||
);
|
||||
|
||||
UrelEqn().relax();
|
||||
|
||||
solve(UrelEqn() == -fvc::grad(p));
|
||||
|
||||
p.boundaryField().updateCoeffs();
|
||||
volScalarField AUrel = UrelEqn().A();
|
||||
Urel = UrelEqn().H()/AUrel;
|
||||
UrelEqn.clear();
|
||||
phi = fvc::interpolate(Urel) & mesh.Sf();
|
||||
adjustPhi(phi, Urel, p);
|
||||
|
||||
// Non-orthogonal pressure corrector loop
|
||||
for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
|
||||
{
|
||||
fvScalarMatrix pEqn
|
||||
(
|
||||
fvm::laplacian(1.0/AUrel, p) == fvc::div(phi)
|
||||
);
|
||||
|
||||
pEqn.setReference(pRefCell, pRefValue);
|
||||
pEqn.solve();
|
||||
|
||||
if (nonOrth == nNonOrthCorr)
|
||||
{
|
||||
phi -= pEqn.flux();
|
||||
}
|
||||
}
|
||||
|
||||
# include "continuityErrs.H"
|
||||
|
||||
// Explicitly relax pressure for momentum corrector
|
||||
p.relax();
|
||||
|
||||
// Momentum corrector
|
||||
Urel -= fvc::grad(p)/AUrel;
|
||||
Urel.correctBoundaryConditions();
|
||||
}
|
||||
|
||||
turbulence->correct();
|
||||
|
||||
Uabs = Urel + SRF->U();
|
||||
|
||||
runTime.write();
|
||||
|
||||
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
|
||||
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
||||
<< nl << endl;
|
||||
}
|
||||
|
||||
Info<< "End\n" << endl;
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
Reference in New Issue
Block a user