32 template<
class ReactionThermo>
42 pyrolisisGases_(pyrolisisGases),
48 template<
class ReactionThermo>
56 pyrolisisGases_(pyrolisisGases),
62 template<
class ReactionThermo>
87 template<
class ReactionThermo>
95 template<
class ReactionThermo>
103 template<
class ReactionThermo>
107 return pyrolisisGases_;
111 template<
class ReactionThermo>
115 os.
writeKeyword(
"reaction") << solidReactionStr(reaction)
116 << token::END_STATEMENT <<
nl;
120 template<
class ReactionThermo>
126 this->reactionStrLeft(reaction);
127 if (glhs().size() > 0)
130 solidReactionStrLeft(reaction);
133 this->reactionStrRight(reaction);
134 if (grhs().size() > 0)
137 solidReactionStrRight(reaction);
139 return reaction.
str();
144 template<
class ReactionThermo>
150 for (
label i = 0; i < glhs().
size(); ++i)
156 if (
mag(glhs()[i].stoichCoeff - 1) > SMALL)
158 reaction << glhs()[i].stoichCoeff;
160 reaction << gasSpecies()[glhs()[i].index];
161 if (
mag(glhs()[i].exponent - glhs()[i].stoichCoeff) > SMALL)
163 reaction <<
"^" << glhs()[i].exponent;
169 template<
class ReactionThermo>
176 for (
label i = 0; i < grhs().
size(); ++i)
182 if (
mag(grhs()[i].stoichCoeff - 1) > SMALL)
184 reaction << grhs()[i].stoichCoeff;
186 reaction << gasSpecies()[grhs()[i].index];
187 if (
mag(grhs()[i].exponent - grhs()[i].stoichCoeff) > SMALL)
189 reaction <<
"^" << grhs()[i].exponent;
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
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...
void size(const label)
Override size to be inconsistent with allocated storage.
virtual const List< specieCoeffs > & grhs() const
A HashTable specialization for hashing pointers.
Simple extension of ReactionThermo to handle reaction kinetics in addition to the equilibrium thermod...
const dictionary & parent() const
Return the parent dictionary.
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...
virtual const List< specieCoeffs > & glhs() const
virtual void write(Ostream &) const
Write.
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\"<< endl;autoPtr< combustionModels::psiCombustionModel > reaction(combustionModels::psiCombustionModel::New(mesh))
Input from memory buffer stream.
string str() const
Return the string.
dimensioned< scalar > mag(const dimensioned< Type > &)
A class for handling character strings derived from std::string.
Output to memory buffer stream.
virtual const speciesTable & gasSpecies() const
Access to gas specie list.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.