Base class for Arrhenius-type Parameterizations. More...
#include <Arrhenius.h>
Base class for Arrhenius-type Parameterizations.
This base class provides a minimally functional interface that allows for parameter access from derived classes as well as classes that use Arrhenius-type expressions internally, for example FalloffRate and PlogRate.
Definition at line 43 of file Arrhenius.h.
Public Member Functions | |
ArrheniusBase () | |
Default constructor. | |
ArrheniusBase (double A, double b, double Ea) | |
Constructor. | |
ArrheniusBase (const AnyValue &rate, const UnitSystem &units, const UnitStack &rate_units) | |
Constructor based on AnyValue content. | |
ArrheniusBase (const AnyMap &node, const UnitStack &rate_units={}) | |
void | setRateParameters (const AnyValue &rate, const UnitSystem &units, const UnitStack &rate_units) |
Perform object setup based on AnyValue node information. | |
void | getRateParameters (AnyMap &node) const |
Get Arrhenius parameters used to populate the rate-coefficient or equivalent field. | |
void | setParameters (const AnyMap &node, const UnitStack &rate_units) override |
Set parameters. | |
void | getParameters (AnyMap &node) const override |
Get parameters. | |
void | check (const string &equation) override |
Check rate expression. | |
void | validate (const string &equation, const Kinetics &kin) override |
Validate the reaction rate expression. | |
virtual double | preExponentialFactor () const |
Return the pre-exponential factor A (in m, kmol, s to powers depending on the reaction order) | |
virtual double | temperatureExponent () const |
Return the temperature exponent b | |
virtual double | activationEnergy () const |
Return the activation energy Ea [J/kmol] The value corresponds to the constant specified by input parameters;. | |
double | order () const |
Return reaction order associated with the reaction rate. | |
void | setRateUnits (const UnitStack &rate_units) override |
Set units of 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. | |
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 | |
bool | m_negativeA_ok = false |
Permissible negative A values. | |
double | m_A = NAN |
Pre-exponential factor. | |
double | m_b = NAN |
Temperature exponent. | |
double | m_Ea_R = 0. |
Activation energy (in temperature units) | |
double | m_E4_R = 0. |
Optional 4th energy parameter (in temperature units) | |
double | m_logA = NAN |
Logarithm of pre-exponential factor. | |
double | m_order = NAN |
Reaction order. | |
string | m_A_str = "A" |
The string for the pre-exponential factor. | |
string | m_b_str = "b" |
The string for temperature exponent. | |
string | m_Ea_str = "Ea" |
The string for activation energy. | |
string | m_E4_str = "" |
The string for an optional 4th parameter. | |
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. | |
|
inline |
Default constructor.
Definition at line 47 of file Arrhenius.h.
ArrheniusBase | ( | double | A, |
double | b, | ||
double | Ea | ||
) |
Constructor.
A | Pre-exponential factor. The unit system is (kmol, m, s); actual units depend on the reaction order and the dimensionality (surface or bulk). |
b | Temperature exponent (non-dimensional) |
Ea | Activation energy in energy units [J/kmol] |
Definition at line 12 of file Arrhenius.cpp.
ArrheniusBase | ( | const AnyValue & | rate, |
const UnitSystem & | units, | ||
const UnitStack & | rate_units | ||
) |
Constructor based on AnyValue content.
Definition at line 23 of file Arrhenius.cpp.
|
explicit |
Definition at line 30 of file Arrhenius.cpp.
void setRateParameters | ( | const AnyValue & | rate, |
const UnitSystem & | units, | ||
const UnitStack & | rate_units | ||
) |
Perform object setup based on AnyValue node information.
Used to set parameters from a child of the reaction node, which may have different names for different rate parameterizations, such as falloff rates.
rate | Child of the reaction node containing Arrhenius rate parameters. For example, the rate-coefficient node for a standard Arrhenius reaction. |
units | Unit system |
rate_units | Unit definitions specific to rate information |
Definition at line 35 of file Arrhenius.cpp.
void getRateParameters | ( | AnyMap & | node | ) | const |
Get Arrhenius parameters used to populate the rate-coefficient
or equivalent field.
Definition at line 76 of file Arrhenius.cpp.
Set parameters.
node | AnyMap object containing reaction rate specification |
units | unit definitions specific to rate information |
Reimplemented from ReactionRate.
Definition at line 100 of file Arrhenius.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.
Definition at line 111 of file Arrhenius.cpp.
|
overridevirtual |
Check rate expression.
Reimplemented from ReactionRate.
Definition at line 123 of file Arrhenius.cpp.
|
overridevirtual |
Validate the reaction rate expression.
Reimplemented from ReactionRate.
Definition at line 138 of file Arrhenius.cpp.
|
inlinevirtual |
Return the pre-exponential factor A (in m, kmol, s to powers depending on the reaction order)
Class specializations may provide alternate definitions that describe an effective pre-exponential factor that depends on the thermodynamic state.
Definition at line 97 of file Arrhenius.h.
|
inlinevirtual |
Return the temperature exponent b
Class specializations may provide alternate definitions that describe an effective temperature exponent that depends on the thermodynamic state.
Definition at line 106 of file Arrhenius.h.
|
inlinevirtual |
Return the activation energy Ea [J/kmol] The value corresponds to the constant specified by input parameters;.
Class specializations may provide alternate definitions that describe an effective activation energy that depends on the thermodynamic state.
Reimplemented in BlowersMaselRate.
Definition at line 116 of file Arrhenius.h.
|
inline |
Return reaction order associated with the reaction rate.
Definition at line 121 of file Arrhenius.h.
|
inlineoverridevirtual |
Set units of the reaction rate expression.
Reimplemented from ReactionRate.
Definition at line 126 of file Arrhenius.h.
|
inline |
Get flag indicating whether negative A values are permitted.
Definition at line 136 of file Arrhenius.h.
|
inline |
Set flag indicating whether negative A values are permitted.
Definition at line 141 of file Arrhenius.h.
|
protected |
Permissible negative A values.
Definition at line 146 of file Arrhenius.h.
|
protected |
Pre-exponential factor.
Definition at line 147 of file Arrhenius.h.
|
protected |
Temperature exponent.
Definition at line 148 of file Arrhenius.h.
|
protected |
Activation energy (in temperature units)
Definition at line 149 of file Arrhenius.h.
|
protected |
Optional 4th energy parameter (in temperature units)
Definition at line 150 of file Arrhenius.h.
|
protected |
Logarithm of pre-exponential factor.
Definition at line 151 of file Arrhenius.h.
|
protected |
Reaction order.
Definition at line 152 of file Arrhenius.h.
|
protected |
The string for the pre-exponential factor.
Definition at line 153 of file Arrhenius.h.
|
protected |
The string for temperature exponent.
Definition at line 154 of file Arrhenius.h.
|
protected |
The string for activation energy.
Definition at line 155 of file Arrhenius.h.
|
protected |
The string for an optional 4th parameter.
Definition at line 156 of file Arrhenius.h.