6#ifndef CT_BLOWERSMASELRATE_H
7#define CT_BLOWERSMASELRATE_H
23 virtual void update(
double T)
override;
27 virtual void resize(
size_t nSpecies,
size_t nReactions,
size_t nPhases)
override {
97 virtual const std::string
type()
const override {
98 return "Blowers-Masel";
104 double evalRate(
double logT,
double recipT)
const {
106 return m_A * std::exp(
m_b * logT - Ea_R * recipT);
111 if (shared_data.
ready) {
143 if (deltaH_R < -4 *
m_Ea_R) {
146 if (deltaH_R > 4 *
m_Ea_R) {
151 double vp_2w_dH = (vp - 2 *
m_E4_R + deltaH_R);
152 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.
virtual void setParameters(const AnyMap &node, const UnitStack &rate_units) override
Set parameters.
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.
virtual void setContext(const Reaction &rxn, const Kinetics &kin) override
Set context of reaction rate evaluation.
unique_ptr< MultiRateBase > newMultiRate() const override
Create a rate evaluator for reactions of a particular derived type.
double evalRate(double logT, double recipT) const
Evaluate reaction rate.
double deltaH() const
Return current enthalpy change of reaction [J/kmol].
double bondEnergy() const
Return the bond dissociation energy w [J/kmol].
BlowersMaselRate()
Default constructor.
virtual double activationEnergy() const override
Return the activation energy Ea [J/kmol] The value corresponds to the constant specified by input par...
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].
std::vector< std::pair< size_t, double > > m_stoich_coeffs
Pairs of species indices and multiplers to calculate enthalpy change.
virtual const std::string type() const override
String identifying reaction rate specialization.
Public interface for kinetics managers.
A class template handling ReactionRate specializations.
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.
Namespace for the Cantera kernel.
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
const double GasConstant
Universal Gas Constant [J/kmol/K].
Data container holding shared data specific to BlowersMaselRate.
int m_state_mf_number
integer that is incremented when composition changes
virtual void resize(size_t nSpecies, size_t nReactions, size_t nPhases) override
Update number of species, reactions and phases.
virtual void update(double T) override
Update data container based on temperature T
bool ready
boolean indicating whether vectors are accessible
double density
used to determine if updates are needed
vector_fp partialMolarEnthalpies
partial molar enthalpies
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.