Merge branch 'feature-Eulerian-recycling-boundary-conditions' into 'develop'

ENH: outletMappedUniformInlet: add optional fraction and offset

See merge request Development/openfoam!399
This commit is contained in:
Andrew Heather 2020-12-16 18:28:30 +00:00
commit 3e431de285
55 changed files with 3410 additions and 29 deletions

View File

@ -42,7 +42,9 @@ outletMappedUniformInletFvPatchField
:
fixedValueFvPatchField<Type>(p, iF),
outletPatchName_(),
phiName_("phi")
phiName_("phi"),
fraction_(1),
offset_(Zero)
{}
@ -56,8 +58,10 @@ outletMappedUniformInletFvPatchField
)
:
fixedValueFvPatchField<Type>(p, iF, dict),
outletPatchName_(dict.lookup("outletPatch")),
phiName_(dict.getOrDefault<word>("phi", "phi"))
outletPatchName_(dict.get<word>("outletPatch")),
phiName_(dict.getOrDefault<word>("phi", "phi")),
fraction_(dict.getOrDefault<scalar>("fraction", 1)),
offset_(dict.getOrDefault<Type>("offset", Zero))
{}
@ -73,7 +77,9 @@ outletMappedUniformInletFvPatchField
:
fixedValueFvPatchField<Type>(ptf, p, iF, mapper),
outletPatchName_(ptf.outletPatchName_),
phiName_(ptf.phiName_)
phiName_(ptf.phiName_),
fraction_(ptf.fraction_),
offset_(ptf.offset_)
{}
@ -86,11 +92,12 @@ outletMappedUniformInletFvPatchField
:
fixedValueFvPatchField<Type>(ptf),
outletPatchName_(ptf.outletPatchName_),
phiName_(ptf.phiName_)
phiName_(ptf.phiName_),
fraction_(ptf.fraction_),
offset_(ptf.offset_)
{}
template<class Type>
Foam::outletMappedUniformInletFvPatchField<Type>::
outletMappedUniformInletFvPatchField
@ -101,7 +108,9 @@ outletMappedUniformInletFvPatchField
:
fixedValueFvPatchField<Type>(ptf, iF),
outletPatchName_(ptf.outletPatchName_),
phiName_(ptf.phiName_)
phiName_(ptf.phiName_),
fraction_(ptf.fraction_),
offset_(ptf.offset_)
{}
@ -124,7 +133,7 @@ void Foam::outletMappedUniformInletFvPatchField<Type>::updateCoeffs()
);
const fvPatch& p = this->patch();
label outletPatchID =
const label outletPatchID =
p.patch().boundaryMesh().findPatchID(outletPatchName_);
if (outletPatchID < 0)
@ -139,12 +148,12 @@ void Foam::outletMappedUniformInletFvPatchField<Type>::updateCoeffs()
const fvPatchField<Type>& outletPatchField =
f.boundaryField()[outletPatchID];
const surfaceScalarField& phi =
const auto& phi =
this->db().objectRegistry::template lookupObject<surfaceScalarField>
(phiName_);
const scalarField& outletPatchPhi = phi.boundaryField()[outletPatchID];
scalar sumOutletPatchPhi = gSum(outletPatchPhi);
const scalar sumOutletPatchPhi = gSum(outletPatchPhi);
if (sumOutletPatchPhi > SMALL)
{
@ -152,7 +161,7 @@ void Foam::outletMappedUniformInletFvPatchField<Type>::updateCoeffs()
gSum(outletPatchPhi*outletPatchField)
/sumOutletPatchPhi;
this->operator==(averageOutletField);
this->operator==(averageOutletField*fraction_ + offset_);
}
else
{
@ -173,6 +182,8 @@ void Foam::outletMappedUniformInletFvPatchField<Type>::write(Ostream& os) const
fvPatchField<Type>::write(os);
os.writeEntry("outletPatch", outletPatchName_);
os.writeEntryIfDifferent<word>("phi", "phi", phiName_);
os.writeEntry("fraction", fraction_);
os.writeEntry("offset", offset_);
this->writeEntry("value", os);
}

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2018 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -30,33 +31,66 @@ Group
grpInletBoundaryConditions
Description
This boundary condition averages the field over the "outlet" patch specified
by name "outletPatch" and applies this as the uniform value of the field
over this patch.
The \c outletMappedUniformInlet is an inlet boundary condition that
- averages the patch field of \<Type\> over a specified "outlet" patch
and uniformly applies the averaged value over a specified inlet patch.
- optionally, the averaged value can be scaled
and/or offset by a pair of specified values.
The governing equation of the boundary condition is:
\f[
\phi_{inlet} = f \phi_{outlet} + \phi_{offset}
\f]
where
\vartable
\phi_{inlet} | Spatially-uniform patch-field value at an inlet patch
\phi_{outlet} | Averaged patch-field value at an outlet patch
f | User-defined fraction value
\phi_{offset} | User-defined offset value
\endvartable
Usage
\table
Property | Description | Required | Default value
outletPatch | Name of outlet patch | yes |
phi | Flux field name | no | phi
\endtable
Example of the boundary condition specification:
\verbatim
<patchName>
{
type outletMappedUniformInlet;
outletPatch aPatch;
// Mandatory entries (unmodifiable)
type outletMappedFilterInlet;
outletPatch <outletPatchName>;
// Optional entries (unmodifiable)
fraction 0.1;
offset 10; // (1 0 0);
phi phi;
value uniform 0;
// Optional (inherited) entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Reqd | Dflt
type | Type name: outletMappedUniformInlet | word | yes | -
outletPatch | Name of patch to be mapped | word | yes | -
fraction | Fraction value | scalar | no | 1
offset | Offset value | Type | no | Zero
phi | Name of operand flux field | word | no | phi
\endtable
The inherited entries are elaborated in:
- \link fixedValueFvPatchFields.H \endlink
See also
Foam::fixedValueFvPatchField
- Foam::fixedValueFvPatchField
- Foam::outletMappedUniformInletHeatAdditionFvPatchField
- Foam::outletMappedUniformInletTemperatureFvPatchField
SourceFiles
outletMappedUniformInletFvPatchField.C
outletMappedUniformInletFvPatchFields.C
\*---------------------------------------------------------------------------*/
@ -79,14 +113,20 @@ class outletMappedUniformInletFvPatchField
:
public fixedValueFvPatchField<Type>
{
// Private data
// Private Data
//- Name of the outlet patch to be mapped
word outletPatchName_;
//- Name of the flux transporting the field
//- Name of operand flux field
word phiName_;
//- Fraction value
scalar fraction_;
//- Offset value
Type offset_;
public:
@ -112,7 +152,7 @@ public:
);
//- Construct by mapping given outletMappedUniformInletFvPatchField
// onto a new patch
//- onto a new patch
outletMappedUniformInletFvPatchField
(
const outletMappedUniformInletFvPatchField<Type>&,
@ -156,7 +196,7 @@ public:
}
// Member functions
// Member Functions
// Access
@ -167,7 +207,7 @@ public:
}
// Evaluation functions
// Evaluation
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();

