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

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

#include <InterfaceRate.h>

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

Public Member Functions

 InterfaceRate (const AnyMap &node, const UnitStack &rate_units)
 Constructor based on AnyMap content. More...
 
 InterfaceRate (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
 
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 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 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::InterfaceRate< RateType, DataType >

A class template for interface reaction rate specifications.

Definition at line 353 of file InterfaceRate.h.

Constructor & Destructor Documentation

◆ InterfaceRate() [1/2]

InterfaceRate ( const AnyMap node,
const UnitStack rate_units 
)
inline

Constructor based on AnyMap content.

Definition at line 362 of file InterfaceRate.h.

◆ InterfaceRate() [2/2]

InterfaceRate ( const AnyMap node)
inlineexplicit

Definition at line 365 of file InterfaceRate.h.

Member Function Documentation

◆ newMultiRate()

unique_ptr< MultiRateBase > newMultiRate ( ) const
inlineoverride

Definition at line 369 of file InterfaceRate.h.

◆ type()

virtual const std::string type ( ) const
inlineoverridevirtual

Identifier of reaction rate type.

Definition at line 375 of file InterfaceRate.h.

◆ setParameters()

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

Definition at line 379 of file InterfaceRate.h.

◆ getParameters()

virtual void getParameters ( AnyMap node) const
inlineoverridevirtual

Definition at line 386 of file InterfaceRate.h.

◆ setContext()

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

Definition at line 392 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 399 of file InterfaceRate.h.

References InterfaceRate< RateType, DataType >::_update(), and InterfaceRateBase::updateFromStruct().

◆ evalFromStruct()

double evalFromStruct ( const DataType &  shared_data) const
inline

Evaluate reaction rate.

Parameters
shared_datadata shared by all reactions of a given type

Definition at line 406 of file InterfaceRate.h.

References InterfaceRateBase::m_acov, InterfaceRateBase::m_chargeTransfer, InterfaceRateBase::m_ecov, InterfaceRateBase::m_mcov, and InterfaceRateBase::voltageCorrection().

◆ 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 418 of file InterfaceRate.h.

◆ preExponentialFactor()

virtual double preExponentialFactor ( ) const
inlineoverridevirtual

Definition at line 422 of file InterfaceRate.h.

◆ activationEnergy()

virtual double activationEnergy ( ) const
inlineoverridevirtual

Definition at line 427 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 436 of file InterfaceRate.h.

Referenced by InterfaceRate< 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 444 of file InterfaceRate.h.


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