31 shared_ptr<ReactionRate>
rate, shared_ptr<ThirdBody> tbody=
nullptr);
33 shared_ptr<ReactionRate>
rate, shared_ptr<ThirdBody> tbody=
nullptr);
67 "Deprecated in Cantera 3.0 and to be removed thereafter; replaceable "
68 "by calculateRateCoeffUnits.");
80 "Deprecated in Cantera 3.0 and to be removed thereafter; replaceable "
81 "by Reaction::check.");
168 shared_ptr<ReactionRate>
rate() {
230 void setName(
const string& third_body);
317unique_ptr<Reaction>
newReaction(
const string& type);
Header for unit conversion utilities, which are used to translate user input from input files (See In...
Base class defining common data possessed by both AnyMap and AnyValue objects.
A map of string keys to values whose type can vary at runtime.
A wrapper for a variable whose type is determined at runtime.
Arrhenius reaction rate type depends only on temperature.
Base class for falloff rate calculators.
A falloff reaction that is first-order in [M] at low pressure, like a third-body reaction,...
Public interface for kinetics managers.
Abstract base class which stores data about a reaction and its rate parameterization so that it can b...
void setParameters(const AnyMap &node, const Kinetics &kin)
Set up reaction based on AnyMap node
UnitStack calculateRateCoeffUnits(const Kinetics &kin)
Calculate the units of the rate constant.
bool m_from_composition
Flag indicating that object was instantiated from reactant/product compositions.
void checkBalance(const Kinetics &kin) const
Check that the specified reaction is balanced (same number of atoms for each element in the reactants...
Units rate_units
The units of the rate constant.
bool valid() const
Get validity flag of reaction.
shared_ptr< ReactionRate > rate()
Get reaction rate pointer.
Composition orders
Forward reaction order with respect to specific species.
void validate()
Ensure that the rate constant and other parameters for this reaction are valid.
bool checkSpecies(const Kinetics &kin) const
Verify that all species involved in the reaction are defined in the Kinetics object.
void setRate(shared_ptr< ReactionRate > rate)
Set reaction rate pointer.
shared_ptr< ThirdBody > m_third_body
Relative efficiencies of third-body species in enhancing the reaction rate (if applicable)
AnyMap parameters(bool withInput=true) const
Return the parameters such that an identical Reaction could be reconstructed using the newReaction() ...
bool m_explicit_type
Flag indicating that serialization uses explicit type.
bool usesThirdBody() const
Check whether reaction involves third body collider.
string reactantString() const
The reactant side of the chemical equation for this reaction.
string productString() const
The product side of the chemical equation for this reaction.
shared_ptr< ThirdBody > thirdBody()
Get pointer to third-body handler.
void check()
Ensure that the rate constant and other parameters for this reaction are valid.
bool m_valid
Flag indicating whether reaction is set up correctly.
bool reversible
True if the current reaction is reversible. False otherwise.
bool allow_nonreactant_orders
True if reaction orders can be specified for non-reactant species.
shared_ptr< ReactionRate > m_rate
Reaction rate used by generic reactions.
string type() const
The type of reaction, including reaction rate information.
string equation() const
The chemical equation for this reaction.
void setEquation(const string &equation, const Kinetics *kin=0)
Set the reactants and products based on the reaction equation.
bool usesElectrochemistry(const Kinetics &kin) const
Check whether reaction uses electrochemistry.
void getParameters(AnyMap &reactionNode) const
Store the parameters of a Reaction needed to reconstruct an identical object using the newReaction(An...
bool allow_negative_orders
True if negative reaction orders are allowed. Default is false.
Composition products
Product species and stoichiometric coefficients.
Composition reactants
Reactant species and stoichiometric coefficients.
string id
An identification string for the reaction, used in some filtering operations.
void validate(Kinetics &kin)
Perform validation checks that need access to a complete Kinetics objects, for.
AnyMap input
Input data used for specific models.
bool duplicate
True if the current reaction is marked as duplicate.
UnitStack calculateRateCoeffUnits3(const Kinetics &kin)
Calculate the units of the rate constant.
void setValid(bool valid)
Set validity flag of reaction.
A class for managing third-body efficiencies, including default values.
bool explicit_3rd
Flag indicating whether third body requires explicit serialization.
void setParameters(const AnyMap &node)
Set third-body efficiencies from AnyMap node
void setEfficiencies(const AnyMap &node)
Set third-body efficiencies from AnyMap node
double efficiency(const string &k) const
Get the third-body efficiency for species k
double default_efficiency
The default third body efficiency for species not listed in efficiencies.
Composition efficiencies
Map of species to third body efficiency.
string collider() const
Suffix representing the third body collider in reaction equation, for example + M or (+M)
bool mass_action
Third body is used by law of mass action (true for three-body reactions, false for falloff reactions)
string m_name
Name of the third body collider.
void getParameters(AnyMap &node) const
Get third-body efficiencies from AnyMap node
void setName(const string &third_body)
Set name of the third body collider.
bool checkSpecies(const Reaction &rxn, const Kinetics &kin) const
Verify that all species involved in collision efficiencies are defined in the Kinetics object.
string name() const
Name of the third body collider.
A reaction with a non-reacting third body "M" that acts to add or remove energy from the reacting spe...
A representation of the units associated with a dimensional quantity.
Namespace for the Cantera kernel.
void parseReactionEquation(Reaction &R, const string &equation, const AnyBase &reactionNode, const Kinetics *kin)
Parse reaction equation.
vector< shared_ptr< Reaction > > getReactions(const AnyValue &items, Kinetics &kinetics)
Create Reaction objects for each item (an AnyMap) in items.
void warn_deprecated(const string &source, const AnyBase &node, const string &message)
A deprecation warning for syntax in an input file.
map< string, double > Composition
Map from string names to doubles.
unique_ptr< Reaction > newReaction(const string &type)
Create a new empty Reaction object.
Unit aggregation utility.