Two temperature plasma reaction rate type depends on both gas temperature and electron temperature. More...
#include <TwoTempPlasmaRate.h>
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^{b_g} T_e^b \exp\left(-\frac{E_{a,g}}{RT}\right) \exp\left(\frac{E_{a,e}(T_e - T)}{R T T_e}\right) \exp\left(-\frac{T}{T_\mathrm{inv}}\right) \]
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, see Kossyi, et al. [25]. The Kossyi parameterization is generalized by the addition of two optional terms, the optional gas temperature exponent \( b_g \) (defaulting to 0) and the optional temperature scale \( T_\mathrm{inv} \) [4]. The term \( \exp(-T/T_\mathrm{inv}) \) is active only if a value is provided for \( T_\mathrm{inv} \).
Definition at line 67 of file TwoTempPlasmaRate.h.
Public Member Functions | |
| TwoTempPlasmaRate (double A, double b, double Ea=0.0, double EE=0.0, double bg=0.0, double Tinv=0.0) | |
| Constructor. | |
| TwoTempPlasmaRate (const AnyMap &node, const UnitStack &rate_units={}) | |
| Constructor based on an AnyMap object instead of all parameters directly. | |
| void | setParameters (const AnyMap &node, const UnitStack &rate_units) override |
| Set parameters from an AnyMap object. | |
| unique_ptr< MultiRateBase > | newMultiRate () const override |
| Creates a new two-temperature-plasma reaction. | |
| const string | type () const override |
| Returns the reaction type. | |
| void | setContext (const Reaction &rxn, const Kinetics &kin) override |
| Check that the reaction does not have the 'reversible: true' attribute. | |
| double | evalFromStruct (const TwoTempPlasmaData &shared_data) const |
| Evaluates reaction rate. | |
| double | ddTScaledFromStruct (const TwoTempPlasmaData &shared_data) const |
| Evaluate derivative of reaction rate with respect to temperature divided by reaction rate. | |
| double | activationElectronEnergy () const |
| Return the electron activation energy Ea [J/kmol]. | |
| Public Member Functions inherited from ArrheniusBase | |
| ArrheniusBase () | |
| Default constructor. | |
| ArrheniusBase (double A, double b, double Ea) | |
| Constructor. | |
| ArrheniusBase (const AnyValue &rate, const UnitSystem &units, const UnitStack &rate_units) | |
| Constructor based on AnyValue content. | |
| 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. | |
| void | getRateParameters (AnyMap &node) const |
| Get Arrhenius parameters used to populate the rate-coefficient or equivalent field. | |
| void | check (const string &equation) override |
| Check rate expression. | |
| void | validate (const string &equation, const Kinetics &kin) override |
| Validate the reaction rate expression. | |
| virtual double | preExponentialFactor () const |
| Return the pre-exponential factor A (in m, kmol, s to powers depending on the reaction order). | |
| virtual double | temperatureExponent () const |
| Return the temperature exponent b. | |
| virtual double | activationEnergy () const |
| Return the activation energy Ea [J/kmol] The value corresponds to the constant specified by input parameters;. | |
| double | order () const |
| Return reaction order associated with the reaction rate. | |
| void | setRateUnits (const UnitStack &rate_units) override |
| Set units of the reaction rate expression. | |
| bool | allowNegativePreExponentialFactor () const |
| Get flag indicating whether negative A values are permitted. | |
| void | setAllowNegativePreExponentialFactor (bool value) |
| Set flag indicating whether negative A values are permitted. | |
| Public Member Functions inherited from ReactionRate | |
| ReactionRate (const ReactionRate &other) | |
| ReactionRate & | operator= (const ReactionRate &other) |
| virtual const string | subType () const |
| String identifying sub-type of reaction rate specialization. | |
| AnyMap | parameters () const |
| Return the parameters such that an identical Reaction could be reconstructed using the newReaction() function. | |
| const Units & | conversionUnits () const |
| Get the units for converting the leading term in the reaction rate expression. | |
| size_t | rateIndex () const |
| Reaction rate index within kinetics evaluator. | |
| void | setRateIndex (size_t idx) |
| Set reaction rate index within kinetics evaluator. | |
| double | eval (double T) |
| Evaluate reaction rate based on temperature. | |
| double | eval (double T, double extra) |
| Evaluate reaction rate based on temperature and an extra parameter. | |
| double | eval (double T, span< const double > extra) |
| Evaluate reaction rate based on temperature and an extra vector parameter. | |
| bool | valid () const |
| Get flag indicating whether reaction rate is set up correctly. | |
| bool | compositionDependent () |
| Boolean indicating whether rate has compositional dependence. | |
| void | setCompositionDependence (bool comp_dep) |
| Set rate compositional dependence. | |
Protected Member Functions | |
| void | getParameters (AnyMap &node) const override |
| Get parameters. | |
Protected Attributes | |
| double | m_bg = 0.0 |
| Gas temperature exponent. | |
| double | m_recip_Tinv = 0.0 |
| Reciprocate of the temperature scale for the optional term \( \exp(-T/T_\mathrm{inv}) \). | |
| Protected Attributes inherited from ArrheniusBase | |
| bool | m_negativeA_ok = false |
| Permissible negative A values. | |
| double | m_A = NAN |
| Pre-exponential factor. | |
| double | m_b = NAN |
| Temperature exponent. | |
| double | m_Ea_R = 0. |
| Activation energy (in temperature units). | |
| double | m_E4_R = 0. |
| Optional 4th energy parameter (in temperature units). | |
| double | m_logA = NAN |
| Logarithm of pre-exponential factor. | |
| double | m_order = NAN |
| Reaction order. | |
| string | m_A_str = "A" |
| The string for the pre-exponential factor. | |
| string | m_b_str = "b" |
| The string for temperature exponent. | |
| string | m_Ea_str = "Ea" |
| The string for activation energy. | |
| string | m_E4_str = "" |
| The string for an optional 4th parameter. | |
| Protected Attributes inherited from ReactionRate | |
| AnyMap | m_input |
| Input data used for specific models. | |
| size_t | m_rate_index = npos |
| Index of reaction rate within kinetics evaluator. | |
| bool | m_valid = false |
| Flag indicating whether reaction rate is set up correctly. | |
| bool | m_composition_dependent_rate = false |
| Flag indicating composition dependent rate. | |
| Units | m_conversion_units {0.} |
| Units of the leading term in the reaction rate expression. | |
| TwoTempPlasmaRate | ( | ) |
Definition at line 48 of file TwoTempPlasmaRate.cpp.
| TwoTempPlasmaRate | ( | double | A, |
| double | b, | ||
| double | Ea = 0.0, | ||
| double | EE = 0.0, | ||
| double | bg = 0.0, | ||
| double | Tinv = 0.0 ) |
Constructor.
| 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 | Electron temperature exponent (non-dimensional). |
| Ea | Activation energy in energy units [J/kmol]. Defaults to 0. |
| EE | Activation electron energy in energy units [J/kmol]. Defaults to 0. |
| bg | Optional. Gas temperature exponent (non-dimensional). Defaults to 0. |
| Tinv | Optional. Temperature scale for the term \( \exp(-T/T_\mathrm{inv}) \) [K]. If zero, this term is omitted. Defaults to 0. |
Definition at line 54 of file TwoTempPlasmaRate.cpp.
Constructor based on an AnyMap object instead of all parameters directly.
Definition at line 67 of file TwoTempPlasmaRate.cpp.
Set parameters from an AnyMap object.
Reimplemented from ArrheniusBase.
Definition at line 94 of file TwoTempPlasmaRate.cpp.
|
inlineoverridevirtual |
Creates a new two-temperature-plasma reaction.
Reimplemented from ReactionRate.
Definition at line 94 of file TwoTempPlasmaRate.h.
|
inlineoverridevirtual |
Returns the reaction type.
Implements ReactionRate.
Definition at line 99 of file TwoTempPlasmaRate.h.
Check that the reaction does not have the 'reversible: true' attribute.
Reimplemented from ReactionRate.
Definition at line 163 of file TwoTempPlasmaRate.cpp.
|
inline |
Evaluates reaction rate.
| shared_data | data shared by all reactions of a given type. |
Definition at line 110 of file TwoTempPlasmaRate.h.
| 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.
| shared_data | data shared by all reactions of a given type. |
Definition at line 155 of file TwoTempPlasmaRate.cpp.
|
inline |
Return the electron activation energy Ea [J/kmol].
Definition at line 130 of file TwoTempPlasmaRate.h.
|
overrideprotectedvirtual |
Get parameters.
Reimplemented from ArrheniusBase.
Definition at line 73 of file TwoTempPlasmaRate.cpp.
|
protected |
Gas temperature exponent.
Definition at line 139 of file TwoTempPlasmaRate.h.
|
protected |
Reciprocate of the temperature scale for the optional term \( \exp(-T/T_\mathrm{inv}) \).
A value of zero disables this term.
Definition at line 146 of file TwoTempPlasmaRate.h.