Cantera  3.1.0b1
Loading...
Searching...
No Matches
ReactionData Struct Referenceabstract

Data container holding shared data used for ReactionRate calculation. More...

#include <ReactionData.h>

Inheritance diagram for ReactionData:
[legend]

Detailed Description

Data container holding shared data used for ReactionRate calculation.

The base class defines variables and methods used by all specializations.

Definition at line 26 of file ReactionData.h.

Public Member Functions

virtual void update (double T)
 Update data container based on temperature T
 
virtual void update (double T, double extra)
 Update data container based on temperature T and an extra parameter.
 
virtual void update (double T, const vector< double > &extra)
 Update data container based on temperature T and a vector parameter extra
 
virtual bool update (const ThermoPhase &phase, const Kinetics &kin)=0
 Update data container based on thermodynamic phase state.
 
void perturbTemperature (double deltaT)
 Perturb temperature of data container.
 
virtual void restore ()
 Restore data container after a perturbation.
 
virtual void resize (size_t nSpecies, size_t nReactions, size_t nPhases)
 Update number of species, reactions and phases.
 
virtual void invalidateCache ()
 Force shared data and reaction rates to be updated next time.
 

Public Attributes

double temperature = 1.0
 temperature
 
double logT = 0.0
 logarithm of temperature
 
double recipT = 1.0
 inverse of temperature
 

Protected Attributes

double m_temperature_buf = -1.0
 buffered temperature
 

Member Function Documentation

◆ update() [1/4]

virtual void update ( double  T)
inlinevirtual

Update data container based on temperature T

Only used in conjunction with MultiRateBase::evalSingle / ReactionRate::eval. This method allows for testing of a reaction rate expression outside of Kinetics reaction rate evaluators.

Reimplemented in ArrheniusData, BlowersMaselData, ChebyshevData, ElectronCollisionPlasmaData, FalloffData, InterfaceData, LinearBurkeData, PlogData, ReactionDataDelegator, TwoTempPlasmaData, BlowersMaselData, ChebyshevData, FalloffData, InterfaceData, InterfaceData, PlogData, ReactionDataDelegator, and TwoTempPlasmaData.

Definition at line 38 of file ReactionData.h.

◆ update() [2/4]

virtual void update ( double  T,
double  extra 
)
inlinevirtual

Update data container based on temperature T and an extra parameter.

Only used in conjunction with MultiRateBase::evalSingle / ReactionRate::eval. This method allows for testing of a reaction rate expression outside of Kinetics reaction rate evaluators.

Reimplemented in ArrheniusData, BlowersMaselData, ChebyshevData, ElectronCollisionPlasmaData, FalloffData, InterfaceData, LinearBurkeData, PlogData, ReactionDataDelegator, TwoTempPlasmaData, FalloffData, ChebyshevData, LinearBurkeData, PlogData, and TwoTempPlasmaData.

Definition at line 50 of file ReactionData.h.

◆ update() [3/4]

virtual void update ( double  T,
const vector< double > &  extra 
)
inlinevirtual

Update data container based on temperature T and a vector parameter extra

Only used in conjunction with MultiRateBase::evalSingle / ReactionRate::eval. This method allows for testing of a reaction rate expression outside of Kinetics reaction rate evaluators.

Warning
This method is an experimental part of the Cantera API and may be changed or removed without notice.

Reimplemented in ArrheniusData, BlowersMaselData, ChebyshevData, ElectronCollisionPlasmaData, FalloffData, InterfaceData, LinearBurkeData, PlogData, ReactionDataDelegator, TwoTempPlasmaData, and InterfaceData.

Definition at line 64 of file ReactionData.h.

◆ update() [4/4]

virtual bool update ( const ThermoPhase phase,
const Kinetics kin 
)
pure virtual

Update data container based on thermodynamic phase state.

This update mechanism is used by Kinetics reaction rate evaluators.

Returns
A boolean element indicating whether the evalFromStruct method needs to be called (assuming previously-calculated values were cached)

Implemented in InterfaceData, ArrheniusData, BlowersMaselData, ChebyshevData, ElectronCollisionPlasmaData, FalloffData, InterfaceData, LinearBurkeData, PlogData, ReactionDataDelegator, TwoTempPlasmaData, ArrheniusData, BlowersMaselData, ChebyshevData, ElectronCollisionPlasmaData, FalloffData, InterfaceData, LinearBurkeData, PlogData, ReactionDataDelegator, and TwoTempPlasmaData.

◆ perturbTemperature()

void perturbTemperature ( double  deltaT)
inline

Perturb temperature of data container.

The method is used for the evaluation of numerical derivatives.

Parameters
deltaTrelative temperature perturbation

Definition at line 82 of file ReactionData.h.

◆ restore()

virtual void restore ( )
inlinevirtual

Restore data container after a perturbation.

Reimplemented in ChebyshevData, FalloffData, LinearBurkeData, and PlogData.

Definition at line 92 of file ReactionData.h.

◆ resize()

virtual void resize ( size_t  nSpecies,
size_t  nReactions,
size_t  nPhases 
)
inlinevirtual

Update number of species, reactions and phases.

Reimplemented in BlowersMaselData, FalloffData, InterfaceData, and LinearBurkeData.

Definition at line 102 of file ReactionData.h.

◆ invalidateCache()

virtual void invalidateCache ( )
inlinevirtual

Force shared data and reaction rates to be updated next time.

This is called by functions that change quantities affecting rate calculations that are normally assumed to be constant, like the reaction rate parameters or the number of reactions.

Reimplemented in ChebyshevData, ElectronCollisionPlasmaData, FalloffData, LinearBurkeData, PlogData, and TwoTempPlasmaData.

Definition at line 108 of file ReactionData.h.

Member Data Documentation

◆ temperature

double temperature = 1.0

temperature

Definition at line 112 of file ReactionData.h.

◆ logT

double logT = 0.0

logarithm of temperature

Definition at line 113 of file ReactionData.h.

◆ recipT

double recipT = 1.0

inverse of temperature

Definition at line 114 of file ReactionData.h.

◆ m_temperature_buf

double m_temperature_buf = -1.0
protected

buffered temperature

Definition at line 117 of file ReactionData.h.


The documentation for this struct was generated from the following file: