35 namespace radiationModels
74 nuSoot_(
dict.lookup<scalar>(
"nuSoot")),
75 Wsoot_(
dict.lookup<scalar>(
"Wsoot")),
79 dict.lookupOrDefault<
word>(
"mappingField",
"none")
92 forAll(singleReaction.rhs(), i)
94 const scalar stoichCoeff = singleReaction.rhs()[i].stoichCoeff;
95 totalMol +=
mag(stoichCoeff);
103 forAll(singleReaction.rhs(), i)
105 const label speciei = singleReaction.rhs()[i].index;
106 const scalar stoichCoeff = singleReaction.rhs()[i].stoichCoeff;
107 Xi[i] =
mag(stoichCoeff)/totalMol;
113 forAll(singleReaction.rhs(), i)
115 const label speciei = singleReaction.rhs()[i].index;
116 Yprod0[speciei] = combustion.
thermo().
WiValue(speciei)/Wm*Xi[i];
119 const scalar XSoot = nuSoot_/totalMol;
122 sootMax_ = XSoot*Wsoot_/Wm;
124 Info <<
"Maximum soot mass concentrations: " << sootMax_ <<
nl;
126 if (mappingFieldName_ ==
"none")
128 const label index = singleReaction.rhs()[0].index;
129 mappingFieldName_ = combustion.
thermo().
Y(index).name();
132 const label mapFieldIndex =
135 mapFieldMax_ = Yprod0[mapFieldIndex];
152 soot_ = sootMax_*(mapField/mapFieldMax_);
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
Generic GeometricField class.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
void size(const label)
Override size to be inconsistent with allocated storage.
const fluidMulticomponentThermo & thermo() const
Return const access to the thermo.
static const word combustionPropertiesName
Default combustionProperties dictionary name.
Base class for single-step combustion models.
const reaction & singleReaction() const
Return the single step reaction.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Mesh data needed to do the Finite Volume discretisation.
virtual const speciesTable & species() const =0
The table of species.
virtual scalar WiValue(const label speciei) const =0
Molecular weight [kg/kmol].
virtual PtrList< volScalarField > & Y()=0
Access the mass-fraction fields.
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type and name.
Base class for soot models.
const fvMesh & mesh() const
Reference to the mesh.
This soot model is purely an state model. The amount of soot produced is determined by a single step ...
virtual void correct()
Main update/correction routine.
virtual ~mixtureFraction()
Destructor.
mixtureFraction(const dictionary &dict, const fvMesh &mesh, const word &modelType)
Construct from components.
Reaction base-class holding the specie names and coefficients.
A class for handling words, derived from string.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
addToRunTimeSelectionTable(sootModel, mixtureFraction, dictionary)
defineTypeNameAndDebug(mixtureFraction, 0)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void mag(LagrangianPatchField< scalar > &f, const LagrangianPatchField< Type > &f1)
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.