Cantera 2.6.0

Public Member Functions | List of all members
TwoTempPlasmaRate Class Reference
Chemical Kinetics » Arrhenius-type Parameterizations

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< MultiRateBase > | newMultiRate () 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 Units & | rateUnits () 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)
ReactionRate & | operator= (const ReactionRate &other)
virtual unique_ptr< MultiRateBase > | newMultiRate () const
| Create a rate evaluator for reactions of a particular derived type. More...
virtual const std::string | type () const =0
| String identifying reaction rate specialization. More...
virtual void | setParameters (const AnyMap &node, const UnitStack &units)
| Set parameters. More...
AnyMap | parameters () const
| Return the parameters such that an identical Reaction could be reconstructed using the newReaction() function. More...
virtual void | check (const std::string &equation, const AnyMap &node)
| Check basic syntax and settings of reaction rate expression. More...
virtual void | validate (const std::string &equation, const Kinetics &kin)
| Validate the reaction rate expression. 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...
virtual void | setContext (const Reaction &rxn, const Kinetics &kin)
| Set context of reaction rate evaluation. 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
virtual void | getParameters (AnyMap &node) const
| Get parameters. More...
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]

TwoTempPlasmaRate | ( |  | ) |

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

  A | Pre-exponential factor. The unit system is (kmol, m, s); actual units depend on the reaction order and the dimensionality (surface or bulk).
  b | Temperature exponent (non-dimensional)
  Ea | Activation energy in energy units [J/kmol]
  EE | Activation 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
| inline override virtual

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>);
Cantera::MultiRate
A class template handling ReactionRate specializations.
Definition: MultiRate.h:21
Cantera::TwoTempPlasmaRate::newMultiRate
unique_ptr< MultiRateBase > newMultiRate() const override
Create a rate evaluator for reactions of a particular derived type.
Definition: TwoTempPlasmaRate.h:82

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
| inline override virtual

String identifying reaction rate specialization.

Implements ReactionRate.

Definition at line 87 of file TwoTempPlasmaRate.h.

## ◆ setContext()

void setContext | ( | const Reaction & | rxn,
|  | const Kinetics & | kin
| ) |  |
| override virtual

Set context of reaction rate evaluation.

Parameters

  rxn | Reaction object associated with rate
  kin | Kinetics 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_data | data 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_data | data 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:

- TwoTempPlasmaRate.h
- TwoTempPlasmaRate.cpp