35 namespace radiationModels
67 mesh_.time().timeName(),
75 nuSoot_(coeffsDict_.lookup<scalar>(
"nuSoot")),
76 Wsoot_(coeffsDict_.lookup<scalar>(
"Wsoot")),
80 coeffsDict_.lookupOrDefault<
word>(
"mappingField",
"none")
97 const scalar stoichCoeff = singleReaction.
rhs()[i].stoichCoeff;
98 totalMol +=
mag(stoichCoeff);
108 const label speciei = singleReaction.
rhs()[i].index;
109 const scalar stoichCoeff = singleReaction.
rhs()[i].stoichCoeff;
110 Xi[i] =
mag(stoichCoeff)/totalMol;
111 Wm += Xi[i]*mixture.Wi(speciei);
114 scalarList Yprod0(mixture.species().size(), 0.0);
118 const label speciei = singleReaction.
rhs()[i].index;
119 Yprod0[speciei] = mixture.Wi(speciei)/Wm*Xi[i];
122 const scalar XSoot = nuSoot_/totalMol;
125 sootMax_ = XSoot*Wsoot_/Wm;
127 Info <<
"Maximum soot mass concentrations: " << sootMax_ <<
nl;
129 if (mappingFieldName_ ==
"none")
131 const label index = singleReaction.
rhs()[0].index;
132 mappingFieldName_ = mixture.Y(index).name();
135 const label mapFieldIndex = mixture.species()[mappingFieldName_];
137 mapFieldMax_ = Yprod0[mapFieldIndex];
154 soot_ = sootMax_*(mapField/mapFieldMax_);
#define forAll(list, i)
Loop across all elements in list.
virtual ~mixtureFraction()
Destructor.
A list of keyword definitions, which are a keyword followed by any number of values (e...
Specialisation of basicMixture for a mixture consisting of a number for molecular species...
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type.
Macros for easy insertion into run-time selection tables.
Reaction base-class holding the specie names and coefficients.
A class for handling words, derived from string.
addToRunTimeSelectionTable(sootModel, mixtureFraction, dictionary)
mixtureFraction(const dictionary &dict, const fvMesh &mesh, const word &modelType)
Construct from components.
This soot model is purely an state model. The amount of soot produced is determined by a single step ...
const reaction & singleReaction() const
Return the single step reaction.
virtual void correct()
Main update/correction routine.
defineTypeNameAndDebug(mixtureFraction, 0)
const basicSpecieMixture & mixture() const
Return the mixture.
const List< specieCoeffs > & rhs() const
Return the components of the right hand side.
Mesh data needed to do the Finite Volume discretisation.
Base class for soot models.
dimensioned< scalar > mag(const dimensioned< Type > &)
Base class for combustion models using basicSpecieMixture.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
dictionary subOrEmptyDict(const word &, const bool mustRead=false) const
Find and return a sub-dictionary as a copy, or.
static const word combustionPropertiesName
Default combustionProperties dictionary name.