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

Two temperature plasma reaction rate type depends on both gas temperature and electron temperature. More...

#include <TwoTempPlasmaRate.h>

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

Public Member Functions

 TwoTempPlasmaRate (double A, double b, double Ea=0.0, double EE=0.0)
 Constructor. More...
 
 TwoTempPlasmaRate (const AnyMap &node, const UnitStack &rate_units={})
 
unique_ptr< MultiRateBasenewMultiRate () const override
 Create a rate evaluator for reactions of a particular derived type. More...
 
virtual const std::string type () const override
 String identifying reaction rate specialization. More...
 
virtual void setContext (const Reaction &rxn, const Kinetics &kin) override
 Set context of reaction rate evaluation. More...
 
double evalFromStruct (const TwoTempPlasmaData &shared_data) const
 Evaluate reaction rate. More...
 
double ddTScaledFromStruct (const TwoTempPlasmaData &shared_data) const
 Evaluate derivative of reaction rate with respect to temperature divided by reaction rate. More...
 
double activationElectronEnergy () const
 Return the electron activation energy Ea [J/kmol]. More...
 
- Public Member Functions inherited from ArrheniusBase
 ArrheniusBase ()
 Default constructor. More...
 
 ArrheniusBase (double A, double b, double Ea)
 Constructor. More...
 
 ArrheniusBase (const AnyValue &rate, const UnitSystem &units, const UnitStack &rate_units)
 Constructor based on AnyValue content. More...
 
 ArrheniusBase (const AnyMap &node, const UnitStack &rate_units={})
 
void setRateParameters (const AnyValue &rate, const UnitSystem &units, const UnitStack &rate_units)
 Perform object setup based on AnyValue node information. More...
 
void getRateParameters (AnyMap &node) const
 Return parameters. More...
 
virtual void setParameters (const AnyMap &node, const UnitStack &rate_units) override
 Set parameters. More...
 
virtual void getParameters (AnyMap &node) const override
 Get parameters. More...
 
virtual void check (const std::string &equation, const AnyMap &node) override
 Check rate expression. More...
 
virtual void validate (const std::string &equation, const Kinetics &kin) override
 Validate the reaction rate expression. More...
 
virtual double preExponentialFactor () const
 Return the pre-exponential factor A (in m, kmol, s to powers depending on the reaction order) More...
 
virtual double temperatureExponent () const
 Return the temperature exponent b More...
 
virtual double activationEnergy () const
 Return the activation energy Ea [J/kmol] The value corresponds to the constant specified by input parameters;. More...
 
const UnitsrateUnits () const
 
double order () const
 Return reaction order associated with the reaction rate. More...
 
void setRateUnits (const UnitStack &rate_units)
 Set units of the reaction rate expression. More...
 
bool allowNegativePreExponentialFactor () const
 Get flag indicating whether negative A values are permitted. More...
 
void setAllowNegativePreExponentialFactor (bool value)
 Set flag indicating whether negative A values are permitted. More...
 
- Public Member Functions inherited from ReactionRate
 ReactionRate (const ReactionRate &other)
 
ReactionRateoperator= (const ReactionRate &other)
 
AnyMap parameters () const
 Return the parameters such that an identical Reaction could be reconstructed using the newReaction() function. More...
 
virtual void validate (const std::string &equation)
 Validate the reaction rate expression (legacy call) More...
 
size_t rateIndex () const
 Reaction rate index within kinetics evaluator. More...
 
void setRateIndex (size_t idx)
 Set reaction rate index within kinetics evaluator. More...
 
double eval (double T)
 Evaluate reaction rate based on temperature. More...
 
double eval (double T, double extra)
 Evaluate reaction rate based on temperature and an extra parameter. More...
 
double eval (double T, const std::vector< double > &extra)
 Evaluate reaction rate based on temperature and an extra vector parameter. More...
 

Additional Inherited Members

- Protected Attributes inherited from ArrheniusBase
bool m_negativeA_ok
 Flag indicating whether negative A values are permitted. More...
 
double m_A
 Pre-exponential factor. More...
 
double m_b
 Temperature exponent. More...
 
double m_Ea_R
 Activation energy (in temperature units) More...
 
double m_E4_R
 Optional 4th energy parameter (in temperature units) More...
 
double m_logA
 Logarithm of pre-exponential factor. More...
 
double m_order
 Reaction order. More...
 
std::string m_A_str = "A"
 The string for temperature exponent. More...
 
std::string m_b_str = "b"
 The string for temperature exponent. More...
 
std::string m_Ea_str = "Ea"
 The string for activation energy. More...
 
std::string m_E4_str = ""
 The string for an optional 4th parameter. More...
 
Units m_rate_units
 Reaction rate units. More...
 
- Protected Attributes inherited from ReactionRate
AnyMap m_input
 Input data used for specific models. More...
 
