Castela vibrational relaxation rate implementation. More...
#include <CastelaVibrationalRelaxationRate.h>
Castela vibrational relaxation rate implementation.
Maps the Castela coefficients onto the common internal representation using
\[A = R/p_0,\qquad b = 1,\qquad C0 = 18.42 + a_k b_k,\qquad C13 = -a_k. \]
The remaining temperature-dependent coefficients are zero.
Definition at line 32 of file CastelaVibrationalRelaxationRate.h.
Public Member Functions | |
| CastelaVibrationalRelaxationRate (double a, double b, double referencePressure=OneAtm) | |
| CastelaVibrationalRelaxationRate (const AnyMap &node, const UnitStack &rate_units={}) | |
| void | setParameters (const AnyMap &node, const UnitStack &rate_units) override |
| Set parameters. | |
| unique_ptr< MultiRateBase > | newMultiRate () const override |
| Create a rate evaluator for reactions of a particular derived type. | |
| const string | type () const override |
| String identifying reaction rate specialization. | |
| Public Member Functions inherited from VibrationalRelaxationRate | |
| void | setParameters (const AnyMap &node, const UnitStack &rate_units) override |
| Set parameters. | |
| void | setContext (const Reaction &rxn, const Kinetics &kin) override |
| Set context of reaction rate evaluation. | |
| double | evalFromStruct (const VibrationalRelaxationData &shared_data) const |
| double | ddTScaledFromStruct (const VibrationalRelaxationData &shared_data) const |
| Evaluate the scaled temperature derivative. | |
| 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. | |
| Public Member Functions inherited from ReactionRate | |
| ReactionRate (const ReactionRate &other) | |
| ReactionRate & | operator= (const ReactionRate &other) |
| virtual const string | subType () const |
| String identifying sub-type of reaction rate specialization. | |
| 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. | |
| size_t | rateIndex () const |
| Reaction rate index within kinetics evaluator. | |
| void | setRateIndex (size_t idx) |
| Set reaction rate index within kinetics evaluator. | |
| 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, span< const 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 Member Functions | |
| void | getRateParameters (AnyMap &rateNode) const override |
| Store the model-specific coefficients in the rate-constant node. | |
| Protected Member Functions inherited from VibrationalRelaxationRate | |
| VibrationalRelaxationRate () | |
| Default constructor. | |
| VibrationalRelaxationRate (double A, double b, double C0, double C13, double Cm, double m, double Cn, double n) | |
| Construct from the common internal representation. | |
| void | getParameters (AnyMap &node) const override |
| Write the fields shared by all vibrational relaxation rates, then delegate the model-specific rate-constant entries to getRateParameters(). | |
| void | getPreExponentialFactor (AnyMap &rateNode) const |
Private Attributes | |
| double | m_castela_a = 0.0 |
| Castela coefficient a. | |
| double | m_castela_b = 0.0 |
| Castela coefficient b. | |
| double | m_referencePressure = OneAtm |
| Reference pressure. | |
Additional Inherited Members | |
| Static Protected Member Functions inherited from VibrationalRelaxationRate | |
| static void | requireKeys (const AnyMap &node, const string &rateType, const string &where, std::initializer_list< string > keys) |
| static void | forbidKeys (const AnyMap &node, const string &rateType, const string &where, std::initializer_list< string > keys) |
| Protected Attributes inherited from VibrationalRelaxationRate | |
| double | m_A = NAN |
| Pre-exponential constant for the reaction rate. | |
| double | m_b = NAN |
| Temperature exponent for the reaction rate. | |
| double | m_C0 = 0.0 |
| Dimensionless constant in the exponential. | |
| double | m_C13 = 0.0 |
| Coefficient multiplying \( T^{-1/3} \). | |
| double | m_Cm = 0.0 |
| Coefficient multiplying \( T^{-m} \). | |
| double | m_m = 1.0 |
| Temperature exponent used by the Cm term. | |
| double | m_Cn = 0.0 |
| Coefficient multiplying \( T^{-n} \). | |
| double | m_n = 1.0 |
| Temperature exponent used by the Cn term. | |
| 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. | |
| CastelaVibrationalRelaxationRate | ( | double | a, |
| double | b, | ||
| double | referencePressure = OneAtm ) |
Definition at line 27 of file CastelaVibrationalRelaxationRate.cpp.
|
explicit |
Definition at line 20 of file CastelaVibrationalRelaxationRate.cpp.
Set parameters.
| node | AnyMap object containing reaction rate specification |
| units | unit definitions specific to rate information |
Reimplemented from ReactionRate.
Definition at line 52 of file CastelaVibrationalRelaxationRate.cpp.
|
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.
Definition at line 47 of file CastelaVibrationalRelaxationRate.h.
|
inlineoverridevirtual |
String identifying reaction rate specialization.
Implements ReactionRate.
Definition at line 54 of file CastelaVibrationalRelaxationRate.h.
|
overrideprotectedvirtual |
Store the model-specific coefficients in the rate-constant node.
Implements VibrationalRelaxationRate.
Definition at line 121 of file CastelaVibrationalRelaxationRate.cpp.
|
private |
Castela coefficient a.
Definition at line 61 of file CastelaVibrationalRelaxationRate.h.
|
private |
Castela coefficient b.
Definition at line 64 of file CastelaVibrationalRelaxationRate.h.
|
private |
Reference pressure.
Definition at line 67 of file CastelaVibrationalRelaxationRate.h.