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 writeEntry(os,
"reaction", solidReactionStr(reaction));
118 template<
class ReactionThermo>
124 specieCoeffs::reactionStr(reaction, this->species(), this->lhs());
125 if (glhs().size() > 0)
128 solidReactionStrLeft(reaction);
131 specieCoeffs::reactionStr(reaction, this->species(), this->rhs());
132 if (grhs().size() > 0)
135 solidReactionStrRight(reaction);
137 return reaction.
str();
142 template<
class ReactionThermo>
148 for (
label i = 0; i < glhs().
size(); ++i)
154 if (
mag(glhs()[i].stoichCoeff - 1) > small)
156 reaction << glhs()[i].stoichCoeff;
158 reaction << gasSpecies()[glhs()[i].index];
159 if (
mag(glhs()[i].exponent - glhs()[i].stoichCoeff) > small)
161 reaction <<
"^" << glhs()[i].exponent;
167 template<
class ReactionThermo>
174 for (
label i = 0; i < grhs().
size(); ++i)
180 if (
mag(grhs()[i].stoichCoeff - 1) > small)
182 reaction << grhs()[i].stoichCoeff;
184 reaction << gasSpecies()[grhs()[i].index];
185 if (
mag(grhs()[i].exponent - grhs()[i].stoichCoeff) > small)
187 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...
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...
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
virtual const List< specieCoeffs > & glhs() const
Access to the gas components of the right hand side.
virtual void write(Ostream &) const
Write.
virtual const List< specieCoeffs > & grhs() const
Access to the gas components of the left hand side.
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.