mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: Multiple tutorial updates
This commit is contained in:
@ -56,8 +56,8 @@ functions
|
|||||||
maxResiduals
|
maxResiduals
|
||||||
{
|
{
|
||||||
p_rgh 1e-2;
|
p_rgh 1e-2;
|
||||||
U 1e-4;
|
U 1e-3;
|
||||||
T 1e-3;
|
h 1e-3;
|
||||||
|
|
||||||
// possibly check turbulence fields
|
// possibly check turbulence fields
|
||||||
"(k|epsilon|omega)" 1e-3;
|
"(k|epsilon|omega)" 1e-3;
|
||||||
|
|||||||
@ -57,8 +57,8 @@ functions
|
|||||||
maxResiduals
|
maxResiduals
|
||||||
{
|
{
|
||||||
p_rgh 1e-2;
|
p_rgh 1e-2;
|
||||||
U 1e-4;
|
U 1e-3;
|
||||||
T 1e-3;
|
h 1e-3;
|
||||||
|
|
||||||
// possibly check turbulence fields
|
// possibly check turbulence fields
|
||||||
"(k|epsilon|omega)" 1e-3;
|
"(k|epsilon|omega)" 1e-3;
|
||||||
|
|||||||
@ -57,8 +57,9 @@ functions
|
|||||||
maxResiduals
|
maxResiduals
|
||||||
{
|
{
|
||||||
p_rgh 1e-2;
|
p_rgh 1e-2;
|
||||||
U 1e-4;
|
U 1e-3;
|
||||||
T 1e-3;
|
h 1e-3;
|
||||||
|
G 1e-3;
|
||||||
|
|
||||||
// possibly check turbulence fields
|
// possibly check turbulence fields
|
||||||
"(k|epsilon|omega)" 1e-3;
|
"(k|epsilon|omega)" 1e-3;
|
||||||
|
|||||||
@ -57,8 +57,9 @@ functions
|
|||||||
maxResiduals
|
maxResiduals
|
||||||
{
|
{
|
||||||
p_rgh 1e-2;
|
p_rgh 1e-2;
|
||||||
U 1e-4;
|
U 1e-3;
|
||||||
T 1e-3;
|
h 1e-3;
|
||||||
|
G 1e-3;
|
||||||
|
|
||||||
// possibly check turbulence fields
|
// possibly check turbulence fields
|
||||||
"(k|epsilon|omega)" 1e-3;
|
"(k|epsilon|omega)" 1e-3;
|
||||||
|
|||||||
@ -35,8 +35,7 @@ solvers
|
|||||||
|
|
||||||
pFinal
|
pFinal
|
||||||
{
|
{
|
||||||
solver PCG;
|
$p;
|
||||||
preconditioner DIC;
|
|
||||||
tolerance 1e-06;
|
tolerance 1e-06;
|
||||||
relTol 0;
|
relTol 0;
|
||||||
}
|
}
|
||||||
@ -46,6 +45,13 @@ solvers
|
|||||||
solver PBiCG;
|
solver PBiCG;
|
||||||
preconditioner DILU;
|
preconditioner DILU;
|
||||||
tolerance 1e-05;
|
tolerance 1e-05;
|
||||||
|
relTol 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
UFinal
|
||||||
|
{
|
||||||
|
$U;
|
||||||
|
tolerance 1e-05;
|
||||||
relTol 0;
|
relTol 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -32,16 +32,9 @@ solvers
|
|||||||
|
|
||||||
pFinal
|
pFinal
|
||||||
{
|
{
|
||||||
solver GAMG;
|
$p;
|
||||||
tolerance 1e-7;
|
tolerance 1e-7;
|
||||||
relTol 0;
|
relTol 0;
|
||||||
smoother GaussSeidel;
|
|
||||||
nPreSweeps 0;
|
|
||||||
nPostSweeps 2;
|
|
||||||
cacheAgglomeration on;
|
|
||||||
agglomerator faceAreaPair;
|
|
||||||
nCellsInCoarsestLevel 10;
|
|
||||||
mergeLevels 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
"(U|k|omega)"
|
"(U|k|omega)"
|
||||||
@ -49,6 +42,13 @@ solvers
|
|||||||
solver PBiCG;
|
solver PBiCG;
|
||||||
preconditioner DILU;
|
preconditioner DILU;
|
||||||
tolerance 1e-06;
|
tolerance 1e-06;
|
||||||
|
relTol 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(U|k|omega)Final"
|
||||||
|
{
|
||||||
|
$U;
|
||||||
|
tolerance 1e-06;
|
||||||
relTol 0;
|
relTol 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1 @@
|
|||||||
|
../angledDuctImplicit/Allrun
|
||||||
10
tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/Allrun
Executable file
10
tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/Allrun
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
cd ${0%/*} || exit 1 # run from this directory
|
||||||
|
|
||||||
|
m4 constant/polyMesh/blockMeshDict.m4 > constant/polyMesh/blockMeshDict
|
||||||
|
|
||||||
|
# Source tutorial run functions
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||||
|
|
||||||
|
runApplication blockMesh
|
||||||
|
runApplication porousSimpleFoam
|
||||||
|
|
||||||
@ -0,0 +1,165 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
`format' ascii;
|
||||||
|
class dictionary;
|
||||||
|
object blockMeshDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// block definition for a porosity with an angled inlet/outlet
|
||||||
|
// the porosity is not aligned with the main axes
|
||||||
|
//
|
||||||
|
dnl> -----------------------------------------------------------------
|
||||||
|
dnl> <STANDARD DEFINTIONS>
|
||||||
|
dnl>
|
||||||
|
changecom(//)changequote([,]) dnl>
|
||||||
|
define(calc, [esyscmd(perl -e 'print ($1)')]) dnl>
|
||||||
|
define(VCOUNT, 0) dnl>
|
||||||
|
define(vlabel, [[// ]pt VCOUNT ($1) define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))]) dnl>
|
||||||
|
dnl>
|
||||||
|
define(hex2D, hex ($1b $2b $3b $4b $1f $2f $3f $4f)) dnl>
|
||||||
|
define(quad2D, ($1f $1b $2b $2f)) dnl>
|
||||||
|
define(frontQuad, ($1f $2f $3f $4f)) dnl>
|
||||||
|
define(backQuad, ($4b $3b $2b $1b)) dnl>
|
||||||
|
dnl>
|
||||||
|
dnl> </STANDARD DEFINTIONS>
|
||||||
|
dnl> -----------------------------------------------------------------
|
||||||
|
dnl>
|
||||||
|
define(ncells, 20) dnl>
|
||||||
|
define(ninlet, 15) dnl>
|
||||||
|
define(nporo, 20) dnl>
|
||||||
|
define(noutlet, 20) dnl>
|
||||||
|
dnl>
|
||||||
|
define(x0,0) dnl>
|
||||||
|
define(y0,0) dnl>
|
||||||
|
define(y0,0) dnl>
|
||||||
|
define(Cos,0.7071067812) dnl> == cos(45)
|
||||||
|
define(Sin,0.7071067812) dnl> == sin(45)
|
||||||
|
dnl>
|
||||||
|
define(width,50) dnl>
|
||||||
|
define(zBack,calc(-width/2)) dnl>
|
||||||
|
define(zFront,calc(width/2)) dnl>
|
||||||
|
define(leninlet,150)dnl>
|
||||||
|
define(lenporo,100)dnl>
|
||||||
|
define(lenoutlet,100)dnl>
|
||||||
|
dnl>
|
||||||
|
define(xhyp,calc(Sin*width)) dnl>
|
||||||
|
define(yhyp,calc(Cos*width)) dnl>
|
||||||
|
define(xinlet,leninlet)dnl>
|
||||||
|
define(xporo,calc(Cos*lenporo)) dnl>
|
||||||
|
define(yporo,calc(Sin*lenporo)) dnl>
|
||||||
|
define(xoutlet,calc(xporo + Cos*lenoutlet)) dnl>
|
||||||
|
define(youtlet,calc(yporo + Sin*lenoutlet)) dnl>
|
||||||
|
dnl>
|
||||||
|
|
||||||
|
convertToMeters 0.001;
|
||||||
|
|
||||||
|
vertices
|
||||||
|
(
|
||||||
|
// inlet region
|
||||||
|
( -xinlet y0 zBack ) vlabel(in1b)
|
||||||
|
( -xinlet yhyp zBack ) vlabel(in2b)
|
||||||
|
( -xinlet y0 zFront ) vlabel(in1f)
|
||||||
|
( -xinlet yhyp zFront ) vlabel(in2f)
|
||||||
|
|
||||||
|
// join inlet->outlet
|
||||||
|
( x0 y0 zBack ) vlabel(join1b)
|
||||||
|
( -xhyp yhyp zBack ) vlabel(join2b)
|
||||||
|
( x0 y0 zFront ) vlabel(join1f)
|
||||||
|
( -xhyp yhyp zFront ) vlabel(join2f)
|
||||||
|
|
||||||
|
// porosity ends ->outlet
|
||||||
|
( xporo yporo zBack ) vlabel(poro1b)
|
||||||
|
( calc(xporo - xhyp) calc(yporo + yhyp) zBack ) vlabel(poro2b)
|
||||||
|
( xporo yporo zFront ) vlabel(poro1f)
|
||||||
|
( calc(xporo - xhyp) calc(yporo + yhyp) zFront ) vlabel(poro2f)
|
||||||
|
|
||||||
|
// outlet
|
||||||
|
( xoutlet youtlet zBack ) vlabel(out1b)
|
||||||
|
( calc(xoutlet - xhyp) calc(youtlet + yhyp) zBack ) vlabel(out2b)
|
||||||
|
( xoutlet youtlet zFront ) vlabel(out1f)
|
||||||
|
( calc(xoutlet - xhyp) calc(youtlet + yhyp) zFront ) vlabel(out2f)
|
||||||
|
);
|
||||||
|
|
||||||
|
blocks
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
hex2D(in1, join1, join2, in2)
|
||||||
|
inlet ( ninlet ncells ncells ) simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// porosity block
|
||||||
|
hex2D(join1, poro1, poro2, join2)
|
||||||
|
porosity ( nporo ncells ncells ) simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// outlet block
|
||||||
|
hex2D(poro1, out1, out2, poro2)
|
||||||
|
outlet ( noutlet ncells ncells ) simpleGrading (1 1 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
edges
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
patches
|
||||||
|
(
|
||||||
|
// is there no way of defining all my 'defaultFaces' to be 'wall'?
|
||||||
|
wall front
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
frontQuad(in1, join1, join2, in2)
|
||||||
|
// outlet block
|
||||||
|
frontQuad(poro1, out1, out2, poro2)
|
||||||
|
)
|
||||||
|
|
||||||
|
wall back
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
backQuad(in1, join1, join2, in2)
|
||||||
|
// outlet block
|
||||||
|
backQuad(poro1, out1, out2, poro2)
|
||||||
|
)
|
||||||
|
|
||||||
|
wall wall
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
quad2D(in1, join1)
|
||||||
|
quad2D(join2, in2)
|
||||||
|
// outlet block
|
||||||
|
quad2D(poro1, out1)
|
||||||
|
quad2D(out2, poro2)
|
||||||
|
)
|
||||||
|
|
||||||
|
wall porosityWall
|
||||||
|
(
|
||||||
|
// porosity block
|
||||||
|
frontQuad(join1, poro1, poro2, join2)
|
||||||
|
// porosity block
|
||||||
|
backQuad(join1, poro1, poro2, join2)
|
||||||
|
// porosity block
|
||||||
|
quad2D(join1, poro1)
|
||||||
|
quad2D(poro2, join2)
|
||||||
|
)
|
||||||
|
|
||||||
|
patch inlet
|
||||||
|
(
|
||||||
|
quad2D(in2, in1)
|
||||||
|
)
|
||||||
|
|
||||||
|
patch outlet
|
||||||
|
(
|
||||||
|
quad2D(out2, out1)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
mergePatchPairs
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -33,7 +33,7 @@ PhaseChangeModel LiquidEvaporation;
|
|||||||
|
|
||||||
DevolatilisationModel ConstantRateDevolatilisation;
|
DevolatilisationModel ConstantRateDevolatilisation;
|
||||||
|
|
||||||
SurfaceReactionModel COxidationDiffusionLimitedRate;
|
SurfaceReactionModel COxidationKineticDiffusionLimitedRate;
|
||||||
|
|
||||||
PostProcessingModel none;
|
PostProcessingModel none;
|
||||||
|
|
||||||
@ -167,10 +167,12 @@ ConstantRateDevolatilisationCoeffs
|
|||||||
volatileResidualCoeff 0.001;
|
volatileResidualCoeff 0.001;
|
||||||
}
|
}
|
||||||
|
|
||||||
COxidationDiffusionLimitedRateCoeffs
|
COxidationKineticDiffusionLimitedRateCoeffs
|
||||||
{
|
{
|
||||||
Sb Sb [ 0 0 0 0 0 ] 1;
|
Sb Sb [ 0 0 0 0 0 ] 2.667;
|
||||||
D D [ 0 2 -1 0 0 ] 1.5e-05;
|
C1 C1 [ 0 0 0 0 0] 5.0E-12;
|
||||||
|
C2 C2 [ 0 0 0 0 0] 0.002;
|
||||||
|
E E [ 0 0 0 0 0] 7.9E+07;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -20,10 +20,10 @@ FoamFile
|
|||||||
{
|
{
|
||||||
active true;
|
active true;
|
||||||
timeStart 0.15;
|
timeStart 0.15;
|
||||||
duration 0.1;
|
duration 0.2;
|
||||||
selectionMode cellSet;
|
selectionMode cellSet;
|
||||||
volumeMode absolute;
|
volumeMode absolute;
|
||||||
fieldData 10000;
|
fieldData 15000;
|
||||||
cellSet ignitionCells;
|
cellSet ignitionCells;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
@ -34,10 +34,17 @@ solvers
|
|||||||
|
|
||||||
p
|
p
|
||||||
{
|
{
|
||||||
solver PBiCG;
|
solver GAMG;
|
||||||
preconditioner DILU;
|
|
||||||
tolerance 1e-06;
|
tolerance 1e-06;
|
||||||
relTol 0.1;
|
relTol 0.01;
|
||||||
|
smoother GaussSeidel;
|
||||||
|
nPreSweeps 0;
|
||||||
|
nPostSweeps 2;
|
||||||
|
nBottomSweeps 2;
|
||||||
|
cacheAgglomeration false;
|
||||||
|
nCellsInCoarsestLevel 10;
|
||||||
|
agglomerator faceAreaPair;
|
||||||
|
mergeLevels 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
pFinal
|
pFinal
|
||||||
@ -82,7 +89,7 @@ solvers
|
|||||||
PISO
|
PISO
|
||||||
{
|
{
|
||||||
transonic yes;
|
transonic yes;
|
||||||
nCorrectors 2;
|
nCorrectors 3;
|
||||||
nNonOrthogonalCorrectors 0;
|
nNonOrthogonalCorrectors 0;
|
||||||
momentumPredictor yes;
|
momentumPredictor yes;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user