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:
commit
3e431de285
@ -42,7 +42,9 @@ outletMappedUniformInletFvPatchField
|
|||||||
:
|
:
|
||||||
fixedValueFvPatchField<Type>(p, iF),
|
fixedValueFvPatchField<Type>(p, iF),
|
||||||
outletPatchName_(),
|
outletPatchName_(),
|
||||||
phiName_("phi")
|
phiName_("phi"),
|
||||||
|
fraction_(1),
|
||||||
|
offset_(Zero)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
@ -56,8 +58,10 @@ outletMappedUniformInletFvPatchField
|
|||||||
)
|
)
|
||||||
:
|
:
|
||||||
fixedValueFvPatchField<Type>(p, iF, dict),
|
fixedValueFvPatchField<Type>(p, iF, dict),
|
||||||
outletPatchName_(dict.lookup("outletPatch")),
|
outletPatchName_(dict.get<word>("outletPatch")),
|
||||||
phiName_(dict.getOrDefault<word>("phi", "phi"))
|
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),
|
fixedValueFvPatchField<Type>(ptf, p, iF, mapper),
|
||||||
outletPatchName_(ptf.outletPatchName_),
|
outletPatchName_(ptf.outletPatchName_),
|
||||||
phiName_(ptf.phiName_)
|
phiName_(ptf.phiName_),
|
||||||
|
fraction_(ptf.fraction_),
|
||||||
|
offset_(ptf.offset_)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
@ -86,11 +92,12 @@ outletMappedUniformInletFvPatchField
|
|||||||
:
|
:
|
||||||
fixedValueFvPatchField<Type>(ptf),
|
fixedValueFvPatchField<Type>(ptf),
|
||||||
outletPatchName_(ptf.outletPatchName_),
|
outletPatchName_(ptf.outletPatchName_),
|
||||||
phiName_(ptf.phiName_)
|
phiName_(ptf.phiName_),
|
||||||
|
fraction_(ptf.fraction_),
|
||||||
|
offset_(ptf.offset_)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
template<class Type>
|
||||||
Foam::outletMappedUniformInletFvPatchField<Type>::
|
Foam::outletMappedUniformInletFvPatchField<Type>::
|
||||||
outletMappedUniformInletFvPatchField
|
outletMappedUniformInletFvPatchField
|
||||||
@ -101,7 +108,9 @@ outletMappedUniformInletFvPatchField
|
|||||||
:
|
:
|
||||||
fixedValueFvPatchField<Type>(ptf, iF),
|
fixedValueFvPatchField<Type>(ptf, iF),
|
||||||
outletPatchName_(ptf.outletPatchName_),
|
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();
|
const fvPatch& p = this->patch();
|
||||||
label outletPatchID =
|
const label outletPatchID =
|
||||||
p.patch().boundaryMesh().findPatchID(outletPatchName_);
|
p.patch().boundaryMesh().findPatchID(outletPatchName_);
|
||||||
|
|
||||||
if (outletPatchID < 0)
|
if (outletPatchID < 0)
|
||||||
@ -139,12 +148,12 @@ void Foam::outletMappedUniformInletFvPatchField<Type>::updateCoeffs()
|
|||||||
const fvPatchField<Type>& outletPatchField =
|
const fvPatchField<Type>& outletPatchField =
|
||||||
f.boundaryField()[outletPatchID];
|
f.boundaryField()[outletPatchID];
|
||||||
|
|
||||||
const surfaceScalarField& phi =
|
const auto& phi =
|
||||||
this->db().objectRegistry::template lookupObject<surfaceScalarField>
|
this->db().objectRegistry::template lookupObject<surfaceScalarField>
|
||||||
(phiName_);
|
(phiName_);
|
||||||
|
|
||||||
const scalarField& outletPatchPhi = phi.boundaryField()[outletPatchID];
|
const scalarField& outletPatchPhi = phi.boundaryField()[outletPatchID];
|
||||||
scalar sumOutletPatchPhi = gSum(outletPatchPhi);
|
const scalar sumOutletPatchPhi = gSum(outletPatchPhi);
|
||||||
|
|
||||||
if (sumOutletPatchPhi > SMALL)
|
if (sumOutletPatchPhi > SMALL)
|
||||||
{
|
{
|
||||||
@ -152,7 +161,7 @@ void Foam::outletMappedUniformInletFvPatchField<Type>::updateCoeffs()
|
|||||||
gSum(outletPatchPhi*outletPatchField)
|
gSum(outletPatchPhi*outletPatchField)
|
||||||
/sumOutletPatchPhi;
|
/sumOutletPatchPhi;
|
||||||
|
|
||||||
this->operator==(averageOutletField);
|
this->operator==(averageOutletField*fraction_ + offset_);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -173,6 +182,8 @@ void Foam::outletMappedUniformInletFvPatchField<Type>::write(Ostream& os) const
|
|||||||
fvPatchField<Type>::write(os);
|
fvPatchField<Type>::write(os);
|
||||||
os.writeEntry("outletPatch", outletPatchName_);
|
os.writeEntry("outletPatch", outletPatchName_);
|
||||||
os.writeEntryIfDifferent<word>("phi", "phi", phiName_);
|
os.writeEntryIfDifferent<word>("phi", "phi", phiName_);
|
||||||
|
os.writeEntry("fraction", fraction_);
|
||||||
|
os.writeEntry("offset", offset_);
|
||||||
this->writeEntry("value", os);
|
this->writeEntry("value", os);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2011-2018 OpenFOAM Foundation
|
Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||||
|
Copyright (C) 2020 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -30,33 +31,66 @@ Group
|
|||||||
grpInletBoundaryConditions
|
grpInletBoundaryConditions
|
||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition averages the field over the "outlet" patch specified
|
The \c outletMappedUniformInlet is an inlet boundary condition that
|
||||||
by name "outletPatch" and applies this as the uniform value of the field
|
- averages the patch field of \<Type\> over a specified "outlet" patch
|
||||||
over this 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
|
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:
|
Example of the boundary condition specification:
|
||||||
\verbatim
|
\verbatim
|
||||||
<patchName>
|
<patchName>
|
||||||
{
|
{
|
||||||
type outletMappedUniformInlet;
|
// Mandatory entries (unmodifiable)
|
||||||
outletPatch aPatch;
|
type outletMappedFilterInlet;
|
||||||
|
outletPatch <outletPatchName>;
|
||||||
|
|
||||||
|
// Optional entries (unmodifiable)
|
||||||
|
fraction 0.1;
|
||||||
|
offset 10; // (1 0 0);
|
||||||
phi phi;
|
phi phi;
|
||||||
value uniform 0;
|
|
||||||
|
// Optional (inherited) entries
|
||||||
|
...
|
||||||
}
|
}
|
||||||
\endverbatim
|
\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
|
See also
|
||||||
Foam::fixedValueFvPatchField
|
- Foam::fixedValueFvPatchField
|
||||||
|
- Foam::outletMappedUniformInletHeatAdditionFvPatchField
|
||||||
|
- Foam::outletMappedUniformInletTemperatureFvPatchField
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
outletMappedUniformInletFvPatchField.C
|
outletMappedUniformInletFvPatchField.C
|
||||||
|
outletMappedUniformInletFvPatchFields.C
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
@ -79,14 +113,20 @@ class outletMappedUniformInletFvPatchField
|
|||||||
:
|
:
|
||||||
public fixedValueFvPatchField<Type>
|
public fixedValueFvPatchField<Type>
|
||||||
{
|
{
|
||||||
// Private data
|
// Private Data
|
||||||
|
|
||||||
//- Name of the outlet patch to be mapped
|
//- Name of the outlet patch to be mapped
|
||||||
word outletPatchName_;
|
word outletPatchName_;
|
||||||
|
|
||||||
//- Name of the flux transporting the field
|
//- Name of operand flux field
|
||||||
word phiName_;
|
word phiName_;
|
||||||
|
|
||||||
|
//- Fraction value
|
||||||
|
scalar fraction_;
|
||||||
|
|
||||||
|
//- Offset value
|
||||||
|
Type offset_;
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@ -112,7 +152,7 @@ public:
|
|||||||
);
|
);
|
||||||
|
|
||||||
//- Construct by mapping given outletMappedUniformInletFvPatchField
|
//- Construct by mapping given outletMappedUniformInletFvPatchField
|
||||||
// onto a new patch
|
//- onto a new patch
|
||||||
outletMappedUniformInletFvPatchField
|
outletMappedUniformInletFvPatchField
|
||||||
(
|
(
|
||||||
const outletMappedUniformInletFvPatchField<Type>&,
|
const outletMappedUniformInletFvPatchField<Type>&,
|
||||||
@ -156,7 +196,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Member functions
|
// Member Functions
|
||||||
|
|
||||||
// Access
|
// Access
|
||||||
|
|
||||||
@ -167,7 +207,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Evaluation functions
|
// Evaluation
|
||||||
|
|
||||||
//- Update the coefficients associated with the patch field
|
//- Update the coefficients associated with the patch field
|
||||||
virtual void updateCoeffs();
|
virtual void updateCoeffs();
|
||||||
|
9
tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/Allclean
Executable file
9
tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/Allclean
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
cd "${0%/*}" || exit # Run from this directory
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(cd steady && ./Allclean)
|
||||||
|
|
||||||
|
(cd transient && ./Allclean)
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
10
tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/Allrun
Executable file
10
tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/Allrun
Executable 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)
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
11
tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allclean
Executable file
11
tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allclean
Executable 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
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
@ -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
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
@ -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
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
cd "${0%/*}" || exit # Run from this directory
|
||||||
|
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
cleanCase0
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
@ -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)
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
@ -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)
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -0,0 +1,10 @@
|
|||||||
|
species
|
||||||
|
(
|
||||||
|
CO2
|
||||||
|
N2
|
||||||
|
O2
|
||||||
|
H2O
|
||||||
|
);
|
||||||
|
|
||||||
|
reactions
|
||||||
|
{}
|
@ -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 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
BIN
tutorials/resources/geometry/roomRecirculation.stl.gz
Normal file
BIN
tutorials/resources/geometry/roomRecirculation.stl.gz
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user