28 template<
class ReactionRate,
class FallOffFunction>
32 const ReactionRate& k0,
33 const ReactionRate& kInf,
34 const FallOffFunction& F,
41 thirdBodyEfficiencies_(tbes)
45 template<
class ReactionRate,
class FallOffFunction>
53 k0_(species, is.
readBegin(
"FallOffReactionRate(Istream&)")),
56 thirdBodyEfficiencies_(species, is)
58 is.
readEnd(
"FallOffReactionRate(Istream&)");
62 template<
class ReactionRate,
class FallOffFunction>
70 k0_(species, dict.
subDict(
"k0")),
71 kInf_(species, dict.
subDict(
"kInf")),
73 thirdBodyEfficiencies_(species, dict.
subDict(
"thirdBodyEfficiencies"))
79 template<
class ReactionRate,
class FallOffFunction>
88 scalar k0 = k0_(p, T,
c);
89 scalar kInf = kInf_(p, T,
c);
91 scalar
Pr = k0*thirdBodyEfficiencies_.M(
c)/kInf;
93 return kInf*(Pr/(1 +
Pr))*F_(T, Pr);
97 template<
class ReactionRate,
class FallOffFunction>
104 os <<
indent << token::BEGIN_BLOCK <<
nl;
108 os <<
indent << token::END_BLOCK <<
nl;
111 os <<
indent << token::BEGIN_BLOCK <<
nl;
115 os <<
indent << token::END_BLOCK <<
nl;
118 os <<
indent << token::BEGIN_BLOCK <<
nl;
122 os <<
indent << token::END_BLOCK <<
nl;
124 os <<
indent <<
"thirdBodyEfficiencies" <<
nl;
125 os <<
indent << token::BEGIN_BLOCK <<
nl;
127 thirdBodyEfficiencies_.
write(os);
129 os <<
indent << token::END_BLOCK <<
nl;
133 template<
class ReactionRate,
class FallOffFunction>
140 os << token::BEGIN_LIST
141 << forr.k0_ << token::SPACE
142 << forr.kInf_ << token::SPACE
143 << forr.F_ << token::SPACE
144 << forr.thirdBodyEfficiencies_
dimensionedScalar Pr("Pr", dimless, laminarTransport)
friend Ostream & operator(Ostream &, const FallOffReactionRate< ReactionRate, FallOffFunction > &)
void write(Ostream &os) const
Write to stream.
Ostream & indent(Ostream &os)
Indent stream.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
A list of keyword definitions, which are a keyword followed by any number of values (e...
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
Ostream & incrIndent(Ostream &os)
Increment the indent level.
Ostream & decrIndent(Ostream &os)
Decrement the indent level.
virtual Ostream & write(const token &)=0
Write next token to stream.
Istream & readBegin(const char *funcName)
General class for handling unimolecular/recombination fall-off reactions.
A wordList with hashed indices for faster lookup by name.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
const dimensionedScalar c
Speed of light in a vacuum.
FallOffReactionRate(const ReactionRate &k0, const ReactionRate &kInf, const FallOffFunction &F, const thirdBodyEfficiencies &tbes)
Construct from components.
Istream & readEnd(const char *funcName)