View File

@ -0,0 +1,9 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
#------------------------------------------------------------------------------
(cd steady && ./Allclean)
(cd transient && ./Allclean)
#------------------------------------------------------------------------------

View File

@ -0,0 +1,10 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
#------------------------------------------------------------------------------
(cd steady && ./Allrun-parallel)
(cd transient && ./Allrun-parallel)
#------------------------------------------------------------------------------

View File

@ -0,0 +1,71 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 293;
boundaryField
{
"(roof|floor|sideWall)"
{
type zeroGradient;
}
humanBody
{
type externalWallHeatFluxTemperature;
mode flux;
q uniform 58; // W/m^2
value uniform 310;
kappaMethod fluidThermo;
kappa none;
Qr none;
}
inlet
{
type fixedValue;
value uniform 293;
}
mouth
{
type fixedValue;
value uniform 310;
}
outlet
{
type inletOutlet;
value $internalField;
inletValue $internalField;
}
"(intake1|intake2|intake3|intake4)"
{
type zeroGradient;
}
"(exhaust_maxX|exhaust_minX|exhaust_maxY|exhaust_minY)"
{
type fixedValue;
value uniform 293;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,59 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ 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
{
"(roof|floor|sideWall|humanBody)"
{
type fixedValue;
value uniform (0 0 0);
}
inlet
{
type surfaceNormalFixedValue;
refValue uniform -1;
}
outlet
{
type zeroGradient;
}
mouth
{
type surfaceNormalFixedValue;
refValue uniform -4;
}
"(intake1|intake2|intake3|intake4)"
{
type zeroGradient;
}
"(exhaust_maxX|exhaust_minX|exhaust_maxY|exhaust_minY)"
{
type surfaceNormalFixedValue;
refValue uniform -2;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object alphat;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
"(roof|floor|sideWall|humanBody)"
{
type compressible::alphatWallFunction;
value uniform 0;
}
"(inlet|mouth|outlet)"
{
type calculated;
value $internalField;
}
"(intake1|intake2|intake3|intake4)"
{
type calculated;
value $internalField;
}
"(exhaust_maxX|exhaust_minX|exhaust_maxY|exhaust_minY)"
{
type calculated;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,53 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0.0938;
boundaryField
{
"(roof|floor|sideWall|humanBody)"
{
type kqRWallFunction;
value $internalField;
}
"(inlet|mouth)"
{
type fixedValue;
value $internalField;
}
outlet
{
type zeroGradient;
}
"(intake1|intake2|intake3|intake4)"
{
type zeroGradient;
}
"(exhaust_maxX|exhaust_minX|exhaust_maxY|exhaust_minY)"
{
type fixedValue;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,55 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
"(roof|floor|sideWall|humanBody)"
{
type nutkWallFunction;
value $internalField;
}
"(inlet|mouth)"
{
type calculated;
value $internalField;
}
outlet
{
type calculated;
value $internalField;
}
"(intake1|intake2|intake3|intake4)"
{
type calculated;
value $internalField;
}
"(exhaust_maxX|exhaust_minX|exhaust_maxY|exhaust_minY)"
{
type calculated;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,57 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object omega;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 -1 0 0 0 0];
internalField uniform 100;
boundaryField
{
"(roof|floor|sideWall|humanBody)"
{
type omegaWallFunction;
value $internalField;
}
"(inlet|mouth)"
{
type fixedValue;
value $internalField;
}
outlet
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
"(intake1|intake2|intake3|intake4)"
{
type inletOutlet;
inletValue uniform 0.223607;
value uniform 0.223607;
}
"(exhaust_maxX|exhaust_minX|exhaust_maxY|exhaust_minY)"
{
type fixedValue;
value uniform 0.223607;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,52 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p_rgh;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 101325;
boundaryField
{
"(roof|floor|sideWall|humanBody)"
{
type zeroGradient;
}
"(inlet|mouth)"
{
type zeroGradient;
}
outlet
{
type fixedValue;
value $internalField;
}
"(intake1|intake2|intake3|intake4)"
{
type fixedValue;
value $internalField;
}
"(exhaust_maxX|exhaust_minX|exhaust_maxY|exhaust_minY)"
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,11 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
#------------------------------------------------------------------------------
cleanCase0
rm -rf constant/triSurface
rm -rf constant/extendedFeatureEdgeMesh
#------------------------------------------------------------------------------

View File

@ -0,0 +1,14 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
#------------------------------------------------------------------------------
[[ -d constant/polyMesh ]] || runApplication ./Allrun.pre
runApplication decomposePar
runParallel $(getApplication)
runApplication reconstructPar -latestTime
#------------------------------------------------------------------------------

View File

@ -0,0 +1,19 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
#------------------------------------------------------------------------------
restore0Dir
runApplication blockMesh
mkdir -p constant/triSurface
cp -f "$FOAM_TUTORIALS"/resources/geometry/roomRecirculation.stl.gz \
constant/triSurface
runApplication surfaceFeatureExtract
runApplication snappyHexMesh -overwrite
#------------------------------------------------------------------------------

View File

@ -0,0 +1,26 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvOptions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
limitT
{
type limitTemperature;
min 101;
max 313; // no more than 40 celsius inside the room
selectionMode all;
}
// ************************************************************************* //

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class uniformDimensionedVectorField;
object g;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -2 0 0 0 0];
value (0 0 -9.81);
// ************************************************************************* //

View File

@ -0,0 +1,55 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState Boussinesq;
specie specie;
energy sensibleInternalEnergy;
}
mixture
{
specie
{
molWeight 28.9;
}
thermodynamics
{
Cp 1007;
Hf 0;
}
transport
{
mu 1.84e-05;
Pr 0.7;
}
equationOfState
{
rho0 1;
T0 298;
beta 0.0034; // thermal expansion coefficient of air
// at normal standard conditions of 25 degree Celsius or 298 Kelvin
// thermal expansion coefficient of air is said to be around 0.0034/K
}
}
// ************************************************************************* //

View File

@ -0,0 +1,28 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType RAS;
RAS
{
RASModel kOmegaSST;
turbulence on;
printCoeffs on;
}
// ************************************************************************* //

View File

@ -0,0 +1,93 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
scale 1;
vertices
(
( -0.4 -0.4 -0.3 )
( 4.4 -0.4 -0.3 )
( 4.4 4.4 -0.3 )
( -0.4 4.4 -0.3 )
( -0.4 -0.4 3.3 )
( 4.4 -0.4 3.3 )
( 4.4 4.4 3.3 )
( -0.4 4.4 3.3 )
);
blocks
(
hex (0 1 2 3 4 5 6 7) ( 48 48 35 ) simpleGrading ( 1 1 1 )
);
edges
(
);
boundary
(
XMin
{
type patch;
faces
(
(0 4 7 3)
);
}
XMax
{
type patch;
faces
(
(1 2 6 5)
);
}
YMin
{
type patch;
faces
(
(0 1 5 4)
);
}
YMax
{
type patch;
faces
(
(3 7 6 2)
);
}
ZMin
{
type patch;
faces
(
(0 3 2 1)
);
}
ZMax
{
type patch;
faces
(
(4 5 6 7)
);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,66 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application rhoSimpleFoam;
startFrom latestTime;
startTime 0;
stopAt endTime;
endTime 500;
deltaT 1;
writeControl timeStep;
writeInterval 10;
purgeWrite 2;
writeFormat ascii;
writePrecision 10;
writeCompression off;
timeFormat general;
timePrecision 10;
runTimeModifiable true;
maxCo 1;
maxDeltaT 1;
functions
{
fieldMinMax
{
type fieldMinMax;
functionObjectLibs (fieldFunctionObjects);
fields ( U p T);
mode magnitude;
writeControl timeStep;
writeInterval 1;
log yes;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 10;
method scotch;
// ************************************************************************* //

View File

@ -0,0 +1,70 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default steadyState;
}
gradSchemes
{
default cellLimited Gauss linear 1;
}
divSchemes
{
default none;
div(phi,U) bounded Gauss linearUpwind limited;
turbulence bounded Gauss upwind;
energy bounded Gauss limitedLinear 1.0;
div(phi,k) $turbulence;
div(phi,omega) $turbulence;
div(phi,e) $energy;
div(phi,K) $energy;
div(phi,Ekp) $energy;
div(phid,p) Gauss linear;
div((phi|interpolate(rho)),p) bounded Gauss upwind;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear limited 0.333;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default limited 0.333;
}
wallDist
{
method meshWave;
}
// ************************************************************************* //

View File

@ -0,0 +1,106 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
p
{
solver GAMG;
agglomerator faceAreaPair;
mergeLevels 1;
cacheAgglomeration true;
nCellsInCoarsestLevel 200;
tolerance 1e-12;
relTol 0.001;
smoother GaussSeidel;
nPreSweeps 0;
nPostSweeps 2;
nFinestSweeps 2;
nVcycles 1;
minIter 1;
}
U
{
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-7;
relTol 0.01;
}
k
{
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-7;
relTol 0.01;
}
omega
{
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-7;
relTol 0.01;
}
e
{
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-4;
relTol 0.1;
}
Phi
{
$p;
}
}
SIMPLE
{
residualControl
{
p 1e-3;
U 1e-3;
k 1e-3;
omega 1e-3;
e 1e-3;
}
nNonOrthogonalCorrectors 0;
pMinFactor 0.1;
pMaxFactor 2;
}
relaxationFactors
{
fields
{
p 0.7;
rho 0.01;
}
equations
{
U 0.3;
e 0.1;
"(k|omega)" 0.7;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,330 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object snappyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
castellatedMesh true;
snap true;
addLayers false;
geometry
{
roomRecirculation.stl
{
type triSurfaceMesh;
name roomRecirculation ;
regions
{
inlet
{
name inlet;
}
outlet
{
name outlet;
}
roof
{
name roof;
}
floor
{
name floor;
}
sideWall
{
name sideWall;
}
humanBody
{
name humanBody;
}
mouth
{
name mouth;
}
// additional recirculation patches
intake1
{
name intake1;
}
intake2
{
name intake2;
}
intake3
{
name intake3;
}
intake4
{
name intake4;
}
exhaust_maxX
{
name exhaust_maxX;
}
exhaust_minX
{
name exhaust_minX;
}
exhaust_maxY
{
name exhaust_maxY;
}
exhaust_minY
{
name exhaust_minY;
}
}
}
};
castellatedMeshControls
{
maxLocalCells 200000000;
maxGlobalCells 300000000;
minRefinementCells 20;
nCellsBetweenLevels 4;
maxLoadUnbalance 0.1;
allowFreeStandingZoneFaces true;
resolveFeatureAngle 30;
features
(
{
file "roomRecirculation.eMesh" ;
level 0 ;
}
);
refinementSurfaces
{
roomRecirculation
{
level (0 0);
regions
{
inlet
{
level (3 3);
patchInfo
{
type patch;
}
}
outlet
{
level (3 3);
patchInfo
{
type patch;
}
}
roof
{
level (1 1);
patchInfo
{
type wall;
}
}
floor
{
level (1 1);
patchInfo
{
type wall;
}
}
sideWall
{
level (1 1);
patchInfo
{
type wall;
}
}
humanBody
{
level (4 4);
patchInfo
{
type wall;
}
}
mouth
{
level (4 4);
patchInfo
{
type patch;
}
}
intake1
{
level (3 3);
patchInfo
{
type patch;
}
}
intake2
{
level (3 3);
patchInfo
{
type patch;
}
}
intake3
{
level (3 3);
patchInfo
{
type patch;
}
}
intake4
{
level (3 3);
patchInfo
{
type patch;
}
}
exhaust_maxX
{
level (3 3);
patchInfo
{
type patch;
}
}
exhaust_minX
{
level (3 3);
patchInfo
{
type patch;
}
}
exhaust_maxY
{
level (3 3);
patchInfo
{
type patch;
}
}
exhaust_minY
{
level (3 3);
patchInfo
{
type patch;
}
}
}
}
}
refinementRegions
{
}
locationInMesh ( 2 2 1.5 ) ;
}
snapControls
{
tolerance 2;
implicitFeatureSnap false;
explicitFeatureSnap true;
multiRegionFeatureSnap true;
detectNearSurfacesSnap true;
nSmoothPatch 3;
nSolveIter 50;
nRelaxIter 5;
nFeatureSnapIter 10;
nSmoothInternal 3;
nFaceSplitInterval -1;
}
addLayersControls
{
layers
{
}
relativeSizes true ;
expansionRatio 1.2 ;
firstLayerThickness 0.1 ;
featureAngle 180;
slipFeatureAngle 30;
nGrow 0;
nBufferCellsNoExtrude 0;
minMedianAxisAngle 90;
maxFaceThicknessRatio 0.2;
maxThicknessToMedialRatio 0.3;
minThickness 1e-06;
nLayerIter 50;
nRelaxIter 5;
nSmoothSurfaceNormals 10;
nSmoothNormals 3;
nSmoothThickness 10;
nRelaxedIter 10;
nMedialAxisIter 10;
}
meshQualityControls
{
minVol 1e-13;
minTetQuality 1e-16;
minArea 1e-13;
minTwist 0.05;
minDeterminant 1e-06;
minFaceWeight 0.02;
minVolRatio 0.01;
minTriangleTwist -1;
minFlatness 0.5;
maxNonOrtho 70;
maxBoundarySkewness 20;
maxInternalSkewness 4;
maxConcave 80;
nSmoothScale 4;
errorReduction 0.75;
relaxed
{
minVol 1e-30;
minTetQuality 1e-30;
minArea 1e-30;
minTwist 0.001;
minDeterminant 1e-06;
minFaceWeight 1e-06;
minVolRatio 0.01;
minTriangleTwist -1;
minFlatness 0.5;
maxNonOrtho 75;
maxBoundarySkewness 20;
maxInternalSkewness 8;
maxConcave 80;
nSmoothScale 4;
errorReduction 0.75;
}
}
mergeTolerance 1e-07;
debug 0;
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object surfaceFeatureExtractDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
roomRecirculation.stl
{
extractionMethod extractFromSurface;
writeObj yes;
extractFromSurfaceCoeffs
{
includedAngle 150;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,65 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object CO2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//How to convert from ppm to % in the air?
//https://www.rapidtables.com/convert/number/PPM_to_Percent.html
// 1% = 1/100
// 1ppm = 1/1000000
// hence
// 1ppm = 0.0001%
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.0004; // 400ppm => 0.04% => 0.0004
boundaryField
{
"(roof|floor|sideWall|humanBody)"
{
type zeroGradient;
}
inlet
{
type fixedValue;
value $internalField;
}
mouth
{
type fixedValue;
value uniform 0.001; // 1000ppm => 0.1% => 0.001;
}
outlet
{
type zeroGradient;
}
"(intake1|intake2|intake3|intake4)"
{
type zeroGradient;
}
"(exhaust_maxX|exhaust_minX|exhaust_maxY|exhaust_minY)"
{
type fixedValue;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,68 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object G;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 0 -3 0 0 0 0];
internalField uniform 0;
boundaryField
{
"(roof|floor|sideWall|humanBody)"
{
type MarshakRadiation;
emissivityMode lookup;
emissivity uniform 1;
value uniform 0;
refValue uniform 0;
refGradient uniform 0;
valueFraction uniform 0;
}
"(inlet|mouth)"
{
type MarshakRadiation;
emissivityMode lookup;
emissivity uniform 1;
value uniform 0;
refValue uniform 0;
refGradient uniform 0;
valueFraction uniform 0;
}
outlet
{
type zeroGradient;
}
"(intake1|intake2|intake3|intake4)"
{
type zeroGradient;
}
"(exhaust_maxX|exhaust_minX|exhaust_maxY|exhaust_minY)"
{
type MarshakRadiation;
emissivityMode lookup;
emissivity uniform 1;
value uniform 0;
refValue uniform 0;
refGradient uniform 0;
valueFraction uniform 0;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,84 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object H2O;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0;
boundaryField
{
"(roof|floor|sideWall|humanBody)"
{
type zeroGradient;
}
inlet
{
type fixedValue;
value uniform 0.5; // relative humidity 50%
}
mouth
{
type fixedValue;
value uniform 1; // relative humidity 100%
}
outlet
{
type zeroGradient;
}
"(intake1|intake2|intake3|intake4)"
{
type zeroGradient;
}
exhaust_maxX
{
type outletMappedUniformInlet;
outletPatch intake3;
fraction 0.95; // 5% filtering
value $internalField;
}
exhaust_minX
{
type outletMappedUniformInlet;
outletPatch intake1;
fraction 0.95;
value $internalField;
}
exhaust_maxY
{
type outletMappedUniformInlet;
outletPatch intake4;
fraction 0.95;
value $internalField;
}
exhaust_minY
{
type outletMappedUniformInlet;
outletPatch intake2;
fraction 0.95;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,78 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object N2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.79;
boundaryField
{
"(roof|floor|sideWall|humanBody)"
{
type zeroGradient;
}
"(inlet|mouth)"
{
type fixedValue;
value $internalField;
}
outlet
{
type zeroGradient;
}
"(intake1|intake2|intake3|intake4)"
{
type zeroGradient;
}
exhaust_maxX
{
type outletMappedUniformInlet;
outletPatch intake3;
fraction 0.95; // 5% filtering
value $internalField;
}
exhaust_minX
{
type outletMappedUniformInlet;
outletPatch intake1;
fraction 0.95;
value $internalField;
}
exhaust_maxY
{
type outletMappedUniformInlet;
outletPatch intake4;
fraction 0.95;
value $internalField;
}
exhaust_minY
{
type outletMappedUniformInlet;
outletPatch intake2;
fraction 0.95;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,84 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object O2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.21;
boundaryField
{
"(roof|floor|sideWall|humanBody)"
{
type zeroGradient;
}
"(inlet|mouth)"
{
type fixedValue;
value $internalField;
}
mouth
{
type fixedValue;
value $internalField;
}
outlet
{
type zeroGradient;
}
"(intake1|intake2|intake3|intake4)"
{
type zeroGradient;
}
exhaust_maxX
{
type outletMappedUniformInlet;
outletPatch intake3;
fraction 0.95; // 5% filtering
value $internalField;
}
exhaust_minX
{
type outletMappedUniformInlet;
outletPatch intake1;
fraction 0.95;
value $internalField;
}
exhaust_maxY
{
type outletMappedUniformInlet;
outletPatch intake4;
fraction 0.95;
value $internalField;
}
exhaust_minY
{
type outletMappedUniformInlet;
outletPatch intake2;
fraction 0.95;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,96 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 293;
boundaryField
{
"(roof|floor|sideWall)"
{
type fixedValue;
value uniform 297;
}
humanBody
{
type externalWallHeatFluxTemperature;
mode flux;
q uniform 58; // W/m^2
value uniform 310;
kappaMethod fluidThermo;
kappa none;
Qr none;
}
inlet
{
type fixedValue;
value uniform 293;
}
mouth
{
type fixedValue;
value uniform 310;
}
outlet
{
type zeroGradient;
}
"(intake1|intake2|intake3|intake4)"
{
type zeroGradient;
}
exhaust_maxX
{
type outletMappedUniformInlet;
outletPatch intake3;
offset 20;
value $internalField;
}
exhaust_minX
{
type outletMappedUniformInlet;
outletPatch intake1;
offset 20;
value $internalField;
}
exhaust_maxY
{
type outletMappedUniformInlet;
outletPatch intake4;
offset 20;
value $internalField;
}
exhaust_minY
{
type outletMappedUniformInlet;
outletPatch intake2;
offset 20;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object alphat;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
"(roof|floor|sideWall|humanBody)"
{
type compressible::alphatWallFunction;
value uniform 0;
}
"(inlet|mouth|outlet)"
{
type calculated;
value $internalField;
}
"(intake1|intake2|intake3|intake4)"
{
type calculated;
value $internalField;
}
"(exhaust_maxX|exhaust_minX|exhaust_maxY|exhaust_minY)"
{
type calculated;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,52 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0.0938;
boundaryField
{
"(roof|floor|sideWall|humanBody)"
{
type kqRWallFunction;
value $internalField;
}
"(inlet|mouth)"
{
type fixedValue;
value $internalField;
}
outlet
{
type zeroGradient;
}
"(intake1|intake2|intake3|intake4)"
{
type zeroGradient;
}
"(exhaust_maxX|exhaust_minX|exhaust_maxY|exhaust_minY)"
{
type fixedValue;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
"(roof|floor|sideWall|humanBody)"
{
type nutkWallFunction;
value $internalField;
}
"(inlet|mouth|outlet)"
{
type calculated;
value $internalField;
}
"(intake1|intake2|intake3|intake4)"
{
type calculated;
value $internalField;
}
"(exhaust_maxX|exhaust_minX|exhaust_maxY|exhaust_minY)"
{
type calculated;
value $internalField;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,62 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object omega;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 -1 0 0 0 0];
internalField uniform 0.223607;
boundaryField
{
"(roof|floor|sideWall|humanBody)"
{
type omegaWallFunction;
value $internalField;
}
inlet
{
type fixedValue;
value uniform 0.223607;
}
outlet
{
type inletOutlet;
inletValue uniform 0.223607;
value uniform 0.223607;
}
mouth
{
type fixedValue;
value uniform 0.894427;
}
"(intake1|intake2|intake3|intake4)"
{
type inletOutlet;
inletValue uniform 0.223607;
value uniform 0.223607;
}
"(exhaust_maxX|exhaust_minX|exhaust_maxY|exhaust_minY)"
{
type fixedValue;
value uniform 0.223607;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,58 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p_rgh;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
"(roof|floor|sideWall|humanBody)"
{
type fixedFluxPressure;
value $internalField;
}
inlet
{
type fixedFluxPressure;
}
mouth
{
type fixedFluxPressure;
}
outlet
{
type prghPressure;
p $internalField;
}
"(intake1|intake2|intake3|intake4)"
{
type prghPressure;
p $internalField;
}
"(exhaust_maxX|exhaust_minX|exhaust_maxY|exhaust_minY)"
{
type fixedFluxPressure;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,8 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
#------------------------------------------------------------------------------
cleanCase0
#------------------------------------------------------------------------------

View File

@ -0,0 +1,17 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
#------------------------------------------------------------------------------
[[ -d constant/polyMesh ]] || rm -rf constant/polyMesh
cp -rf ../steady/constant/polyMesh constant
restore0Dir
cp -f ../steady/500/U 0/
cp -f ../steady/500/p 0/
runApplication $(getApplication)
#------------------------------------------------------------------------------

View File

@ -0,0 +1,19 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
#------------------------------------------------------------------------------
[[ -d constant/polyMesh ]] || rm -rf constant/polyMesh
cp -rf ../steady/constant/polyMesh constant
restore0Dir
cp -f ../steady/500/U 0/
cp -f ../steady/500/p 0/
runApplication decomposePar
runParallel $(getApplication)
#------------------------------------------------------------------------------

View File

@ -0,0 +1,39 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object chemistryProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
chemistryType
{
solver noChemistrySolver;
}
chemistry off;
initialChemicalTimeStep 1e-07;
EulerImplicitCoeffs
{
cTauChem 0.05;
equilibriumRateLimiter off;
}
odeCoeffs
{
solver seulex;
eps 0.05;
}
// ************************************************************************* //

View File

@ -0,0 +1,20 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object combustionProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
combustionModel none;
// ************************************************************************* //

View File

@ -0,0 +1,26 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvOptions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
limitT
{
type limitTemperature;
min 101;
max 400;
selectionMode all;
}
// ************************************************************************* //

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class uniformDimensionedVectorField;
object g;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -2 0 0 0 0];
value (0 0 -9.81);
// ************************************************************************* //

View File

@ -0,0 +1,24 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object particleTrackProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
cloud reactingCloud1;
sampleFrequency 1;
maxPositions 1000000;
// ************************************************************************* //

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object radiationProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -0,0 +1,584 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object reactingCloud1Properties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solution
{
active true;
coupled true;
transient yes;
cellValueSourceCorrection on;
maxCo 0.3;
sourceTerms
{
schemes
{
rho explicit 1;
U explicit 1;
Yi explicit 1;
h explicit 1;
radiation explicit 1;
}
}
interpolationSchemes
{
rho cell;
U cellPoint;
thermo:mu cell;
T cell;
Cp cell;
kappa cell;
p cell;
}
integrationSchemes
{
U Euler;
T analytical;
}
}
constantProperties
{
rho0 1000;
T0 300;
Cp0 4100;
constantVolume false;
}
subModels
{
particleForces
{
sphereDrag;
gravity;
}
injectionModels
{
// using droplets distribution from 2009 Chao paper
// https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7126899/
// to allow an easier check of the number of particles hitting a patch
// according to their size, we will reduce the number of model* parcel and
// comment some of them, so to get a shorter list, easier to verify.
model3 // diameter 3 μm => 0.000003m
{
type patchInjection;
parcelBasisType fixed;
patch mouth;
U0 (4.0 0.0 0.0);
nParticle 1; // 1 particles = one parcel
parcelsPerSecond 2; // taken from 3rd column of table https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7126899/table/tbl1/
sizeDistribution
{
type uniform;
uniformDistribution
{
minValue 0.000003;
maxValue 0.000003;
}
}
flowRateProfile constant 1;
massTotal 0;
SOI 0.0;
duration 120.0;
}
model6 // diameter 6 μm => 0.000006m
{
type patchInjection;
parcelBasisType fixed;
patch mouth;
U0 (4.0 0.0 0.0);
nParticle 1; // 1 particles = one parcel
parcelsPerSecond 27;
sizeDistribution
{
type uniform;
uniformDistribution
{
minValue 0.000006;
maxValue 0.000006;
}
}
flowRateProfile constant 1;
massTotal 0;
SOI 0.0;
duration 120.0;
}
model12 // diameter 12 μm => 0.000012m
{
type patchInjection;
parcelBasisType fixed;
patch mouth;
U0 (4.0 0.0 0.0);
nParticle 1; // 1 particles = one parcel
parcelsPerSecond 9;
sizeDistribution
{
type uniform;
uniformDistribution
{
minValue 0.000012;
maxValue 0.000012;
}
}
flowRateProfile constant 1;
massTotal 0;
SOI 0.0;
duration 120.0;
}
model20 // diameter 20 μm => 0.000020m
{
type patchInjection;
parcelBasisType fixed;
patch mouth;
U0 (4.0 0.0 0.0);
nParticle 1; // 1 particles = one parcel
parcelsPerSecond 5;
sizeDistribution
{
type uniform;
uniformDistribution
{
minValue 0.000020;
maxValue 0.000020;
}
}
flowRateProfile constant 1;
massTotal 0;
SOI 0.0;
duration 120.0;
}
model28 // diameter 28 μm => 0.000028m
{
type patchInjection;
parcelBasisType fixed;
patch mouth;
U0 (4.0 0.0 0.0);
nParticle 1; // 1 particles = one parcel
parcelsPerSecond 3;
sizeDistribution
{
type uniform;
uniformDistribution
{
minValue 0.000028;
maxValue 0.000028;
}
}
flowRateProfile constant 1;
massTotal 0;
SOI 0.0;
duration 120.0;
}
model36 // diameter 36 μm => 0.000036m
{
type patchInjection;
parcelBasisType fixed;
patch mouth;
U0 (4.0 0.0 0.0);
nParticle 1; // 1 particles = one parcel
parcelsPerSecond 2;
sizeDistribution
{
type uniform;
uniformDistribution
{
minValue 0.000036;
maxValue 0.000036;
}
}
flowRateProfile constant 1;
massTotal 0;
SOI 0.0;
duration 120.0;
}
model45 // diameter 45 μm => 0.000045m
{
type patchInjection;
parcelBasisType fixed;
patch mouth;
U0 (4.0 0.0 0.0);
nParticle 1; // 1 particles = one parcel
parcelsPerSecond 2;
sizeDistribution
{
type uniform;
uniformDistribution
{
minValue 0.000045;
maxValue 0.000045;
}
}
flowRateProfile constant 1;
massTotal 0;
SOI 0.0;
duration 120.0;
}
/*
model62 // diameter 62 μm => 0.000062m
{
type patchInjection;
parcelBasisType fixed;
patch mouth;
U0 (4.0 0.0 0.0);
nParticle 1; // 1 particles = one parcel
parcelsPerSecond 2;
sizeDistribution
{
type uniform;
uniformDistribution
{
minValue 0.000062;
maxValue 0.000062;
}
}
flowRateProfile constant 1;
massTotal 0;
SOI 0.0;
duration 120.0;
}
model87 // diameter 87 μm => 0.000087m
{
type patchInjection;
parcelBasisType fixed;
patch mouth;
U0 (4.0 0.0 0.0);
nParticle 1; // 1 particles = one parcel
parcelsPerSecond 1;
sizeDistribution
{
type uniform;
uniformDistribution
{
minValue 0.000087;
maxValue 0.000087;
}
}
flowRateProfile constant 1;
massTotal 0;
SOI 0.0;
duration 120.0;
}
model112 // diameter 112 μm => 0.000112m
{
type patchInjection;
parcelBasisType fixed;
patch mouth;
U0 (4.0 0.0 0.0);
nParticle 1; // 1 particles = one parcel
parcelsPerSecond 2;
sizeDistribution
{
type uniform;
uniformDistribution
{
minValue 0.000112;
maxValue 0.000112;
}
}
flowRateProfile constant 1;
massTotal 0;
SOI 0.0;
duration 120.0;
}
model137 // diameter 137 μm => 0.000137m
{
type patchInjection;
parcelBasisType fixed;
patch mouth;
U0 (4.0 0.0 0.0);
nParticle 1; // 1 particles = one parcel
parcelsPerSecond 2;
sizeDistribution
{
type uniform;
uniformDistribution
{
minValue 0.000137;
maxValue 0.000137;
}
}
flowRateProfile constant 1;
massTotal 0;
SOI 0.0;
duration 120.0;
}
model175 // diameter 175 μm => 0.000175m
{
type patchInjection;
parcelBasisType fixed;
patch mouth;
U0 (4.0 0.0 0.0);
nParticle 1; // 1 particles = one parcel
parcelsPerSecond 2;
sizeDistribution
{
type uniform;
uniformDistribution
{
minValue 0.000175;
maxValue 0.000175;
}
}
flowRateProfile constant 1;
massTotal 0;
SOI 0.0;
duration 120.0;
}
model225 // diameter 225 μm => 0.000225m
{
type patchInjection;
parcelBasisType fixed;
patch mouth;
U0 (4.0 0.0 0.0);
nParticle 1; // 1 particles = one parcel
parcelsPerSecond 2;
sizeDistribution
{
type uniform;
uniformDistribution
{
minValue 0.000225;
maxValue 0.000225;
}
}
flowRateProfile constant 1;
massTotal 0;
SOI 0.0;
duration 120.0;
}
model375 // diameter 375 μm => 0.000375m
{
type patchInjection;
parcelBasisType fixed;
patch mouth;
U0 (4.0 0.0 0.0);
nParticle 1; // 1 particles = one parcel
parcelsPerSecond 1;
sizeDistribution
{
type uniform;
uniformDistribution
{
minValue 0.000375;
maxValue 0.000375;
}
}
flowRateProfile constant 1;
massTotal 0;
SOI 0.0;
duration 120.0;
}
model750 // diameter 750 μm => 0.000750m
{
type patchInjection;
parcelBasisType fixed;
patch mouth;
U0 (4.0 0.0 0.0);
nParticle 1; // 1 particles = one parcel
parcelsPerSecond 1;
sizeDistribution
{
type uniform;
uniformDistribution
{
minValue 0.000750;
maxValue 0.000750;
}
}
flowRateProfile constant 1;
massTotal 0;
SOI 0.0;
duration 120.0;
}
*/
}
dispersionModel none;
patchInteractionModel multiInteraction;
heatTransferModel RanzMarshall;
compositionModel singleMixtureFraction;
phaseChangeModel liquidEvaporation;
devolatilisationModel none;
surfaceReactionModel none;
stochasticCollisionModel none;
surfaceFilmModel none;
radiation off;
multiInteractionCoeffs
{
oneInteractionOnly no;
model1 // for the walls: setting them all sticky
{
patchInteractionModel standardWallInteraction;
standardWallInteractionCoeffs
{
type stick;
}
writeToFile yes;
}
model2 // for the recycling patches
{
patchInteractionModel recycleInteraction;
recycleInteractionCoeffs
{
recyclePatches
(
(intake1 exhaust_minX)
(intake2 exhaust_minY)
(intake3 exhaust_maxX)
(intake4 exhaust_maxY)
);
recycleFraction 0.8;
}
}
}
RanzMarshallCoeffs
{
BirdCorrection true;
}
singleMixtureFractionCoeffs
{
phases
(
gas
{
}
liquid
{
H2O 1; // the liquid phase is 100% water
}
solid
{
C 1; // the solid phase is 100% carbon
/*
it is possible to set multiple solid components; their ratio sum must be 1, for example :
proteinA 0.7;
proteinB 0.3;
*/
}
);
YGasTot0 0;
YLiquidTot0 0.8; // 80% of the droplet is water
YSolidTot0 0.2; // 20% of the droplet is solid (protein nuclei)
}
liquidEvaporationCoeffs
{
enthalpyTransfer enthalpyDifference;
activeLiquids ( H2O );
}
}
cloudFunctions
{
// function to count particles hitting patches
// classified according to their size
/*
in the injection models set above we have
3 μm -> 2 parcels per second
6 μm -> 27 parcels per second
12 μm -> 9 parcels per second
20 μm -> 5 parcels per second
28 μm -> 3 parcels per second
36 μm -> 2 parcels per second
45 μm -> 2 parcels per second
therefore in the following "patchParticleHistogram1" we can set
nBins = 9
min = 0μm
max = 45μm
in this ways the particles hitting the patches will be classified in the following ranges:
1) 0μm to 5.01μm <- the 3μm particles will be counted in this range
2) 5.01μm to 10.01μm <- the 6μm particles will be counted in this range
3) 10.01μm to 15.01μm <- the 12μm particles will be counted in this range
4) 15.01μm to 20.01μm <- the 20μm particles will be counted in this range
5) 20.01μm to 25.01μm
6) 25.01μm to 30.01μm <- the 28μm particles will be counted in this range
7) 30.01μm to 35.01μm
8) 35.01μm to 40.01μm <- the 36μm particles will be counted in this range
9) 40.01μm to 45.01μm <- the 45μm particles will be counted in this range
*/
patchParticleHistogram1
{
type patchParticleHistogram;
patches
(
roof
floor
sideWall
humanBody
outlet
);
nBins 9;
min 0.0000001;
max 0.000045;
maxStoredParcels 100000000;
}
patchPostProcessing1
{
type patchPostProcessing;
fields (position origId d);
maxStoredParcels 100000000;
patches
(
roof
floor
sideWall
humanBody
outlet
);
}
}
// ************************************************************************* //

View File

@ -0,0 +1,10 @@
species
(
CO2
N2
O2
H2O
);
reactions
{}

View File

@ -0,0 +1,158 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermo.incompressiblePoly;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
/*
in order to use the Boussinesq approximation for the density is sufficient to use the icoPolynominial model by setting its coefficients in the following way
[>> BOUSSINESQ TO icoPolynomial converter]
Rearranging Boussinesq equation in the form of rho = A + B * T
rho = rho_0 - rho_0 * Beta * (T - T_0)
rho = rho_0 + rho_0 * Beta * T_0 - rho_0 * Beta * T
By using the following values :
rho_0 = 1;
T_0 = 298;
Beta = 0.0034; // thermal expansion coefficient of air : At normal standard conditions of 25 degree Celsius or 298 Kelvin, Thermal expansion coefficient of air is said to be around 0.0034/K.
A = rho_0 + rho_0 * Beta * T_0 = 1+1*0.0034*298 = 2.0132
B = -rho_0 * Beta = -0.0034
Therefore in the icoPolynomial subdictionaries in constant/thermo.incompressiblePoly we will set :
equationOfState
{
rhoCoeffs<8> ( 2.0132 -0.0034 0 0 0 0 0 0 ); // rho = A + B * T
}
*/
N2
{
specie
{
molWeight 28.0134;
}
equationOfState
{
rhoCoeffs<8> ( 2.0132 -0.0034 0 0 0 0 0 0 );
}
thermodynamics
{
Hf 0;
Sf 0;
CpCoeffs<8> ( 979.08 0.41787 -0.0011761 1.6742e-06 -7.2559e-10 0 0 0 );
}
transport
{
muCoeffs<8> ( 1.5068e-06 6.1598e-08 -1.8188e-11 0 0 0 0 0 );
kappaCoeffs<8> ( 0.0031494 8.4997e-05 -1.2621e-08 0 0 0 0 0 );
}
}
O2
{
specie
{
molWeight 31.9988;
}
equationOfState
{
rhoCoeffs<8> ( 2.0132 -0.0034 0 0 0 0 0 0 );
}
thermodynamics
{
Hf 0;
Sf 0;
CpCoeffs<8> ( 834.84 0.29297 -0.00014959 3.4143e-07 -2.2786e-10 0 0 0 );
}
transport
{
muCoeffs<8> ( 1.5068e-06 6.1598e-08 -1.8188e-11 0 0 0 0 0 );
kappaCoeffs<8> ( 0.00016082 8.5301e-05 -1.4998e-08 0 0 0 0 0 );
}
}
H2O
{
specie
{
molWeight 18.0153;
}
equationOfState
{
rhoCoeffs<8> ( 2.0132 -0.0034 0 0 0 0 0 0 );
}
thermodynamics
{
Hf -13423000;
Sf 10482;
CpCoeffs<8> ( 1563.1 1.604 -0.0029334 3.2168e-06 -1.1571e-09 0 0 0 );
}
transport
{
muCoeffs<8> ( 1.5068e-06 6.1598e-08 -1.8188e-11 0 0 0 0 0 );
kappaCoeffs<8> ( 0.0037972 0.00015336 -1.1859e-08 0 0 0 0 0 );
}
}
CO2
{
specie
{
molWeight 44.01;
}
// to be updated: following CO2 coefficients taken from 02 subdictionary
equationOfState
{
rhoCoeffs<8> ( 2.0132 -0.0034 0 0 0 0 0 0 );
}
thermodynamics
{
Hf 0;
Sf 0;
CpCoeffs<8> ( 834.84 0.29297 -0.00014959 3.4143e-07 -2.2786e-10 0 0 0 );
}
transport
{
muCoeffs<8> ( 1.5068e-06 6.1598e-08 -1.8188e-11 0 0 0 0 0 );
kappaCoeffs<8> ( 0.00016082 8.5301e-05 -1.4998e-08 0 0 0 0 0 );
}
}
air
{
specie
{
molWeight 28.85;
}
equationOfState
{
rhoCoeffs<8> ( 2.0132 -0.0034 0 0 0 0 0 0 );
}
thermodynamics
{
Hf 0;
Sf 0;
CpCoeffs<8> ( 948.76 0.39171 -0.00095999 1.393e-06 -6.2029e-10 0 0 0 );
}
transport
{
muCoeffs<8> ( 1.5061e-06 6.16e-08 -1.819e-11 0 0 0 0 0 );
kappaCoeffs<8> ( 0.0025219 8.506e-05 -1.312e-08 0 0 0 0 0 );
}
}
// ************************************************************************* //

View File

@ -0,0 +1,59 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture reactingMixture;
transport polynomial;
thermo hPolynomial;
energy sensibleEnthalpy;
equationOfState icoPolynomial;
// the coefficients of the icoPolynomial model are set to follow
// the Boussinesq approximation; please inspect the
// "thermo.incompressiblePoly" file for details
specie specie;
}
dpdt no;
chemistryReader foamChemistryReader;
foamChemistryFile "<constant>/reactions";
foamChemistryThermoFile "<constant>/thermo.incompressiblePoly";
liquids
{
H2O;
}
solids
{
C
{
rho 2010;
Cp 710;
kappa 0.04;
Hf 0;
emissivity 1.0;
}
}
inertSpecie N2;
// ************************************************************************* //

View File

@ -0,0 +1,35 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType LES;
LES
{
LESModel kEqn;
turbulence on;
printCoeffs on;
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application reactingParcelFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 0.5;
deltaT 1e-6;
writeControl adjustable;
writeInterval 0.2;
purgeWrite 5;
writeFormat binary;
writePrecision 8;
writeCompression off;
timeFormat general;
timePrecision 8;
runTimeModifiable true;
adjustTimeStep yes;
maxCo 1.0;
maxDeltaT 1;
// ************************************************************************* //

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 10;
method scotch;
// ************************************************************************* //

View File

@ -0,0 +1,53 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default Gauss upwind;
div(phi,K) Gauss linear;
div(B) Gauss linear;
div(U) Gauss linear;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}
// ************************************************************************* //

View File

@ -0,0 +1,107 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2011 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
rho
{
solver PCG;
preconditioner DIC;
tolerance 1e-05;
relTol 0.1;
}
rhoFinal
{
$rho;
tolerance 1e-05;
relTol 0;
}
"(U|k)"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-06;
relTol 0.1;
}
"(U|k)Final"
{
$U;
tolerance 1e-06;
relTol 0;
}
p_rgh
{
solver GAMG;
tolerance 0;
relTol 0.1;
smoother GaussSeidel;
}
p_rghFinal
{
$p_rgh;
tolerance 1e-06;
relTol 0;
}
Phi
{
$p_rgh;
}
"(Yi|O2|N2|H2O|CO2)"
{
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-6;
relTol 0;
}
h
{
$Yi;
relTol 0.1;
}
hFinal
{
$Yi;
}
}
PIMPLE
{
transonic no;
nOuterCorrectors 1;
nCorrectors 2;
nNonOrthogonalCorrectors 0;
momentumPredictor yes;
}
relaxationFactors
{
equations
{
".*Final" 1;
}
}
// ************************************************************************* //

Binary file not shown.