60 /constant::physicoChemical::
RR.value()
76 inline Foam::scalar Foam::JanevReactionRate::operator()
86 if (
mag(beta_) > vSmall)
93 if (
mag(Ta_) > vSmall)
100 for (
int n=0;
n<nb_;
n++)
102 expArg += b_[
n]*
pow(lnT,
n);
121 if (
mag(beta_) > vSmall)
123 lta *=
pow(
T, beta_);
128 if (
mag(Ta_) > vSmall)
135 for (
int n=0;
n<nb_;
n++)
137 expArg += b_[
n]*
pow(lnT,
n);
140 scalar deriv = b_[1];
142 for (
int n=2;
n<nb_;
n++)
144 deriv +=
n*b_[
n]*
pow(lnT,
n-1);
149 return lta*(beta_+Ta_/
T+deriv)/
T;
Janev, Langer, Evans and Post reaction rate.
void preEvaluate() const
Pre-evaluation hook.
void postEvaluate() const
Post-evaluation hook.
void write(Ostream &os) const
Write to stream.
void ddc(const scalar p, const scalar T, const scalarField &c, const label li, scalarField &ddc) const
The derivative of the rate w.r.t. concentration.
JanevReactionRate(const scalar A, const scalar beta, const scalar Ta, const FixedList< scalar, nb_ > b)
Construct from components.
scalar ddT(const scalar p, const scalar T, const scalarField &c, const label li) const
The derivative of the rate w.r.t. temperature.
bool hasDdc() const
Is the rate a function of concentration?
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual Ostream & write(const char)=0
Write character.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Dimension set for the base types.
A wordList with hashed indices for faster lookup by name.
const dimensionedScalar RR
Universal gas constant: default SI units: [J/kmol/K].
const dimensionedScalar c
Speed of light in a vacuum.
static const coefficient A("A", dimPressure, 611.21)
dimensionedScalar exp(const dimensionedScalar &ds)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const dimensionSet dimEnergy
const dimensionSet dimless
void T(LagrangianPatchField< Type > &f, const LagrangianPatchField< Type > &f1)
const dimensionSet dimTemperature
void mag(LagrangianPatchField< scalar > &f, const LagrangianPatchField< Type > &f1)
dimensionedScalar log(const dimensionedScalar &ds)
void pow(LagrangianPatchField< typename powProduct< Type, r >::type > &f, const LagrangianPatchField< Type > &f1)
const dimensionSet dimMoles
Ostream & writeKeyword(Foam::Ostream &os, const keyType &kw)
Write the keyword to the Ostream with the current level of indentation.