Cantera 2.6.0
Public Member Functions | Public Attributes | List of all members
InterfaceReaction2 Class Reference

A reaction occurring on an interface (for example, a SurfPhase or an EdgePhase) More...

#include <Reaction.h>

Inheritance diagram for InterfaceReaction2:
[legend]
Collaboration diagram for InterfaceReaction2:
[legend]

Public Member Functions

 InterfaceReaction2 (const Composition &reactants, const Composition &products, const Arrhenius2 &rate, bool isStick=false)
 
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 (Kinetics &kin)
 Perform validation checks that need access to a complete Kinetics objects, for. More...
 
virtual std::string type () const
 The type of reaction. 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 ElementaryReaction2
 ElementaryReaction2 (const Composition &reactants, const Composition products, const Arrhenius2 &rate)
 
- 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)
 
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...
 
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< ReactionRaterate ()
 Get reaction rate pointer. More...
 
void setRate (shared_ptr< ReactionRate > rate)
 Set reaction rate pointer. More...
 
shared_ptr< ThirdBodythirdBody ()
 Get pointer to third-body. More...
 
bool usesLegacy () const
 Indicate whether object uses legacy framework. More...
 

Public Attributes

std::map< std::string, CoverageDependencycoverage_deps
 Adjustments to the Arrhenius rate expression dependent on surface species coverages. More...
 
bool is_sticking_coefficient
 Set to true if rate is a parameterization of the sticking coefficient rather than the forward rate constant. More...
 
bool use_motz_wise_correction
 Set to true if rate is a sticking coefficient which should be translated into a rate coefficient using the correction factor developed by Motz & Wise for reactions with high (near-unity) sticking coefficients. More...
 
std::string sticking_species
 For reactions with multiple non-surface species, the sticking species needs to be explicitly identified. More...
 
- Public Attributes inherited from ElementaryReaction2
Arrhenius2 rate
 
bool allow_negative_pre_exponential_factor
 
- 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...
 

Additional Inherited Members

- Protected Member Functions inherited from Reaction
virtual std::pair< std::vector< std::string >, bool > undeclaredThirdBodies (const Kinetics &kin) const
 
- Protected Attributes inherited from Reaction
bool m_valid
 Flag indicating whether reaction is set up correctly. More...
 
shared_ptr< ReactionRatem_rate
 Reaction rate used by generic reactions. More...
 
shared_ptr< ThirdBodym_third_body
 Relative efficiencies of third-body species in enhancing the reaction rate (if applicable) More...
 

Detailed Description

A reaction occurring on an interface (for example, a SurfPhase or an EdgePhase)

Definition at line 418 of file Reaction.h.

Constructor & Destructor Documentation

◆ InterfaceReaction2() [1/2]

Definition at line 882 of file Reaction.cpp.

◆ InterfaceReaction2() [2/2]

InterfaceReaction2 ( const Composition reactants,
const Composition products,
const Arrhenius2 rate,
bool  isStick = false 
)

Definition at line 889 of file Reaction.cpp.

Member Function Documentation

◆ calculateRateCoeffUnits()

void calculateRateCoeffUnits ( const Kinetics kin)
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.

Definition at line 900 of file Reaction.cpp.

References Reaction::calculateRateCoeffUnits(), AnyMap::hasKey(), Reaction::input, InterfaceReaction2::is_sticking_coefficient, and Reaction::rate_units.

◆ getParameters()

void getParameters ( AnyMap reactionNode) const
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 ElementaryReaction2.

Reimplemented in ElectrochemicalReaction2.

Definition at line 908 of file Reaction.cpp.

References InterfaceReaction2::coverage_deps, AnyMap::erase(), ElementaryReaction2::getParameters(), InterfaceReaction2::is_sticking_coefficient, InterfaceReaction2::sticking_species, and InterfaceReaction2::use_motz_wise_correction.

Referenced by ElectrochemicalReaction2::getParameters().

◆ validate() [1/3]

void validate ( Kinetics kin)
virtual

Perform validation checks that need access to a complete Kinetics objects, for.

Reimplemented from Reaction.

Definition at line 934 of file Reaction.cpp.

References InterfaceReaction2::is_sticking_coefficient.

◆ type()

virtual std::string type ( ) const
inlinevirtual

The type of reaction.

Reimplemented from ElementaryReaction2.

Definition at line 430 of file Reaction.h.

◆ validate() [2/3]

void validate ( )
virtual

Ensure that the rate constant and other parameters for this reaction are valid.

Reimplemented from ElementaryReaction2.

Definition at line 78 of file Reaction.cpp.

◆ validate() [3/3]

virtual void validate ( Kinetics kin)
inlinevirtual

Perform validation checks that need access to a complete Kinetics objects, for.

Reimplemented from ElementaryReaction2.

Definition at line 82 of file Reaction.h.

Member Data Documentation

◆ coverage_deps

std::map<std::string, CoverageDependency> coverage_deps

Adjustments to the Arrhenius rate expression dependent on surface species coverages.

Three coverage parameters (a, E, m) are used for each species on which the rate depends. See SurfaceArrhenius for details on the parameterization.

Definition at line 438 of file Reaction.h.

Referenced by InterfaceKinetics::addReaction(), InterfaceKinetics::buildSurfaceArrhenius(), and InterfaceReaction2::getParameters().

◆ is_sticking_coefficient

bool is_sticking_coefficient

Set to true if rate is a parameterization of the sticking coefficient rather than the forward rate constant.

Definition at line 442 of file Reaction.h.

Referenced by InterfaceKinetics::buildSurfaceArrhenius(), InterfaceReaction2::calculateRateCoeffUnits(), InterfaceReaction2::getParameters(), and InterfaceReaction2::validate().

◆ use_motz_wise_correction

bool use_motz_wise_correction

Set to true if rate is a sticking coefficient which should be translated into a rate coefficient using the correction factor developed by Motz & Wise for reactions with high (near-unity) sticking coefficients.

Defaults to 'false'.

Definition at line 448 of file Reaction.h.

Referenced by InterfaceKinetics::buildSurfaceArrhenius(), and InterfaceReaction2::getParameters().

◆ sticking_species

std::string sticking_species

For reactions with multiple non-surface species, the sticking species needs to be explicitly identified.

Definition at line 452 of file Reaction.h.

Referenced by InterfaceKinetics::buildSurfaceArrhenius(), and InterfaceReaction2::getParameters().


The documentation for this class was generated from the following files: