35 namespace radiationModels
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] = ssReaction.
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_ = ssReaction.
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.
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
Return 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.
const fluidMulticomponentThermo & thermo() const
Return const access to the thermo.
static const word reactionPropertiesName
Default reactionProperties dictionary name.
Base class for single-step reaction models.
const reaction & singleReaction() const
Return the single step reaction.
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, noSoot, dictionary)
defineTypeNameAndDebug(noSoot, 0)
const unitSet & lookup(const word &unitName)
Lookup and return the named unit from the table.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
tmp< DimensionedField< scalar, GeoMesh, Field > > mag(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)