31 template<
class ReactionThermo>
41 pyrolisisGases_(pyrolisisGases),
47 template<
class ReactionThermo>
55 pyrolisisGases_(pyrolisisGases),
61 template<
class ReactionThermo>
86 template<
class ReactionThermo>
94 template<
class ReactionThermo>
102 template<
class ReactionThermo>
106 return pyrolisisGases_;
110 template<
class ReactionThermo>
114 os.
writeKeyword(
"reaction") << solidReactionStr(reaction)
115 << token::END_STATEMENT <<
nl;
119 template<
class ReactionThermo>
125 this->reactionStrLeft(reaction);
126 if (glhs().size() > 0)
129 solidReactionStrLeft(reaction);
132 this->reactionStrRight(reaction);
133 if (grhs().size() > 0)
136 solidReactionStrRight(reaction);
138 return reaction.
str();
143 template<
class ReactionThermo>
149 for (
label i = 0; i < glhs().
size(); ++i)
155 if (
mag(glhs()[i].stoichCoeff - 1) > small)
157 reaction << glhs()[i].stoichCoeff;
159 reaction << gasSpecies()[glhs()[i].index];
160 if (
mag(glhs()[i].exponent - glhs()[i].stoichCoeff) > small)
162 reaction <<
"^" << glhs()[i].exponent;
168 template<
class ReactionThermo>
175 for (
label i = 0; i < grhs().
size(); ++i)
181 if (
mag(grhs()[i].stoichCoeff - 1) > small)
183 reaction << grhs()[i].stoichCoeff;
185 reaction << gasSpecies()[grhs()[i].index];
186 if (
mag(grhs()[i].exponent - grhs()[i].stoichCoeff) > small)
188 reaction <<
"^" << grhs()[i].exponent;
virtual const speciesTable & gasSpecies() const
Access to gas specie list.
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.
A HashTable specialization for hashing pointers.
Simple extension of ReactionThermo to handle reaction kinetics in addition to the equilibrium thermod...
virtual const List< specieCoeffs > & glhs() const
Access to the gas components of the right hand side.
virtual const List< specieCoeffs > & grhs() const
Access to the gas components of the left hand side.
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.
CombustionModel< rhoReactionThermo > & reaction
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.
virtual void write(Ostream &) const
Write.
A wordList with hashed indices for faster lookup by name.
Input from memory buffer stream.
string str() const
Return the string.
Read solid reactions of the type S1 = S2 + G1.
dimensioned< scalar > mag(const dimensioned< Type > &)
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.