12#include "cantera/kinetics/Falloff.h"
54 return new TroeRate(node, rate_units);
59 return new SriRate(node, rate_units);
68 reg(
"pressure-dependent-Arrhenius", [](
const AnyMap& node,
const UnitStack& rate_units) {
69 return new PlogRate(node, rate_units);
105 return shared_ptr<ReactionRate> (
112 std::string type =
"";
113 if (rate_node.
hasKey(
"type")) {
114 type = rate_node[
"type"].asString();
117 if (type ==
"falloff" || type ==
"chemically-activated") {
118 if (rate_node.
hasKey(
"Troe")) {
120 }
else if (rate_node.
hasKey(
"SRI")) {
122 }
else if (rate_node.
hasKey(
"Tsang")) {
130 throw InputFileError(
"ReactionRateFactory::newReactionRate", rate_node,
131 "Unknown reaction rate type '{}'", type);
134 return shared_ptr<ReactionRate> (
143 rate_node.
at(
"__units__"),
144 "Alternative units for 'length' or 'quantity` are not supported "
145 "when creating\na standalone 'ReactionRate' object.");
Header for reaction rates that occur at interfaces.
Base class for kinetics managers and also contains the kineticsmgr module documentation (see Kinetics...
Factory class for reaction rate objects.
Header file for class ThermoPhase, the base class for phases with thermodynamic properties,...
Header for plasma reaction rates parameterized by two temperatures (gas and electron).
A map of string keys to values whose type can vary at runtime.
const AnyValue & at(const std::string &key) const
Get the value of the item stored in key.
const UnitSystem & units() const
Return the default units that should be used to convert stored values.
bool hasKey(const std::string &key) const
Returns true if the map contains an item named key.
Arrhenius reaction rate type depends only on temperature.
Blowers Masel reaction rate type depends on the enthalpy of reaction.
Pressure-dependent rate expression where the rate coefficient is expressed as a bivariate Chebyshev p...
Custom reaction rate depending only on temperature.
void addAlias(const std::string &original, const std::string &alias)
Add an alias for an existing registered type.
void reg(const std::string &name, std::function< ReactionRate *(Args...)> f)
Register a new object construction function.
A class template for interface reaction rate specifications.
The Lindemann falloff parameterization.
Pressure-dependent reaction rate expressed by logarithmically interpolating between Arrhenius rate ex...
static ReactionRateFactory * s_factory
Pointer to the single instance of the factory.
ReactionRateFactory()
default constructor, which is defined as private
static std::mutex rate_mutex
Mutex for use when calling the factory.
static ReactionRateFactory * factory()
Return a pointer to the factory.
The SRI falloff function.
A class template for interface sticking rate specifications.
The 3- or 4-parameter Troe falloff parameterization.
The 1- or 2-parameter Tsang falloff parameterization.
Two temperature plasma reaction rate type depends on both gas temperature and electron temperature.
double convertTo(double value, const std::string &dest) const
Convert value to the specified dest units from the appropriate units for this unit system (defined by...
Namespace for the Cantera kernel.
shared_ptr< ReactionRate > newReactionRate(const std::string &type)
Create a new empty ReactionRate object.
Unit aggregation utility.