30 template<
class ThermoType>
36 template<
class ThermoType>
52 stoicRatio_(thermoDict.lookup(
"stoichiometricAirFuelMassRatio")),
54 fuel_(
"fuel", thermoDict.subDict(
"fuel")),
55 oxidant_(
"oxidant", thermoDict.subDict(
"oxidant")),
56 products_(
"burntProducts", thermoDict.subDict(
"burntProducts")),
58 mixture_(
"mixture", fuel_),
68 template<
class ThermoType>
76 if (ft < 0.0001 && egr < 0.0001)
83 scalar fu =
b*ft + (1.0 -
b)*fres(ft, stoicRatio().value());
84 scalar ox = 1 - ft - (ft - fu)*stoicRatio().value();
89 const scalar pr = 1 - fu - ox;
92 mixture_ += ox*oxidant_;
93 mixture_ += pr*products_;
100 template<
class ThermoType>
103 stoicRatio_ = thermoDict.
lookup(
"stoichiometricAirFuelMassRatio");
105 fuel_ = ThermoType(
"fuel", thermoDict.
subDict(
"fuel"));
106 oxidant_ = ThermoType(
"oxidant", thermoDict.
subDict(
"oxidant"));
108 ThermoType(
"burntProducts", thermoDict.
subDict(
"burntProducts"));
112 template<
class ThermoType>
122 else if (speciei == 1)
126 else if (speciei == 2)
133 <<
"Unknown specie index " << speciei <<
". Valid indices are 0..2"
Specialisation of the basicMixture for combustion.
A list of keyword definitions, which are a keyword followed by any number of values (e....
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
egrMixture(const dictionary &, const fvMesh &, const word &)
Construct from dictionary, mesh and phaseName.
const ThermoType & specieThermo(const label speciei) const
Return thermo based on index.
const thermoType & mixture(const scalar, const scalar, const scalar) const
void read(const dictionary &)
Read dictionary.
Mesh data needed to do the Finite Volume discretisation.
A wordList with hashed indices for faster lookup by name.
A class for handling words, derived from string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
errorManip< error > abort(error &err)
PtrList< volScalarField > & Y