86 const UnitSystem& units,
87 const UnitStack& rate_units);
93 const AnyMap& node,
const UnitStack& rate_units)
override;
98 virtual void check(
const std::string& equation,
const AnyMap& node)
override;
100 virtual void validate(
const std::string& equation,
const Kinetics& kin)
override;
132 const Units& rateUnits()
const {
143 if (rate_units.
size() > 1) {
200 virtual const std::string
type()
const override {
205 double evalRate(
double logT,
double recipT)
const {
210 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.
std::string m_Ea_str
The string for activation energy.
virtual void setParameters(const AnyMap &node, const UnitStack &rate_units) override
Set parameters.
virtual void check(const std::string &equation, const AnyMap &node) override
Check rate expression.
std::string m_E4_str
The string for an optional 4th parameter.
virtual double temperatureExponent() const
Return the temperature exponent b
Units m_rate_units
Reaction rate units.
std::string m_A_str
The string for temperature exponent.
double m_E4_R
Optional 4th energy parameter (in temperature units)
void getRateParameters(AnyMap &node) const
Return parameters.
virtual double activationEnergy() const
Return the activation energy Ea [J/kmol] The value corresponds to the constant specified by input par...
virtual void getParameters(AnyMap &node) const override
Get parameters.
double m_A
Pre-exponential factor.
virtual void validate(const std::string &equation, const Kinetics &kin) override
Validate the reaction rate expression.
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
Flag indicating whether negative A values are permitted.
ArrheniusBase(const AnyValue &rate, const UnitSystem &units, const UnitStack &rate_units)
Constructor based on AnyValue content.
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)
ArrheniusBase()
Default constructor.
double order() const
Return reaction order associated with the reaction rate.
void setRateUnits(const UnitStack &rate_units)
Set units of the reaction rate expression.
double m_logA
Logarithm of pre-exponential factor.
double m_Ea_R
Activation energy (in temperature units)
std::string m_b_str
The string for temperature exponent.
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.
double evalFromStruct(const ArrheniusData &shared_data) const
Evaluate reaction rate.
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 for reaction rate definitions; this base class is used by user-facing APIs to acc...
Base class for a phase with thermodynamic properties.
A representation of the units associated with a dimensional quantity.
double dimension(const std::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...
Namespace for the Cantera kernel.
const double GasConstant
Universal Gas Constant [J/kmol/K].
Data container holding shared data specific to ArrheniusRate.
virtual bool update(const ThermoPhase &phase, const Kinetics &kin)
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 standardUnits() const
Get standard unit used by UnitStack.
Units product() const
Calculate product of units-exponent stack.