Cantera 2.6.0
Public Member Functions | Protected Member Functions | List of all members
StickingRate< RateType, DataType > Class Template Reference

A class template for interface sticking rate specifications. More...

#include <InterfaceRate.h>

Inheritance diagram for StickingRate< RateType, DataType >:
[legend]
Collaboration diagram for StickingRate< RateType, DataType >:
[legend]

Public Member Functions

 StickingRate (const AnyMap &node, const UnitStack &rate_units)
 Constructor based on AnyMap content. More...
 
 StickingRate (const AnyMap &node)
 
unique_ptr< MultiRateBasenewMultiRate () const override
 
virtual const std::string type () const override
 Identifier of reaction rate type. More...
 
virtual void setParameters (const AnyMap &node, const UnitStack &rate_units) override
 
virtual void getParameters (AnyMap &node) const override
 
virtual void setContext (const Reaction &rxn, const Kinetics &kin) override
 
virtual void validate (const std::string &equation, const Kinetics &kin) override
 
void updateFromStruct (const DataType &shared_data)
 Update reaction rate parameters. More...
 
double evalFromStruct (const DataType &shared_data) const
 Evaluate reaction rate. More...
 
double ddTScaledFromStruct (const DataType &shared_data) const
 Evaluate derivative of reaction rate with respect to temperature divided by reaction rate. More...
 
virtual double preExponentialFactor () const override
 
virtual double activationEnergy () const override
 
- Public Member Functions inherited from StickingCoverage
void setStickingParameters (const AnyMap &node)
 Perform object setup based on AnyMap node information. More...
 
void getStickingParameters (AnyMap &node) const
 Store parameters needed to reconstruct an identical object. More...
 
bool motzWiseCorrection () const
 Get flag indicating whether sticking rate uses the correction factor developed by Motz & Wise for reactions with high (near-unity) sticking coefficients. More...
 
void setMotzWiseCorrection (bool motz_wise)
 Set flag for Motz & Wise correction factor. More...
 
std::string stickingSpecies () const
 Get sticking species. More...
 
void setStickingSpecies (const std::string &stickingSpecies)
 Set sticking species. More...
 
double stickingOrder ()
 Get exponent applied to site density (sticking order) More...
 
void setStickingOrder (double order)
 Set exponent applied to site density (sticking order) More...
 
double stickingWeight ()
 Get the molecular weight of the sticking species. More...
 
void setStickingWeight (double weight)
 Set the molecular weight of the sticking species. More...
 
void setContext (const Reaction &rxn, const Kinetics &kin)
 Build rate-specific parameters based on Reaction and Kinetics context. More...
 
- Public Member Functions inherited from InterfaceRateBase
void setParameters (const AnyMap &node)
 Perform object setup based on AnyMap node information. More...
 
void getParameters (AnyMap &node) const
 Store parameters needed to reconstruct an identical object. More...
 
void setCoverageDependencies (const AnyMap &dependencies, const UnitSystem &units=UnitSystem())
 Set coverage dependencies based on AnyMap node information. More...
 
void getCoverageDependencies (AnyMap &dependencies, bool asVector=false) const
 Store parameters needed to reconstruct coverage dependencies. More...
 
void addCoverageDependence (const std::string &sp, double a, double m, double e)
 Add a coverage dependency for species sp, with exponential dependence a, power-law exponent m, and activation energy dependence e, where e is in Kelvin, that is, energy divided by the molar gas constant. More...
 
bool exchangeCurrentDensityFormulation ()
 Boolean indicating whether rate uses exchange current density formulation. More...
 
void setContext (const Reaction &rxn, const Kinetics &kin)
 Build rate-specific parameters based on Reaction and Kinetics context. More...
 
void setSpecies (const std::vector< std::string > &species)
 Set association with an ordered list of all species associated with a given Kinetics object. More...
 
void updateFromStruct (const InterfaceData &shared_data)
 Update reaction rate parameters. More...
 
double voltageCorrection () const
 Calculate modifications for the forward reaction rate for interfacial charge transfer reactions. More...
 
bool usesElectrochemistry ()
 Boolean indicating whether rate uses electrochemistry. More...
 
double beta () const
 Return the charge transfer beta parameter. More...
 
double siteDensity () const
 Return site density [kmol/m^2]. More...
 
void setSiteDensity (double siteDensity)
 Set site density [kmol/m^2]. More...
 

Protected Member Functions

template<typename T = RateType, typename std::enable_if< has_update< T >::value, bool >::type = true>
void _update (const DataType &shared_data)
 Helper function to process updates for rate types that implement the updateFromStruct method. More...
 
template<typename T = RateType, typename std::enable_if<!has_update< T >::value, bool >::type = true>
void _update (const DataType &shared_data)
 Helper function for rate types that do not implement updateFromStruct. More...
 

Additional Inherited Members

- Protected Attributes inherited from StickingCoverage
bool m_motzWise
 boolean indicating whether Motz & Wise correction is used More...
 
bool m_explicitMotzWise
 Correction cannot be overriden by default. More...
 
std::string m_stickingSpecies
 string identifying sticking species More...
 
bool m_explicitSpecies
 Boolean flag. More...
 
double m_surfaceOrder
 exponent applied to site density term More...
 
double m_multiplier
 multiplicative factor in rate expression More...
 
double m_factor
 cached factor More...
 
- Protected Attributes inherited from InterfaceRateBase
double m_siteDensity
 Site density [kmol/m^2]. More...
 
double m_acov
 Coverage contribution to pre-exponential factor. More...
 
double m_ecov
 Coverage contribution to activation energy. More...
 
double m_mcov
 Coverage term in reaction rate. More...
 
bool m_chargeTransfer
 Boolean indicating use of electrochemistry. More...
 
bool m_exchangeCurrentDensityFormulation
 
double m_beta
 Electrochemistry only. More...
 
double m_deltaPotential_RT
 Normalized electric potential energy change. More...
 
double m_deltaGibbs0_RT
 Normalized standard state Gibbs free energy change. More...
 
double m_prodStandardConcentrations
 Products of standard concentrations. More...
 
std::map< size_t, size_t > m_indices
 Map holding indices of coverage species. More...
 
std::vector< std::string > m_cov
 Vector holding names of coverage species. More...
 
vector_fp m_ac
 Vector holding coverage-specific exponential dependence. More...
 
vector_fp m_ec
 Vector holding coverage-specific activation energy dependence. More...
 
vector_fp m_mc
 Vector holding coverage-specific power-law exponents. More...
 

Detailed Description

template<class RateType, class DataType>
class Cantera::StickingRate< RateType, DataType >

A class template for interface sticking rate specifications.

Definition at line 454 of file InterfaceRate.h.

Constructor & Destructor Documentation

◆ StickingRate() [1/2]

StickingRate ( const AnyMap node,
const UnitStack rate_units 
)
inline

Constructor based on AnyMap content.

Definition at line 463 of file InterfaceRate.h.

◆ StickingRate() [2/2]

StickingRate ( const AnyMap node)
inlineexplicit

Definition at line 467 of file InterfaceRate.h.

Member Function Documentation

◆ newMultiRate()

unique_ptr< MultiRateBase > newMultiRate ( ) const
inlineoverride

Definition at line 472 of file InterfaceRate.h.

◆ type()

virtual const std::string type ( ) const
inlineoverridevirtual

Identifier of reaction rate type.

Definition at line 478 of file InterfaceRate.h.

◆ setParameters()

virtual void setParameters ( const AnyMap node,
const UnitStack rate_units 
)
inlineoverridevirtual

Definition at line 482 of file InterfaceRate.h.

◆ getParameters()

virtual void getParameters ( AnyMap node) const
inlineoverridevirtual

Definition at line 496 of file InterfaceRate.h.

◆ setContext()

virtual void setContext ( const Reaction rxn,
const Kinetics kin 
)
inlineoverridevirtual

Definition at line 511 of file InterfaceRate.h.

◆ validate()

virtual void validate ( const std::string &  equation,
const Kinetics kin 
)
inlineoverridevirtual

Definition at line 517 of file InterfaceRate.h.

◆ updateFromStruct()

void updateFromStruct ( const DataType &  shared_data)
inline

Update reaction rate parameters.

Parameters
shared_datadata shared by all reactions of a given type

Definition at line 536 of file InterfaceRate.h.

References StickingRate< RateType, DataType >::_update(), StickingCoverage::m_factor, InterfaceRateBase::m_siteDensity, StickingCoverage::m_surfaceOrder, and InterfaceRateBase::updateFromStruct().

◆ evalFromStruct()

double evalFromStruct ( const DataType &  shared_data) const
inline

◆ ddTScaledFromStruct()

double ddTScaledFromStruct ( const DataType &  shared_data) const
inline

Evaluate derivative of reaction rate with respect to temperature divided by reaction rate.

Parameters
shared_datadata shared by all reactions of a given type

Definition at line 561 of file InterfaceRate.h.

◆ preExponentialFactor()

virtual double preExponentialFactor ( ) const
inlineoverridevirtual

Definition at line 565 of file InterfaceRate.h.

◆ activationEnergy()

virtual double activationEnergy ( ) const
inlineoverridevirtual

Definition at line 570 of file InterfaceRate.h.

◆ _update() [1/2]

void _update ( const DataType &  shared_data)
inlineprotected

Helper function to process updates for rate types that implement the updateFromStruct method.

Definition at line 579 of file InterfaceRate.h.

Referenced by StickingRate< RateType, DataType >::updateFromStruct().

◆ _update() [2/2]

void _update ( const DataType &  shared_data)
inlineprotected

Helper function for rate types that do not implement updateFromStruct.

Does nothing, but exists to allow generic implementations of update().

Definition at line 587 of file InterfaceRate.h.


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