30 template<
class ThermoType>
36 stoicRatio_(
"stoichiometricAirFuelMassRatio",
dimless,
dict),
37 fuel_(
"fuel",
dict.subDict(
"fuel")),
38 oxidant_(
"oxidant",
dict.subDict(
"oxidant")),
39 products_(
"burntProducts",
dict.subDict(
"burntProducts")),
40 mixture_(
"mixture", fuel_)
46 template<
class ThermoType>
49 const scalarFieldListSlice&
Y
52 return max(
Y[FT] - (1 -
Y[FT] -
Y[EGR])/stoicRatio_.value(), 0);
56 template<
class ThermoType>
64 if (ft < 0.0001 && egr < 0.0001)
70 const scalar ox = 1 - ft - egr - (ft - fu)*stoicRatio_.value();
71 const scalar pr = 1 - fu - ox;
74 mixture_ += ox*oxidant_;
75 mixture_ += pr*products_;
82 template<
class ThermoType>
86 const scalarFieldListSlice&
Y
93 template<
class ThermoType>
97 const scalarFieldListSlice&
Y
104 template<
class ThermoType>
108 const scalarFieldListSlice&,
116 template<
class ThermoType>
120 const scalarFieldListSlice&
Y
127 template<
class ThermoType>
131 const scalarFieldListSlice&
Y
138 template<
class ThermoType>
158 template<
class ThermoType>
165 oxidant_ = ThermoType(
"oxidant",
dict.
subDict(
"oxidant"));
166 products_ = ThermoType(
"burntProducts",
dict.
subDict(
"burntProducts"));
Generic GeometricField class.
label nOldTimes(const bool includeNull=true) const
Return the number of old-time fields stored.
const Field0Type & oldTime() const
Return the old-time field.
Field0Type & oldTimeRef()
Return a non-const reference to the old-time field.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
const thermoType & products(const scalarFieldListSlice &) const
Return the product mixture.
const thermoType & reactants(const scalarFieldListSlice &) const
Return the reactant mixture.
const thermoMixtureType & thermoMixture(const scalarFieldListSlice &) const
Return the mixture for thermodynamic properties.
ThermoType thermoType
The type of thermodynamics this mixture is instantiated for.
inhomogeneousEGRMixture(const dictionary &)
Construct from a dictionary.
ThermoType transportMixtureType
Mixing type for transport properties.
scalar fres(const scalarFieldListSlice &Y) const
Return the residual fraction of fuel in the burnt mixture.
ThermoType thermoMixtureType
Mixing type for thermodynamic properties.
const transportMixtureType & transportMixture(const scalarFieldListSlice &) const
Return the mixture for transport properties.
void read(const dictionary &)
Read dictionary.
void reset(PtrList< volScalarField > &Y) const
Reset the mixture to an unburnt state and update EGR.
const thermoType & mixture(const scalar ft, const scalar fu, const scalar egr) const
Return the mixture for the given composition.
static const coefficient B("B", dimless, 18.678)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const dimensionSet dimless
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
PtrList< volScalarField > & Y