The SRI falloff function. More...
#include <Falloff.h>
The SRI falloff function.
This falloff function is based on the one originally due to Stewart et al. [45], which required three parameters \( a \), \( b \), and \( c \). Kee et al. [16] generalized this slightly by adding two more parameters \( d \) and \( e \). (The original form corresponds to \( d = 1 \) and \( e = 0 \).) In keeping with the nomenclature of Kee et al. [16], the rate is referred to as the SRI falloff function.
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}} \]
\[ F(T, P_r) = {\left[ a \; \exp\left(\frac{-b}{T}\right) + \exp\left(\frac{-T}{c}\right)\right]}^n \; d \; T^e \]
where
\[ n = \frac{1.0}{1.0 + (\log_{10} P_r)^2} \]
\( c \) is required to be greater than or equal to zero. If it is zero, then the corresponding term is set to zero. \( d \) is required to be greater than zero.
Public Member Functions | |
| SriRate () | |
| Constructor. | |
| SriRate (const AnyMap &node, const UnitStack &rate_units={}) | |
| SriRate (const ArrheniusRate &low, const ArrheniusRate &high, const vector< double > &c) | |
| unique_ptr< MultiRateBase > | newMultiRate () const override |
| Create a rate evaluator for reactions of a particular derived type. | |
| void | setFalloffCoeffs (const vector< double > &c) override |
| Set coefficients used by parameterization. | |
| void | getFalloffCoeffs (vector< double > &c) const override |
| Retrieve coefficients of the falloff parameterization. | |
| void | updateTemp (double T, double *work) const override |
| Update the temperature parameters in the representation. | |
| double | F (double pr, const double *work) const override |
| The falloff function. | |
| const string | subType () const override |
| String identifying sub-type of reaction rate specialization. | |
| size_t | nParameters () const override |
| Returns the number of parameters used by this parameterization. | |
| void | setParameters (const AnyMap &node, const UnitStack &rate_units) override |
| Set parameters. | |
| void | getParameters (AnyMap &node) const override |
| Get parameters. | |
Public Member Functions inherited from FalloffRate | |
| FalloffRate (const AnyMap &node, const UnitStack &rate_units={}) | |
| virtual void | setFalloffCoeffs (const vector< double > &c) |
| Set coefficients of the falloff parameterization. | |
| virtual void | getFalloffCoeffs (vector< double > &c) const |
| Retrieve coefficients of the falloff parameterization. | |
| virtual void | updateTemp (double T, double *work) const |
| Update the temperature-dependent portions of the falloff function, if any, and store them in the 'work' array. | |
| virtual double | F (double pr, const double *work) const |
| The falloff function. | |
| double | evalF (double T, double conc3b) |
| Evaluate falloff function at current conditions. | |
| const string | type () const override |
| String identifying reaction rate specialization. | |
| virtual size_t | nParameters () const |
| Returns the number of parameters used by this parameterization. | |
| void | setParameters (const AnyMap &node, const UnitStack &rate_units) override |
| Set parameters. | |
| void | getParameters (AnyMap &node) const override |
| Get parameters. | |
| double | evalFromStruct (const FalloffData &shared_data) |
| Evaluate reaction rate. | |
| void | check (const string &equation) override |
| Check basic syntax and settings of reaction rate expression. | |
| void | validate (const string &equation, const Kinetics &kin) override |
| Validate the reaction rate expression. | |
| bool | allowNegativePreExponentialFactor () const |
| Get flag indicating whether negative A values are permitted. | |
| void | setAllowNegativePreExponentialFactor (bool value) |
| Set flag indicating whether negative A values are permitted. | |
| bool | chemicallyActivated () const |
| Get flag indicating whether reaction is chemically activated. | |
| void | setChemicallyActivated (bool activated) |
| Set flag indicating whether reaction is chemically activated. | |
| ArrheniusRate & | lowRate () |
| Get reaction rate in the low-pressure limit. | |
| void | setLowRate (const ArrheniusRate &low) |
| Set reaction rate in the low-pressure limit. | |
| ArrheniusRate & | highRate () |
| Get reaction rate in the high-pressure limit. | |
| void | setHighRate (const ArrheniusRate &high) |
| Set reaction rate in the high-pressure limit. | |
Public Member Functions inherited from ReactionRate | |
| ReactionRate (const ReactionRate &other) | |
| ReactionRate & | operator= (const ReactionRate &other) |
| virtual unique_ptr< MultiRateBase > | newMultiRate () const |
| Create a rate evaluator for reactions of a particular derived type. | |
| virtual const string | type () const =0 |
| String identifying reaction rate specialization. | |
| virtual const string | subType () const |
| String identifying sub-type of reaction rate specialization. | |
| virtual void | setParameters (const AnyMap &node, const UnitStack &units) |
| Set parameters. | |
| AnyMap | parameters () const |
| Return the parameters such that an identical Reaction could be reconstructed using the newReaction() function. | |
| const Units & | conversionUnits () const |
| Get the units for converting the leading term in the reaction rate expression. | |
| virtual void | setRateUnits (const UnitStack &rate_units) |
| Set the units of the reaction rate expression. | |
| virtual void | check (const string &equation) |
| Check basic syntax and settings of reaction rate expression. | |
| virtual void | validate (const string &equation, const Kinetics &kin) |
| Validate the reaction rate expression. | |
| size_t | rateIndex () const |
| Reaction rate index within kinetics evaluator. | |
| void | setRateIndex (size_t idx) |
| Set reaction rate index within kinetics evaluator. | |
| virtual void | setContext (const Reaction &rxn, const Kinetics &kin) |
| Set context of reaction rate evaluation. | |
| double | eval (double T) |
| Evaluate reaction rate based on temperature. | |
| double | eval (double T, double extra) |
| Evaluate reaction rate based on temperature and an extra parameter. | |
| double | eval (double T, const vector< double > &extra) |
| Evaluate reaction rate based on temperature and an extra vector parameter. | |
| bool | valid () const |
| Get flag indicating whether reaction rate is set up correctly. | |
| bool | compositionDependent () |
| Boolean indicating whether rate has compositional dependence. | |
| void | setCompositionDependence (bool comp_dep) |
| Set rate compositional dependence. | |
Protected Attributes | |
| double | m_a |
| parameter a in the 5-parameter SRI falloff function. Dimensionless. | |
| double | m_b |
| parameter b in the 5-parameter SRI falloff function. [K] | |
| double | m_c |
| parameter c in the 5-parameter SRI falloff function. [K] | |
| double | m_d |
| parameter d in the 5-parameter SRI falloff function. Dimensionless. | |
| double | m_e |
| parameter d in the 5-parameter SRI falloff function. Dimensionless. | |
Protected Attributes inherited from FalloffRate | |
| ArrheniusRate | m_lowRate |
| The reaction rate in the low-pressure limit. | |
| ArrheniusRate | m_highRate |
| The reaction rate in the high-pressure limit. | |
| bool | m_chemicallyActivated = false |
| Flag labeling reaction as chemically activated. | |
| bool | m_negativeA_ok = false |
| Flag indicating whether negative A values are permitted. | |
| double | m_rc_low = NAN |
| Evaluated reaction rate in the low-pressure limit. | |
| double | m_rc_high = NAN |
| Evaluated reaction rate in the high-pressure limit. | |
| vector< double > | m_work |
| Work vector. | |
Protected Attributes inherited from ReactionRate | |
| AnyMap | m_input |
| Input data used for specific models. | |
| size_t | m_rate_index = npos |
| Index of reaction rate within kinetics evaluator. | |
| bool | m_valid = false |
| Flag indicating whether reaction rate is set up correctly. | |
| bool | m_composition_dependent_rate = false |
| Flag indicating composition dependent rate. | |
| Units | m_conversion_units {0.} |
| Units of the leading term in the reaction rate expression. | |
Additional Inherited Members | |
| virtual void | getParameters (AnyMap &node) const |
| Get parameters. | |
Definition at line 341 of file Falloff.cpp.
|
inline |
|
inlineoverridevirtual |
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.
|
overridevirtual |
Set coefficients used by parameterization.
| c | Vector of three or five doubles: The doubles are the parameters, a, b, c, d (optional; default 1.0), and e (optional; default 0.0) of the SRI parameterization |
Reimplemented from FalloffRate.
Definition at line 347 of file Falloff.cpp.
|
overridevirtual |
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 377 of file Falloff.cpp.
|
overridevirtual |
Update the temperature parameters in the representation.
| T | Temperature (Kelvin) |
| work | Vector of working space, length 2, representing the temperature-dependent part of the parameterization. |
Reimplemented from FalloffRate.
Definition at line 391 of file Falloff.cpp.
|
overridevirtual |
The falloff function.
| 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 400 of file Falloff.cpp.
|
inlineoverridevirtual |
String identifying sub-type of reaction rate specialization.
Reimplemented from ReactionRate.
|
inlineoverridevirtual |
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 407 of file Falloff.cpp.
|
overridevirtual |
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 432 of file Falloff.cpp.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |