75 const UnitSystem& units,
76 const UnitStack& rate_units);
82 void setParameters(
const AnyMap& node,
const UnitStack& rate_units)
override;
87 void check(
const string& equation)
override;
89 void validate(
const string& equation,
const Kinetics& kin)
override;
128 if (rate_units.
size() > 1) {
175 return make_unique<MultiRate<ArrheniusRate, ArrheniusData>>();
178 const string type()
const override {
183 double evalRate(
double logT,
double recipT)
const {
188 double evalLog(
double logT,
double recipT)
const {
Header for unit conversion utilities, which are used to translate user input from input files (See In...
A map of string keys to values whose type can vary at runtime.
A wrapper for a variable whose type is determined at runtime.
Base class for Arrhenius-type Parameterizations.
void setAllowNegativePreExponentialFactor(bool value)
Set flag indicating whether negative A values are permitted.
void setParameters(const AnyMap &node, const UnitStack &rate_units) override
Set parameters.
string m_b_str
The string for temperature exponent.
virtual double temperatureExponent() const
Return the temperature exponent b
string m_E4_str
The string for an optional 4th parameter.
double m_E4_R
Optional 4th energy parameter (in temperature units)
void getRateParameters(AnyMap &node) const
Get Arrhenius parameters used to populate the rate-coefficient or equivalent field.
void validate(const string &equation, const Kinetics &kin) override
Validate the reaction rate expression.
virtual double activationEnergy() const
Return the activation energy Ea [J/kmol] The value corresponds to the constant specified by input par...
string m_Ea_str
The string for activation energy.
void getParameters(AnyMap &node) const override
Get parameters.
double m_A
Pre-exponential factor.
void setRateParameters(const AnyValue &rate, const UnitSystem &units, const UnitStack &rate_units)
Perform object setup based on AnyValue node information.
double m_order
Reaction order.
bool allowNegativePreExponentialFactor() const
Get flag indicating whether negative A values are permitted.
bool m_negativeA_ok
Permissible negative A values.
string m_A_str
The string for the pre-exponential factor.
double m_b
Temperature exponent.
virtual double preExponentialFactor() const
Return the pre-exponential factor A (in m, kmol, s to powers depending on the reaction order)
void check(const string &equation) override
Check rate expression.
void setRateUnits(const UnitStack &rate_units) override
Set units of the reaction rate expression.
ArrheniusBase()
Default constructor.
double order() const
Return reaction order associated with the reaction rate.
double m_logA
Logarithm of pre-exponential factor.
double m_Ea_R
Activation energy (in temperature units)
Arrhenius reaction rate type depends only on temperature.
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 evalLog(double logT, double recipT) const
Evaluate natural logarithm of the rate constant.
double ddTScaledFromStruct(const ArrheniusData &shared_data) const
Evaluate derivative of reaction rate with respect to temperature divided by reaction rate.
const string type() const override
String identifying reaction rate specialization.
double evalFromStruct(const ArrheniusData &shared_data) const
Evaluate reaction rate.
Public interface for kinetics managers.
Abstract base class for reaction rate definitions; this base class is used by user-facing APIs to acc...
virtual void setRateUnits(const UnitStack &rate_units)
Set the units of the reaction rate expression.
Base class for a phase with thermodynamic properties.
double dimension(const string &primary) const
Return dimension of primary unit component ("mass", "length", "time", "temperature",...
This file contains definitions of constants, types and terms that are used in internal routines and a...
const double GasConstant
Universal Gas Constant [J/kmol/K].
Namespace for the Cantera kernel.
Data container holding shared data specific to ArrheniusRate.
bool update(const ThermoPhase &phase, const Kinetics &kin) override
Update data container based on thermodynamic phase state.
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.
size_t size() const
Size of UnitStack.
Units product() const
Calculate product of units-exponent stack.