32 template<
class ReactionThermo>
42 pyrolisisGases_(pyrolisisGases),
48 template<
class ReactionThermo>
56 pyrolisisGases_(pyrolisisGases),
62 template<
class ReactionThermo>
79 template<
class ReactionThermo>
104 template<
class ReactionThermo>
112 template<
class ReactionThermo>
120 template<
class ReactionThermo>
124 return pyrolisisGases_;
128 template<
class ReactionThermo>
132 os.
writeKeyword(
"reaction") << solidReactionStr(reaction)
133 << token::END_STATEMENT <<
nl;
137 template<
class ReactionThermo>
143 this->reactionStrLeft(reaction);
144 if (glhs().size() > 0)
147 solidReactionStrLeft(reaction);
150 this->reactionStrRight(reaction);
151 if (grhs().size() > 0)
154 solidReactionStrRight(reaction);
156 return reaction.
str();
161 template<
class ReactionThermo>
167 for (
label i = 0; i < glhs().
size(); ++i)
173 if (
mag(glhs()[i].stoichCoeff - 1) > SMALL)
175 reaction << glhs()[i].stoichCoeff;
177 reaction << gasSpecies()[glhs()[i].index];
178 if (
mag(glhs()[i].exponent - glhs()[i].stoichCoeff) > SMALL)
180 reaction <<
"^" << glhs()[i].exponent;
186 template<
class ReactionThermo>
193 for (
label i = 0; i < grhs().
size(); ++i)
199 if (
mag(grhs()[i].stoichCoeff - 1) > SMALL)
201 reaction << grhs()[i].stoichCoeff;
203 reaction << gasSpecies()[grhs()[i].index];
204 if (
mag(grhs()[i].exponent - grhs()[i].stoichCoeff) > SMALL)
206 reaction <<
"^" << grhs()[i].exponent;
string str() const
Return the string.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
virtual void write(Ostream &) const
Write.
A list of keyword definitions, which are a keyword followed by any number of values (e...
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
void size(const label)
Override size to be inconsistent with allocated storage.
Simple extension of ReactionThermo to handle reaction kinetics in addition to the equilibrium thermod...
virtual const List< specieCoeffs > & grhs() const
solidReaction(const Reaction< ReactionThermo > &reaction, const speciesTable &pyrolisisGases, const List< specieCoeffs > &glhs, const List< specieCoeffs > &grhs)
Construct from components.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Ostream & writeKeyword(const keyType &)
Write the keyword followed by an appropriate indentation.
Read solid reactions of the type S1 = S2 + G1.
A wordList with hashed indices for faster lookup by name.
Info<< "Creating reaction model\n"<< endl;autoPtr< combustionModels::psiCombustionModel > reaction(combustionModels::psiCombustionModel::New(mesh))
Input from memory buffer stream.
virtual const List< specieCoeffs > & glhs() const
dimensioned< scalar > mag(const dimensioned< Type > &)
const dictionary & parent() const
Return the parent dictionary.
virtual const speciesTable & gasSpecies() const
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
A class for handling character strings derived from std::string.
Output to memory buffer stream.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.