size_t m_rate_index
 Index of reaction rate within kinetics evaluator. More...
 

Detailed Description

Two temperature plasma reaction rate type depends on both gas temperature and electron temperature.

The form of the two temperature plasma reaction rate coefficient is similar to an Arrhenius reaction rate coefficient. The temperature exponent (b) is applied to the electron temperature instead. In addition, the exponential term with activation energy for electron is included.

\[ k_f = A T_e^b \exp (-E_{a,g}/RT) \exp (E_{a,e} (T_e - T)/(R T T_e)) \]

where \( T_e \) is the electron temperature, \( E_{a,g} \) is the activation energy for gas, and \( E_{a,e} \) is the activation energy for electron. Ref.: Kossyi, I. A., Kostinsky, A. Y., Matveyev, A. A., & Silakov, V. P. (1992). Kinetic scheme of the non-equilibrium discharge in nitrogen-oxygen mixtures. Plasma Sources Science and Technology, 1(3), 207. doi: 10.1088/0963-0252/1/3/011

Definition at line 63 of file TwoTempPlasmaRate.h.

Constructor & Destructor Documentation

◆ TwoTempPlasmaRate() [1/3]

Definition at line 48 of file TwoTempPlasmaRate.cpp.

◆ TwoTempPlasmaRate() [2/3]

TwoTempPlasmaRate ( double  A,
double  b,
double  Ea = 0.0,
double  EE = 0.0 
)

Constructor.

Parameters
APre-exponential factor. The unit system is (kmol, m, s); actual units depend on the reaction order and the dimensionality (surface or bulk).
bTemperature exponent (non-dimensional)
EaActivation energy in energy units [J/kmol]
EEActivation electron energy in energy units [J/kmol]

Definition at line 55 of file TwoTempPlasmaRate.cpp.

◆ TwoTempPlasmaRate() [3/3]

TwoTempPlasmaRate ( const AnyMap node,
const UnitStack rate_units = {} 
)
inline

Definition at line 78 of file TwoTempPlasmaRate.h.

Member Function Documentation

◆ newMultiRate()

unique_ptr< MultiRateBase > newMultiRate ( ) const
inlineoverridevirtual

Create a rate evaluator for reactions of a particular derived type.

Derived classes usually implement this as:

unique_ptr<MultiRateBase> newMultiRate() const override {
return unique_ptr<MultiRateBase>(new MultiRate<RateType, DataType>);
unique_ptr< MultiRateBase > newMultiRate() const override
Create a rate evaluator for reactions of a particular derived type.

where RateType is the derived class name and DataType is the corresponding container for parameters needed to evaluate reactions of that type.

Reimplemented from ReactionRate.

Definition at line 82 of file TwoTempPlasmaRate.h.

◆ type()

virtual const std::string type ( ) const
inlineoverridevirtual

String identifying reaction rate specialization.

Implements ReactionRate.

Definition at line 87 of file TwoTempPlasmaRate.h.

◆ setContext()

void setContext ( const Reaction rxn,
const Kinetics kin 
)
overridevirtual

Set context of reaction rate evaluation.

Parameters
rxnReaction object associated with rate
kinKinetics object used for rate evaluation This method allows for passing of information specific to the associated reaction when a ReactionRate object is added a MultiRate reaction evaluator.

Reimplemented from ReactionRate.

Definition at line 70 of file TwoTempPlasmaRate.cpp.

References Reaction::input, and Reaction::reversible.

◆ evalFromStruct()

double evalFromStruct ( const TwoTempPlasmaData shared_data) const
inline

Evaluate reaction rate.

Parameters
shared_datadata shared by all reactions of a given type

Definition at line 97 of file TwoTempPlasmaRate.h.

References TwoTempPlasmaData::electronTemp, TwoTempPlasmaData::logTe, ArrheniusBase::m_A, ArrheniusBase::m_b, ArrheniusBase::m_E4_R, ArrheniusBase::m_Ea_R, ReactionData::recipT, TwoTempPlasmaData::recipTe, and ReactionData::temperature.

◆ ddTScaledFromStruct()

double ddTScaledFromStruct ( const TwoTempPlasmaData shared_data) const

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

This method does not consider changes of electron temperature. A corresponding warning is raised.

Parameters
shared_datadata shared by all reactions of a given type

Definition at line 63 of file TwoTempPlasmaRate.cpp.

References ArrheniusBase::m_E4_R, ArrheniusBase::m_Ea_R, ReactionData::recipT, and Cantera::warn_user().

◆ activationElectronEnergy()

double activationElectronEnergy ( ) const
inline

Return the electron activation energy Ea [J/kmol].

Definition at line 115 of file TwoTempPlasmaRate.h.

References Cantera::GasConstant, and ArrheniusBase::m_E4_R.


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