Cantera
Loading...
Searching...
No Matches
CastelaVibrationalRelaxationRate Class Referencefinal

Castela vibrational relaxation rate implementation. More...

#include <CastelaVibrationalRelaxationRate.h>

Inheritance diagram for CastelaVibrationalRelaxationRate:
[legend]

Detailed Description

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< MultiRateBasenewMultiRate () 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 UnitsconversionUnits () 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.

Constructor & Destructor Documentation

◆ CastelaVibrationalRelaxationRate() [1/2]

CastelaVibrationalRelaxationRate ( double a,
double b,
double referencePressure = OneAtm )

Definition at line 27 of file CastelaVibrationalRelaxationRate.cpp.

◆ CastelaVibrationalRelaxationRate() [2/2]

CastelaVibrationalRelaxationRate ( const AnyMap & node,
const UnitStack & rate_units = {} )
explicit

Definition at line 20 of file CastelaVibrationalRelaxationRate.cpp.

Member Function Documentation

◆ setParameters()

void setParameters ( const AnyMap & node,
const UnitStack & units )
overridevirtual

Set parameters.

Parameters
nodeAnyMap object containing reaction rate specification
unitsunit definitions specific to rate information

Reimplemented from ReactionRate.

Definition at line 52 of file CastelaVibrationalRelaxationRate.cpp.

◆ newMultiRate()

unique_ptr< MultiRateBase > newMultiRate ( ) const
inlineoverridevirtual

Create a rate evaluator for reactions of a particular derived type.

Derived classes usually implement this as:

unique_ptr<MultiRateBase> newMultiRate() const override {
return make_unique<MultiRate<RateType, DataType>>();
unique_ptr< MultiRateBase > newMultiRate() const override
Create a rate evaluator for reactions of a particular derived type.

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.

◆ type()

const string type ( ) const
inlineoverridevirtual

String identifying reaction rate specialization.

Implements ReactionRate.

Definition at line 54 of file CastelaVibrationalRelaxationRate.h.

◆ getRateParameters()

void getRateParameters ( AnyMap & rateNode) const
overrideprotectedvirtual

Store the model-specific coefficients in the rate-constant node.

Implements VibrationalRelaxationRate.

Definition at line 121 of file CastelaVibrationalRelaxationRate.cpp.

Member Data Documentation

◆ m_castela_a

double m_castela_a = 0.0
private

Castela coefficient a.

Definition at line 61 of file CastelaVibrationalRelaxationRate.h.

◆ m_castela_b

double m_castela_b = 0.0
private

Castela coefficient b.

Definition at line 64 of file CastelaVibrationalRelaxationRate.h.

◆ m_referencePressure

double m_referencePressure = OneAtm
private

Reference pressure.

Definition at line 67 of file CastelaVibrationalRelaxationRate.h.


The documentation for this class was generated from the following files: