Base class for falloff rate calculators. More...
#include <Falloff.h>
Base class for falloff rate calculators.
Each instance of a subclass of FalloffRate calculates the falloff reaction rate based on specific implementations of the falloff function.
The falloff function F(P_r, T) is implemented by FalloffRate specializations, and is defined so that the rate coefficient is
k = k_\infty \frac{P_r}{1 + P_r} F(P_r,T)
Here P_r is the reduced pressure, defined by
P_r = \frac{k_0 [M]}{k_\infty}.
Public Member Functions | |
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. | |
![]() | |
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 | |
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. | |
![]() | |
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. | |
FalloffRate | ( | const AnyMap & | node, |
const UnitStack & | rate_units = {} |
||
) |
Definition at line 81 of file Falloff.cpp.
|
virtual |
Set coefficients of the falloff parameterization.
c | Vector of coefficients of the parameterization. The number and meaning of these coefficients is subclass-dependent. |
Reimplemented in TroeRate, SriRate, and TsangRate.
Definition at line 113 of file Falloff.cpp.
|
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 in TroeRate, SriRate, and TsangRate.
Definition at line 123 of file Falloff.cpp.
|
inlinevirtual |
|
inlinevirtual |
|
inline |
|
inlineoverridevirtual |
String identifying reaction rate specialization.
Implements ReactionRate.
|
inlinevirtual |
Set parameters.
node | AnyMap object containing reaction rate specification |
units | unit definitions specific to rate information |
Reimplemented from ReactionRate.
Reimplemented in TroeRate, SriRate, and TsangRate.
Definition at line 128 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 ReactionRate.
Reimplemented in TroeRate, SriRate, and TsangRate.
Definition at line 161 of file Falloff.cpp.
|
inline |
|
overridevirtual |
Check basic syntax and settings of reaction rate expression.
Reimplemented from ReactionRate.
Definition at line 178 of file Falloff.cpp.
|
overridevirtual |
Validate the reaction rate expression.
Reimplemented from ReactionRate.
Definition at line 193 of file Falloff.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void setLowRate | ( | const ArrheniusRate & | low | ) |
Set reaction rate in the low-pressure limit.
Definition at line 87 of file Falloff.cpp.
|
inline |
void setHighRate | ( | const ArrheniusRate & | high | ) |
Set reaction rate in the high-pressure limit.
Definition at line 100 of file Falloff.cpp.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |