Cantera 2.6.0
|
The 3- or 4-parameter Troe falloff parameterization. More...
#include <Falloff.h>
Public Member Functions | |
TroeRate () | |
Constructor. More... | |
TroeRate (const AnyMap &node, const UnitStack &rate_units={}) | |
TroeRate (const ArrheniusRate &low, const ArrheniusRate &high, const vector_fp &c) | |
unique_ptr< MultiRateBase > | newMultiRate () const |
Create a rate evaluator for reactions of a particular derived type. More... | |
virtual void | setFalloffCoeffs (const vector_fp &c) |
Set coefficients used by parameterization. More... | |
virtual void | getFalloffCoeffs (vector_fp &c) const |
Retrieve coefficients of the falloff parameterization. More... | |
virtual void | updateTemp (double T, double *work) const |
Update the temperature parameters in the representation. More... | |
virtual double | F (double pr, const double *work) const |
The falloff function. More... | |
virtual size_t | workSize () const |
The size of the work array required. More... | |
virtual const std::string | type () const |
String identifying reaction rate specialization. More... | |
virtual size_t | nParameters () const |
Returns the number of parameters used by this parameterization. More... | |
virtual void | setParameters (const AnyMap &node, const UnitStack &rate_units) |
Set parameters. More... | |
virtual void | getParameters (double *params) const |
Sets params to contain, in order,. More... | |
virtual void | getParameters (AnyMap &node) const |
Get parameters. More... | |
Public Member Functions inherited from FalloffRate | |
FalloffRate (const AnyMap &node, const UnitStack &rate_units={}) | |
void | init (const vector_fp &c) |
Initialize. More... | |
double | evalF (double T, double conc3b) |
Evaluate falloff function at current conditions. More... | |
virtual double | evalFromStruct (const FalloffData &shared_data) |
Evaluate reaction rate. More... | |
void | check (const std::string &equation, const AnyMap &node) |
Check basic syntax and settings of reaction rate expression. More... | |
virtual void | validate (const std::string &equation, const Kinetics &kin) |
Validate the reaction rate expression. More... | |
bool | allowNegativePreExponentialFactor () const |
Get flag indicating whether negative A values are permitted. More... | |
void | setAllowNegativePreExponentialFactor (bool value) |
Set flag indicating whether negative A values are permitted. More... | |
bool | chemicallyActivated () const |
Get flag indicating whether reaction is chemically activated. More... | |
void | setChemicallyActivated (bool activated) |
Set flag indicating whether reaction is chemically activated. More... | |
ArrheniusRate & | lowRate () |
Get reaction rate in the low-pressure limit. More... | |
void | setLowRate (const ArrheniusRate &low) |
Set reaction rate in the low-pressure limit. More... | |
ArrheniusRate & | highRate () |
Get reaction rate in the high-pressure limit. More... | |
void | setHighRate (const ArrheniusRate &high) |
Set reaction rate in the high-pressure limit. More... | |
Public Member Functions inherited from ReactionRate | |
ReactionRate (const ReactionRate &other) | |
ReactionRate & | operator= (const ReactionRate &other) |
AnyMap | parameters () const |
Return the parameters such that an identical Reaction could be reconstructed using the newReaction() function. More... | |
virtual void | validate (const std::string &equation) |
Validate the reaction rate expression (legacy call) More... | |
size_t | rateIndex () const |
Reaction rate index within kinetics evaluator. More... | |
void | setRateIndex (size_t idx) |
Set reaction rate index within kinetics evaluator. More... | |
virtual void | setContext (const Reaction &rxn, const Kinetics &kin) |
Set context of reaction rate evaluation. More... | |
double | eval (double T) |
Evaluate reaction rate based on temperature. More... | |
double | eval (double T, double extra) |
Evaluate reaction rate based on temperature and an extra parameter. More... | |
double | eval (double T, const std::vector< double > &extra) |
Evaluate reaction rate based on temperature and an extra vector parameter. More... | |
Protected Attributes | |
double | m_a |
parameter a in the 4-parameter Troe falloff function. Dimensionless More... | |
double | m_rt3 |
parameter 1/T_3 in the 4-parameter Troe falloff function. [K^-1] More... | |
double | m_rt1 |
parameter 1/T_1 in the 4-parameter Troe falloff function. [K^-1] More... | |
double | m_t2 |
parameter T_2 in the 4-parameter Troe falloff function. [K] More... | |
Protected Attributes inherited from FalloffRate | |
ArrheniusRate | m_lowRate |
The reaction rate in the low-pressure limit. More... | |
ArrheniusRate | m_highRate |
The reaction rate in the high-pressure limit. More... | |
bool | m_chemicallyActivated |
Flag labeling reaction as chemically activated. More... | |
bool | m_negativeA_ok |
Flag indicating whether negative A values are permitted. More... | |
double | m_rc_low |
Evaluated reaction rate in the low-pressure limit. More... | |
double | m_rc_high |
Evaluated reaction rate in the high-pressure limit. More... | |
vector_fp | m_work |
Work vector. More... | |
Protected Attributes inherited from ReactionRate | |
AnyMap | m_input |
Input data used for specific models. More... | |
size_t | m_rate_index |
Index of reaction rate within kinetics evaluator. More... | |
Additional Inherited Members |
The 3- or 4-parameter Troe falloff parameterization.
The falloff function defines the value of \( F \) in the following rate expression
\[ k = k_{\infty} \left( \frac{P_r}{1 + P_r} \right) F \]
where
\[ P_r = \frac{k_0 [M]}{k_{\infty}} \]
This parameterization is defined by
\[ F = F_{cent}^{1/(1 + f_1^2)} \]
where
\[ F_{cent} = (1 - A)\exp(-T/T_3) + A \exp(-T/T_1) + \exp(-T_2/T) \]
\[ f_1 = (\log_{10} P_r + C) / \left(N - 0.14 (\log_{10} P_r + C)\right) \]
\[ C = -0.4 - 0.67 \log_{10} F_{cent} \]
\[ N = 0.75 - 1.27 \log_{10} F_{cent} \]
|
inline |
|
inline |
|
inlinevirtual |
Create a rate evaluator for reactions of a particular derived type.
Derived classes usually implement this as:
where RateType
is the derived class name and DataType
is the corresponding container for parameters needed to evaluate reactions of that type.
Reimplemented from ReactionRate.
|
virtual |
Set coefficients used by parameterization.
c | Vector of three or four doubles: The doubles are the parameters, a, T_3, T_1, and (optionally) T_2 of the Troe parameterization |
Reimplemented from FalloffRate.
Definition at line 209 of file Falloff.cpp.
References Cantera::SmallNumber, and Cantera::warn_user().
|
virtual |
Retrieve coefficients of the falloff parameterization.
c | Vector of coefficients of the parameterization. The number and meaning of these coefficients is subclass-dependent. |
Reimplemented from FalloffRate.
Definition at line 245 of file Falloff.cpp.
References Cantera::SmallNumber.
|
virtual |
Update the temperature parameters in the representation.
T | Temperature (Kelvin) |
work | Vector of working space, length 1, representing the temperature-dependent part of the parameterization. |
Reimplemented from FalloffRate.
Definition at line 254 of file Falloff.cpp.
|
virtual |
The falloff function.
This is defined so that the rate coefficient is
\[ k = F(Pr)\frac{Pr}{1 + Pr}. \]
Here \( Pr \) is the reduced pressure, defined by
\[ Pr = \frac{k_0 [M]}{k_\infty}. \]
pr | reduced pressure (dimensionless). |
work | array of size workSize() containing cached temperature-dependent intermediate results from a prior call to updateTemp. |
Reimplemented from FalloffRate.
Definition at line 263 of file Falloff.cpp.
|
inlinevirtual |
The size of the work array required.
Reimplemented from FalloffRate.
|
inlinevirtual |
String identifying reaction rate specialization.
Reimplemented from FalloffRate.
|
inlinevirtual |
Returns the number of parameters used by this parameterization.
The values of these parameters can be obtained from getParameters().
Reimplemented from FalloffRate.
Set parameters.
node | AnyMap object containing reaction rate specification |
units | unit definitions specific to rate information |
Reimplemented from FalloffRate.
Definition at line 273 of file Falloff.cpp.
References AnyMap::empty().
|
virtual |
Sets params to contain, in order,.
\[ (A, T_3, T_1, T_2) \]
Reimplemented from FalloffRate.
Definition at line 295 of file Falloff.cpp.
|
virtual |
Get parameters.
node | AnyMap containing rate information Store the parameters of a ReactionRate needed to reconstruct an identical object. Does not include user-defined fields available in the m_input map. |
Reimplemented from FalloffRate.
Definition at line 302 of file Falloff.cpp.
References AnyMap::setFlowStyle(), and Cantera::SmallNumber.
|
protected |
|
protected |
|
protected |
|
protected |