Cantera 2.6.0
|
A reaction that is first-order in [M] at low pressure, like a third-body reaction, but zeroth-order in [M] as pressure increases. More...
#include <Reaction.h>
Public Member Functions | |
FalloffReaction2 (const Composition &reactants, const Composition &products, const Arrhenius2 &low_rate, const Arrhenius2 &high_rate, const ThirdBody &tbody) | |
virtual std::string | type () const |
The type of reaction. More... | |
virtual std::string | reactantString () const |
The reactant side of the chemical equation for this reaction. More... | |
virtual std::string | productString () const |
The product side of the chemical equation for this reaction. More... | |
virtual void | validate () |
Ensure that the rate constant and other parameters for this reaction are valid. More... | |
virtual void | calculateRateCoeffUnits (const Kinetics &kin) |
Calculate the units of the rate constant. More... | |
virtual void | getParameters (AnyMap &reactionNode) const |
Store the parameters of a Reaction needed to reconstruct an identical object using the newReaction(AnyMap&, Kinetics&) function. More... | |
virtual void | validate () |
Ensure that the rate constant and other parameters for this reaction are valid. More... | |
virtual void | validate (Kinetics &kin) |
Perform validation checks that need access to a complete Kinetics objects, for. More... | |
Public Member Functions inherited from Reaction | |
Reaction (const Composition &reactants, const Composition &products, shared_ptr< ReactionRate > rate={}) | |
Reaction (const AnyMap &node, const Kinetics &kin) | |
Construct a Reaction and it's corresponding ReactionRate based on AnyMap (YAML) input. More... | |
Reaction (int type) | |
Reaction (int type, const Composition &reactants, const Composition &products) | |
std::string | equation () const |
The chemical equation for this reaction. More... | |
virtual void | setEquation (const std::string &equation, const Kinetics *kin=0) |
Set the reactants and products based on the reaction equation. More... | |
UnitStack | calculateRateCoeffUnits3 (const Kinetics &kin) |
Calculate the units of the rate constant. More... | |
AnyMap | parameters (bool withInput=true) const |
Return the parameters such that an identical Reaction could be reconstructed using the newReaction() function. More... | |
virtual void | setParameters (const AnyMap &node, const Kinetics &kin) |
Set up reaction based on AnyMap node More... | |
bool | valid () const |
Get validity flag of reaction. More... | |
void | setValid (bool valid) |
Set validity flag of reaction. More... | |
void | checkBalance (const Kinetics &kin) const |
Check that the specified reaction is balanced (same number of atoms for each element in the reactants and products). More... | |
bool | checkSpecies (const Kinetics &kin) const |
Verify that all species involved in the reaction are defined in the Kinetics object. More... | |
bool | usesElectrochemistry (const Kinetics &kin) const |
Check whether reaction uses electrochemistry. More... | |
shared_ptr< ReactionRate > | rate () |
Get reaction rate pointer. More... | |
void | setRate (shared_ptr< ReactionRate > rate) |
Set reaction rate pointer. More... | |
shared_ptr< ThirdBody > | thirdBody () |
Get pointer to third-body. More... | |
bool | usesLegacy () const |
Indicate whether object uses legacy framework. More... | |
Public Attributes | |
Arrhenius2 | low_rate |
The rate constant in the low-pressure limit. More... | |
Arrhenius2 | high_rate |
The rate constant in the high-pressure limit. More... | |
ThirdBody | third_body |
Relative efficiencies of third-body species in enhancing the reaction rate. More... | |
shared_ptr< FalloffRate > | falloff |
Falloff function which determines how low_rate and high_rate are combined to determine the rate constant for the reaction. More... | |
bool | allow_negative_pre_exponential_factor |
Units | low_rate_units |
The units of the low-pressure rate constant. More... | |
Public Attributes inherited from Reaction | |
int | reaction_type |
Type of the reaction. More... | |
Composition | reactants |
Reactant species and stoichiometric coefficients. More... | |
Composition | products |
Product species and stoichiometric coefficients. More... | |
Composition | orders |
Forward reaction order with respect to specific species. More... | |
std::string | id |
An identification string for the reaction, used in some filtering operations. More... | |
bool | reversible |
True if the current reaction is reversible. False otherwise. More... | |
bool | duplicate |
True if the current reaction is marked as duplicate. More... | |
bool | allow_nonreactant_orders |
True if reaction orders can be specified for non-reactant species. More... | |
bool | allow_negative_orders |
True if negative reaction orders are allowed. Default is false . More... | |
AnyMap | input |
Input data used for specific models. More... | |
Units | rate_units |
The units of the rate constant. More... | |
Protected Member Functions | |
virtual std::pair< std::vector< std::string >, bool > | undeclaredThirdBodies (const Kinetics &kin) const |
Additional Inherited Members | |
Protected Attributes inherited from Reaction | |
bool | m_valid |
Flag indicating whether reaction is set up correctly. More... | |
shared_ptr< ReactionRate > | m_rate |
Reaction rate used by generic reactions. More... | |
shared_ptr< ThirdBody > | m_third_body |
Relative efficiencies of third-body species in enhancing the reaction rate (if applicable) More... | |
A reaction that is first-order in [M] at low pressure, like a third-body reaction, but zeroth-order in [M] as pressure increases.
Definition at line 296 of file Reaction.h.
FalloffReaction2 | ( | ) |
Definition at line 714 of file Reaction.cpp.
FalloffReaction2 | ( | const Composition & | reactants, |
const Composition & | products, | ||
const Arrhenius2 & | low_rate, | ||
const Arrhenius2 & | high_rate, | ||
const ThirdBody & | tbody | ||
) |
Definition at line 723 of file Reaction.cpp.
|
inlinevirtual |
The type of reaction.
Reimplemented from Reaction.
Reimplemented in ChemicallyActivatedReaction2.
Definition at line 304 of file Reaction.h.
Referenced by GasKinetics::addFalloffReaction().
|
virtual |
The reactant side of the chemical equation for this reaction.
Reimplemented from Reaction.
Definition at line 738 of file Reaction.cpp.
References ThirdBody::default_efficiency, ThirdBody::efficiencies, Reaction::reactantString(), and FalloffReaction2::third_body.
|
virtual |
The product side of the chemical equation for this reaction.
Reimplemented from Reaction.
Definition at line 749 of file Reaction.cpp.
References ThirdBody::default_efficiency, ThirdBody::efficiencies, Reaction::productString(), and FalloffReaction2::third_body.
|
virtual |
Ensure that the rate constant and other parameters for this reaction are valid.
Reimplemented from Reaction.
Definition at line 760 of file Reaction.cpp.
References Reaction::equation(), FalloffReaction2::high_rate, Reaction::input, FalloffReaction2::low_rate, ArrheniusBase::preExponentialFactor(), and Reaction::validate().
|
virtual |
Calculate the units of the rate constant.
These are determined by the units of the standard concentration of the reactant species' phases and the phase where the reaction occurs. Sets the value of rate_units.
Reimplemented from Reaction.
Reimplemented in ChemicallyActivatedReaction2.
Definition at line 776 of file Reaction.cpp.
References Reaction::calculateRateCoeffUnits(), FalloffReaction2::low_rate_units, Units::pow(), Reaction::rate_units, Kinetics::reactionPhaseIndex(), ThermoPhase::standardConcentrationUnits(), and Kinetics::thermo().
|
virtual |
Store the parameters of a Reaction needed to reconstruct an identical object using the newReaction(AnyMap&, Kinetics&) function.
Does not include user-defined fields available in the input map.
Reimplemented from Reaction.
Reimplemented in ChemicallyActivatedReaction2.
Definition at line 784 of file Reaction.cpp.
References ThirdBody::default_efficiency, ThirdBody::efficiencies, FalloffReaction2::falloff, Arrhenius2::getParameters(), Reaction::getParameters(), FalloffReaction2::high_rate, FalloffReaction2::low_rate, FalloffReaction2::low_rate_units, Reaction::rate_units, AnyMap::setFlowStyle(), and FalloffReaction2::third_body.
Referenced by ChemicallyActivatedReaction2::getParameters().
|
protectedvirtual |
Helper function returning vector of undeclared third body species and a boolean expression indicating whether the third body is specified. The function is used by the checkSpecies method and only needed as long as there is no unified approach to handle third body collision partners.
kin | Kinetics object |
Reimplemented from Reaction.
Definition at line 803 of file Reaction.cpp.
References ThirdBody::efficiencies, and FalloffReaction2::third_body.
|
virtual |
Ensure that the rate constant and other parameters for this reaction are valid.
Reimplemented from Reaction.
Definition at line 78 of file Reaction.cpp.
|
inlinevirtual |
Perform validation checks that need access to a complete Kinetics objects, for.
Reimplemented from Reaction.
Definition at line 82 of file Reaction.h.
Arrhenius2 low_rate |
The rate constant in the low-pressure limit.
Definition at line 317 of file Reaction.h.
Referenced by GasKinetics::addFalloffReaction(), FalloffReaction2::getParameters(), GasKinetics::modifyFalloffReaction(), and FalloffReaction2::validate().
Arrhenius2 high_rate |
The rate constant in the high-pressure limit.
Definition at line 320 of file Reaction.h.
Referenced by GasKinetics::addFalloffReaction(), FalloffReaction2::getParameters(), GasKinetics::modifyFalloffReaction(), and FalloffReaction2::validate().
ThirdBody third_body |
Relative efficiencies of third-body species in enhancing the reaction rate.
Definition at line 323 of file Reaction.h.
Referenced by GasKinetics::addFalloffReaction(), FalloffReaction2::getParameters(), FalloffReaction2::productString(), FalloffReaction2::reactantString(), and FalloffReaction2::undeclaredThirdBodies().
shared_ptr<FalloffRate> falloff |
Falloff function which determines how low_rate and high_rate are combined to determine the rate constant for the reaction.
Definition at line 327 of file Reaction.h.
Referenced by GasKinetics::addFalloffReaction(), FalloffReaction2::getParameters(), and GasKinetics::modifyFalloffReaction().
bool allow_negative_pre_exponential_factor |
Definition at line 329 of file Reaction.h.
Units low_rate_units |
The units of the low-pressure rate constant.
The units of the high-pressure rate constant are stored in rate_units.
Definition at line 333 of file Reaction.h.
Referenced by FalloffReaction2::calculateRateCoeffUnits(), ChemicallyActivatedReaction2::calculateRateCoeffUnits(), and FalloffReaction2::getParameters().