28 template<
class ReactionRate,
class FallOffFunction>
32 const ReactionRate& k0,
33 const ReactionRate& kInf,
34 const FallOffFunction& F,
41 thirdBodyEfficiencies_(tbes)
50 template<
class ReactionRate,
class FallOffFunction>
58 k0_(species, dict.
subDict(
"k0")),
59 kInf_(species, dict.
subDict(
"kInf")),
61 thirdBodyEfficiencies_(species, dict.
subDict(
"thirdBodyEfficiencies"))
63 forAll(thirdBodyEfficiencies_, i)
70 thirdBodyEfficiencies_[i]
79 template<
class ReactionRate,
class FallOffFunction>
88 template<
class ReactionRate,
class FallOffFunction>
97 template<
class ReactionRate,
class FallOffFunction>
107 const scalar k0 = k0_(p, T, c, li);
108 const scalar kInf = kInf_(p, T, c, li);
109 const scalar Pr = k0*thirdBodyEfficiencies_.M(c)/kInf;
111 return kInf*(Pr/(1 + Pr))*F_(T, Pr);
115 template<
class ReactionRate,
class FallOffFunction>
125 const scalar k0 = k0_(p, T, c, li);
126 const scalar kInf = kInf_(p, T, c, li);
127 const scalar Pr = k0*thirdBodyEfficiencies_.M(c)/kInf;
129 return (Pr/(1 + Pr))*F_(T, Pr)*kInf_.ddT(p, T, c, li);
133 template<
class ReactionRate,
class FallOffFunction>
143 const scalar
M = thirdBodyEfficiencies_.M(c);
147 const scalar k0 = k0_(p, T, c, li);
148 const scalar kInf = kInf_(p, T, c, li);
149 const scalar Pr = k0*M/kInf;
150 const scalar F = F_(T, Pr);
154 const scalar dPrdci = -beta_[i].second()*k0/kInf;
155 const scalar dFdci = F_.ddc(Pr, F, dPrdci, T);
156 dcidc[i] = (dPrdci/(Pr*(1 + Pr)) + dFdci/
F);
169 template<
class ReactionRate,
class FallOffFunction>
179 const scalar
M = thirdBodyEfficiencies_.M(c);
183 const scalar k0 = k0_(p, T, c, li);
184 const scalar kInf = kInf_(p, T, c, li);
186 const scalar Pr = k0*thirdBodyEfficiencies_.M(c)/kInf;
187 const scalar F = F_(T, Pr);
189 Pr*(k0_.ddT(p, T, c, li)/k0 - kInf_.ddT(p, T, c, li)/kInf - 1/
T);
190 const scalar dFdT = F_.ddT(Pr, F, dPrdT, T);
192 return (dPrdT/(Pr*(1 + Pr)) + dFdT/F);
201 template<
class ReactionRate,
class FallOffFunction>
208 os <<
indent << token::BEGIN_BLOCK <<
nl;
212 os <<
indent << token::END_BLOCK <<
nl;
215 os <<
indent << token::BEGIN_BLOCK <<
nl;
219 os <<
indent << token::END_BLOCK <<
nl;
222 os <<
indent << token::BEGIN_BLOCK <<
nl;
226 os <<
indent << token::END_BLOCK <<
nl;
228 os <<
indent <<
"thirdBodyEfficiencies" <<
nl;
229 os <<
indent << token::BEGIN_BLOCK <<
nl;
231 thirdBodyEfficiencies_.
write(os);
233 os <<
indent << token::END_BLOCK <<
nl;
237 template<
class ReactionRate,
class FallOffFunction>
#define forAll(list, i)
Loop across all elements in list.
virtual Ostream & write(const char)=0
Write character.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Ostream & indent(Ostream &os)
Indent stream.
const dimensionedScalar F
Faraday constant: default SI units: [C/mol].
void postEvaluate() const
Post-evaluation hook.
A list of keyword definitions, which are a keyword followed by any number of values (e...
A 2-tuple for storing two objects of different types.
General class for handling unimolecular/recombination fall-off reactions.
const dimensionedScalar c
Speed of light in a vacuum.
void dcidc(const scalar p, const scalar T, const scalarField &c, const label li, scalarField &dcidc) const
Species concentration derivative of the pressure dependent term.
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
scalar dcidT(const scalar p, const scalar T, const scalarField &c, const label li) const
Temperature derivative of the pressure dependent term.
scalar ddT(const scalar p, const scalar T, const scalarField &c, const label li) const
void write(Ostream &os) const
Write to stream.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Ostream & decrIndent(Ostream &os)
Decrement the indent level.
FallOffReactionRate(const ReactionRate &k0, const ReactionRate &kInf, const FallOffFunction &F, const thirdBodyEfficiencies &tbes)
Construct from components.
friend Ostream & operator(Ostream &, const FallOffReactionRate< ReactionRate, FallOffFunction > &)
void preEvaluate() const
Pre-evaluation hook.
A wordList with hashed indices for faster lookup by name.
Ostream & incrIndent(Ostream &os)
Increment the indent level.