40#ifndef Foam_Reaction_H
41#define Foam_Reaction_H
56template<
class ThermoType>
59template<
class ReactionThermo>
62template<
class ReactionThermo>
70template<
class ReactionThermo>
73 public ReactionThermo::thermoType
104 bool failUnknownSpecie =
true
109 return index == sc.index;
114 return index != sc.index;
153 label getNewReactionID();
164 static void reactionStr
209 bool initReactionThermo =
true
228 bool initReactionThermo =
true,
229 bool failUnknownSpecie =
true
296 bool failUnknownSpecie =
true
336 friend Ostream& operator<< <ReactionThermo>
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Output to string buffer, using a OSstream. Always UNCOMPRESSED.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Simple extension of ReactionThermo to handle reaction kinetics in addition to the equilibrium thermod...
virtual scalar kr(const scalar kfwd, const scalar p, const scalar T, const scalarField &c) const
Reverse rate constant from the given forward rate constant.
void setLRhs(Istream &, const speciesTable &, List< specieCoeffs > &lhs, List< specieCoeffs > &rhs, bool failUnknownSpecie=true)
Construct the left- and right-hand-side reaction coefficients.
static label nUnNamedReactions
Number of un-named reactions.
virtual const List< specieCoeffs > & glhs() const
static autoPtr< Reaction< ReactionThermo > > New(const speciesTable &species, const ReactionTable< ReactionThermo > &thermoDatabase, const dictionary &dict)
Return a pointer to new patchField created on freestore from dict.
TypeName("Reaction")
Runtime type information.
declareRunTimeSelectionTable(autoPtr, Reaction, dictionary,(const speciesTable &species, const ReactionTable< ReactionThermo > &thermoDatabase, const dictionary &dict),(species, thermoDatabase, dict))
const word & name() const noexcept
Name of reaction.
const List< specieCoeffs > & lhs() const noexcept
Specie info for the left-hand-side of the reaction.
virtual ~Reaction()=default
Destructor.
virtual autoPtr< Reaction< ReactionThermo > > clone(const speciesTable &species) const
Construct and return a clone with new speciesTable.
virtual autoPtr< Reaction< ReactionThermo > > clone() const
Construct and return a clone.
void reactionStrLeft(OStringStream &reaction) const
Add string representation of the left of the reaction.
const speciesTable & species() const noexcept
Access to specie list.
virtual const List< specieCoeffs > & grhs() const
Access to gas components of the reaction.
const List< specieCoeffs > & rhs() const noexcept
Specie info for the right-hand-side of the reaction.
virtual scalar kf(const scalar p, const scalar T, const scalarField &c) const
Forward rate constant.
void reactionStrRight(OStringStream &reaction) const
Add string representation of the right of the reaction.
virtual const speciesTable & gasSpecies() const
Access to gas specie list.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A wordList with hashed named lookup, which can be faster in some situations than using the normal lis...
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
CombustionModel< rhoReactionThermo > & reaction
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes)
friend Ostream & operator<<(Ostream &os, const specieCoeffs &sc)
bool operator==(const specieCoeffs &sc) const noexcept
bool operator!=(const specieCoeffs &sc) const noexcept
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.