Cantera 2.6.0

Public Member Functions | Public Attributes | Protected Member Functions | List of all members
ThreeBodyReaction2 Class Reference

A reaction with a non-reacting third body "M" that acts to add or remove energy from the reacting species. More...

`#include <Reaction.h>`

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

## Public Member Functions
| ThreeBodyReaction2 (const Composition &reactants, const Composition &products, const Arrhenius2 &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 | 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...
Public Member Functions inherited from ElementaryReaction2
| ElementaryReaction2 (const Composition &reactants, const Composition products, const Arrhenius2 &rate)
virtual void | validate ()
| Ensure that the rate constant and other parameters for this reaction are valid. 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 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 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...
virtual std::string | type () const
| The type of reaction. More...
virtual void | calculateRateCoeffUnits (const Kinetics &kin)
| Calculate the units of the rate constant. More...
UnitStack | calculateRateCoeffUnits3 (const Kinetics &kin)
| Calculate the units of the rate constant. 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...
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
ThirdBody | third_body
| Relative efficiencies of third-body species in enhancing the reaction rate. 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...

## Protected Member Functions
virtual std::pair< std::vector< std::string >, bool > | undeclaredThirdBodies (const Kinetics &kin) const
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 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...

## Detailed Description

A reaction with a non-reacting third body "M" that acts to add or remove energy from the reacting species.

Definition at line 268 of file Reaction.h.

## Constructor & Destructor Documentation

## ◆ ThreeBodyReaction2() [1/2]

ThreeBodyReaction2 | ( |  | ) |

Definition at line 637 of file Reaction.cpp.

## ◆ ThreeBodyReaction2() [2/2]

ThreeBodyReaction2 | ( | const Composition & | reactants,
|  | const Composition & | products,
|  | const Arrhenius2 & | rate,
|  | const ThirdBody & | tbody
| ) |  |

Definition at line 642 of file Reaction.cpp.

## Member Function Documentation

## ◆ type()

virtual std::string type | ( |  | ) | const
| inline virtual

The type of reaction.

Reimplemented from ElementaryReaction2.

Definition at line 275 of file Reaction.h.

## ◆ reactantString()

std::string reactantString | ( |  | ) | const
| virtual

The reactant side of the chemical equation for this reaction.

Reimplemented from Reaction.

Definition at line 652 of file Reaction.cpp.

References ThirdBody::efficiencies, Reaction::reactantString(), ThirdBody::specified_collision_partner, and ThreeBodyReaction2::third_body.

## ◆ productString()

std::string productString | ( |  | ) | const
| virtual

The product side of the chemical equation for this reaction.

Reimplemented from Reaction.

Definition at line 662 of file Reaction.cpp.

References ThirdBody::efficiencies, Reaction::productString(), ThirdBody::specified_collision_partner, and ThreeBodyReaction2::third_body.

## ◆ 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 672 of file Reaction.cpp.

References Reaction::calculateRateCoeffUnits(), Units::pow(), Reaction::products, Reaction::rate_units, Reaction::reactants, Kinetics::reactionPhaseIndex(), ThermoPhase::standardConcentrationUnits(), and Kinetics::thermo().

## ◆ 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.

Definition at line 693 of file Reaction.cpp.

References ThirdBody::default_efficiency, ThirdBody::efficiencies, ElementaryReaction2::getParameters(), AnyMap::setFlowStyle(), ThirdBody::specified_collision_partner, and ThreeBodyReaction2::third_body.

## ◆ undeclaredThirdBodies()

std::pair< std::vector< std::string >, bool > undeclaredThirdBodies | ( | const Kinetics & | kin | ) | const
| protected virtual

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.

Parameters

  kin | Kinetics object

Reimplemented from Reaction.

Definition at line 706 of file Reaction.cpp.

References ThirdBody::efficiencies, ThirdBody::specified_collision_partner, and ThreeBodyReaction2::third_body.

## Member Data Documentation

## ◆ third_body

ThirdBody third_body

Relative efficiencies of third-body species in enhancing the reaction rate.

Definition at line 286 of file Reaction.h.

Referenced by GasKinetics::addThreeBodyReaction(), ThreeBodyReaction2::getParameters(), ThreeBodyReaction2::productString(), ThreeBodyReaction2::reactantString(), and ThreeBodyReaction2::undeclaredThirdBodies().

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

- Reaction.h
- Reaction.cpp