6 #ifndef CT_BLOWERSMASELRATE_H
7 #define CT_BLOWERSMASELRATE_H
23 void update(
double T)
override;
27 void resize(
size_t nSpecies,
size_t nReactions,
size_t nPhases)
override {
90 return make_unique<MultiRate<BlowersMaselRate, BlowersMaselData>>();
93 const string type()
const override {
94 return "Blowers-Masel";
100 double evalRate(
double logT,
double recipT)
const {
102 return m_A * std::exp(
m_b * logT - Ea_R * recipT);
107 if (shared_data.
ready) {
138 if (deltaH_R < -4 *
m_Ea_R) {
141 if (deltaH_R > 4 *
m_Ea_R) {
146 double vp_2w_dH = (vp - 2 *
m_E4_R + deltaH_R);
147 return (
m_E4_R + deltaH_R / 2) * (vp_2w_dH * vp_2w_dH) /
Header for reaction rates that involve Arrhenius-type kinetics.
A map of string keys to values whose type can vary at runtime.
Base class for Arrhenius-type Parameterizations.
double m_E4_R
Optional 4th energy parameter (in temperature units)
double m_A
Pre-exponential factor.
double m_b
Temperature exponent.
double m_Ea_R
Activation energy (in temperature units)
Blowers Masel reaction rate type depends on the enthalpy of reaction.
double evalFromStruct(const BlowersMaselData &shared_data) const
Evaluate reaction rate.
void setContext(const Reaction &rxn, const Kinetics &kin) override
Set context of reaction rate evaluation.
double evalRate(double logT, double recipT) const
Evaluate reaction rate.
double deltaH() const
Return current enthalpy change of reaction [J/kmol].
vector< pair< size_t, double > > m_stoich_coeffs
Pairs of species indices and multipliers to calculate enthalpy change.
double bondEnergy() const
Return the bond dissociation energy w [J/kmol].
BlowersMaselRate()
Default constructor.
double effectiveActivationEnergy_R(double deltaH_R) const
Return the effective activation energy (a function of the delta H of reaction) divided by the gas con...
double m_deltaH_R
enthalpy change of reaction (in temperature units)
double ddTScaledFromStruct(const BlowersMaselData &shared_data) const
Evaluate derivative of reaction rate with respect to temperature divided by reaction rate.
void updateFromStruct(const BlowersMaselData &shared_data)
Update information specific to reaction.
void setDeltaH(double deltaH)
Set current enthalpy change of reaction [J/kmol].
const string type() const override
String identifying reaction rate specialization.
unique_ptr< MultiRateBase > newMultiRate() const override
Create a rate evaluator for reactions of a particular derived type.
double activationEnergy() const override
Return the activation energy Ea [J/kmol] The value corresponds to the constant specified by input par...
Public interface for kinetics managers.
Abstract base class which stores data about a reaction and its rate parameterization so that it can b...
Base class for a phase with thermodynamic properties.
const double GasConstant
Universal Gas Constant [J/kmol/K].
Namespace for the Cantera kernel.
Data container holding shared data specific to BlowersMaselRate.
int m_state_mf_number
integer that is incremented when composition changes
vector< double > partialMolarEnthalpies
partial molar enthalpies
void resize(size_t nSpecies, size_t nReactions, size_t nPhases) override
Update number of species, reactions and phases.
bool ready
boolean indicating whether vectors are accessible
double density
used to determine if updates are needed
virtual void update(double T)
Update data container based on temperature T
Data container holding shared data used for ReactionRate calculation.
double recipT
inverse of temperature
virtual void update(double T)
Update data container based on temperature T
double logT
logarithm of temperature
Unit aggregation utility.