44 for (
int i=0; i<n_; i++)
67 A_[i] = coeffs[i].first();
68 Ta_[i] = coeffs[i].second();
75 inline Foam::scalar Foam::LangmuirHinshelwoodReactionRate::operator()
82 return A_[0]*
exp(-Ta_[0]/T)/
85 *
sqr(1 + A_[1]*
exp(-Ta_[1]/T)*c[co_] + A_[2]*
exp(-Ta_[2]/T)*c[c3h6_])
86 *(1 + A_[3]*
exp(-Ta_[3]/T)*
sqr(c[co_])*
sqr(c[c3h6_]))
87 *(1 + A_[4]*
exp(-Ta_[4]/T)*
pow(c[no_], 0.7))
102 *
sqr(1 + A_[1]*
exp(-Ta_[1]/T)*c[co_] + A_[2]*
exp(-Ta_[2]/T)*c[c3h6_])
103 *(1 + A_[3]*
exp(-Ta_[3]/T)*
sqr(c[co_])*
sqr(c[c3h6_]))
104 *(1 + A_[4]*
exp(-Ta_[4]/T)*
pow(c[no_], 0.7))
106 scalar rate = A_[0]*
exp(-Ta_[0]/T)/ den;
110 sqr(1 + A_[1]*
exp(-Ta_[1]/T)*c[co_] + A_[2]*
exp(-Ta_[2]/T)*c[c3h6_])
111 *(1 + A_[3]*
exp(-Ta_[3]/T)*
sqr(c[co_])*
sqr(c[c3h6_]))
112 *(1 + A_[4]*
exp(-Ta_[4]/T)*
pow(c[no_], 0.7))
113 + 2*T*(1 + A_[1]*
exp(-Ta_[1]/T)*c[co_] + A_[2]*
exp(-Ta_[2]/T)*c[c3h6_])
116 A_[1]*
exp(-Ta_[1]/T)*c[co_]*Ta_[1]/
sqr(T)
117 + A_[2]*
exp(-Ta_[2]/T)*c[c3h6_]*Ta_[2]/
sqr(T)
119 *(1 + A_[3]*
exp(-Ta_[3]/T)*
sqr(c[co_])*
sqr(c[c3h6_]))
120 *(1 + A_[4]*
exp(-Ta_[4]/T)*
pow(c[no_], 0.7))
122 *
sqr(1 + A_[1]*
exp(-Ta_[1]/T)*c[co_] + A_[2]*
exp(-Ta_[2]/T)*c[c3h6_])
123 *(A_[3]*
exp(-Ta_[3]/T)*Ta_[3]*
sqr(c[co_])*
sqr(c[c3h6_])/
sqr(T))
124 *(1 + A_[4]*
exp(-Ta_[4]/T)*
pow(c[no_], 0.7))
126 *
sqr(1 + A_[1]*
exp(-Ta_[1]/T)*c[co_] + A_[2]*
exp(-Ta_[2]/T)*c[c3h6_])
127 *(1 + A_[3]*
exp(-Ta_[3]/T)*
sqr(c[co_])*
sqr(c[c3h6_]))
128 *(A_[4]*
exp(-Ta_[4]/T)*Ta_[4]*
pow(c[no_], 0.7))/
sqr(T)
131 return rate*(Ta_[0]/
sqr(T) - derivDen/den);
138 return NullObjectRef<List<Tuple2<label, scalar>>>();
169 coeffs[i].
first() = A_[i];
170 coeffs[i].second() = Ta_[i];
#define forAll(list, i)
Loop across all elements in 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 1D vector of objects of type <T> with a fixed size <Size>.
Power series reaction rate.
scalar ddT(const scalar p, const scalar T, const scalarField &c) const
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...
dimensionedSymmTensor sqr(const dimensionedVector &dv)
void dcidc(const scalar p, const scalar T, const scalarField &c, scalarField &dcidc) const
Species concentration derivative of the pressure dependent term.
dimensionedScalar exp(const dimensionedScalar &ds)
T & first()
Return the first element of the list.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
scalar dcidT(const scalar p, const scalar T, const scalarField &c) const
Temperature derivative of the pressure dependent term.
const List< Tuple2< label, scalar > > & beta() const
Third-body efficiencies (beta = 1-alpha)
Ostream & writeKeyword(const keyType &)
Write the keyword followed by an appropriate indentation.
void write(Ostream &os) const
Write to stream.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
A wordList with hashed indices for faster lookup by name.
const dimensionedScalar c
Speed of light in a vacuum.
virtual Ostream & write(const token &)=0
Write next token to stream.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
LangmuirHinshelwoodReactionRate(const scalar A[], const scalar Ta[], const label co, const label c3h6, const label no)
Construct from components.