rizer.cantera_ext
C++ Cantera 1-D plasma extension (custom Domain1D models and solvers)
Loading...
Searching...
No Matches
rizer::DruyvesteynRate Class Reference

#include <PlasmaRates.h>

Inheritance diagram for rizer::DruyvesteynRate:
Cantera::ReactionRate

Public Member Functions

 DruyvesteynRate ()=default
 DruyvesteynRate (const Cantera::AnyMap &node, const Cantera::UnitStack &rate_units)
 Construct from a YAML/AnyMap rate node.
std::unique_ptr< Cantera::MultiRateBasenewMultiRate () const override
const std::string type () const override
void setParameters (const Cantera::AnyMap &node, const Cantera::UnitStack &rate_units) override
 Set the rate parameters from a YAML/AnyMap rate node.
void validate (const std::string &equation, const Cantera::Kinetics &kin) override
 Reject a missing or negative pre-factor (mirrors the Python rate's validate; missing "A" leaves m_A as NaN, which the negative check alone would not catch since NaN < 0 is false).
double evalFromStruct (const ElectronTemperatureData &shared_data) const
 Evaluate the Druyvesteyn rate \( k(T_e) \).
Public Member Functions inherited from Cantera::ReactionRate
virtual const string subType () const
AnyMap parameters () const
const UnitsconversionUnits () const
virtual void setRateUnits (const UnitStack &rate_units)
virtual void check (const string &equation)
virtual void validate (const string &equation, const Kinetics &kin)
size_t rateIndex () const
void setRateIndex (size_t idx)
virtual void setContext (const Reaction &rxn, const Kinetics &kin)
double eval (double T)
double eval (double T, double extra)
double eval (double T, span< const double > extra)
bool valid () const
bool compositionDependent ()
void setCompositionDependence (bool comp_dep)

Protected Member Functions

void getParameters (Cantera::AnyMap &node) const override

Protected Attributes

double m_A = NAN
 Pre-factor in Cantera's internal (kmol, m, s) rate-coefficient units [order-dependent].
double m_b = NAN
 Te exponent [-].
double m_Ea_K = NAN
 Activation energy expressed in Kelvin [K].
Protected Attributes inherited from Cantera::ReactionRate
AnyMap m_input
size_t m_rate_index
bool m_valid
bool m_composition_dependent_rate
Units m_conversion_units

Detailed Description

\[ k(T_e) = A \, T_e^{\,b} \, \exp\!\left(-\left(E_a/T_e\right)^2\right) \]

Modified Arrhenius in the electron temperature with the squared-ratio exponential characteristic of a Druyvesteyn EEDF; \( E_a \) is expressed in Kelvin so the exponent is dimensionless. Shares ElectronTemperatureData with the Janev rate (both need Te only).

Definition at line 123 of file PlasmaRates.h.

Constructor & Destructor Documentation

◆ DruyvesteynRate() [1/2]

rizer::DruyvesteynRate::DruyvesteynRate ( )
default

◆ DruyvesteynRate() [2/2]

rizer::DruyvesteynRate::DruyvesteynRate ( const Cantera::AnyMap & node,
const Cantera::UnitStack & rate_units )

Construct from a YAML/AnyMap rate node.

Parameters
nodeYAML/AnyMap node for this reaction's rate block (holds "A", "b", "Ea").
rate_unitsUnit context used to convert "A" into Cantera's internal rate-coeff units.

Definition at line 140 of file PlasmaRates.cpp.

Member Function Documentation

◆ evalFromStruct()

double rizer::DruyvesteynRate::evalFromStruct ( const ElectronTemperatureData & shared_data) const

Evaluate the Druyvesteyn rate \( k(T_e) \).

Parameters
shared_dataShared per-reaction-type data holding the current electron temperature Te [K].

Definition at line 201 of file PlasmaRates.cpp.

◆ getParameters()

void rizer::DruyvesteynRate::getParameters ( Cantera::AnyMap & node) const
overrideprotectedvirtual

Reimplemented from Cantera::ReactionRate.

Definition at line 187 of file PlasmaRates.cpp.

◆ newMultiRate()

std::unique_ptr< MultiRateBase > rizer::DruyvesteynRate::newMultiRate ( ) const
overridevirtual

Reimplemented from Cantera::ReactionRate.

Definition at line 146 of file PlasmaRates.cpp.

◆ setParameters()

void rizer::DruyvesteynRate::setParameters ( const Cantera::AnyMap & node,
const Cantera::UnitStack & rate_units )
overridevirtual

Set the rate parameters from a YAML/AnyMap rate node.

Parameters
nodeYAML/AnyMap node for this reaction's rate block (holds "A", "b", "Ea").
rate_unitsUnit context used to convert "A" into Cantera's internal rate-coeff units.

Reimplemented from Cantera::ReactionRate.

Definition at line 151 of file PlasmaRates.cpp.

◆ type()

const std::string rizer::DruyvesteynRate::type ( ) const
inlineoverridevirtual

Implements Cantera::ReactionRate.

Definition at line 138 of file PlasmaRates.h.

◆ validate()

void rizer::DruyvesteynRate::validate ( const std::string & equation,
const Cantera::Kinetics & kin )
override

Reject a missing or negative pre-factor (mirrors the Python rate's validate; missing "A" leaves m_A as NaN, which the negative check alone would not catch since NaN < 0 is false).

Parameters
equationReaction equation, used in the error message.
kinOwning kinetics manager, unused here.

Definition at line 167 of file PlasmaRates.cpp.

Member Data Documentation

◆ m_A

double rizer::DruyvesteynRate::m_A = NAN
protected

Pre-factor in Cantera's internal (kmol, m, s) rate-coefficient units [order-dependent].

Definition at line 164 of file PlasmaRates.h.

◆ m_b

double rizer::DruyvesteynRate::m_b = NAN
protected

Te exponent [-].

Definition at line 166 of file PlasmaRates.h.

◆ m_Ea_K

double rizer::DruyvesteynRate::m_Ea_K = NAN
protected

Activation energy expressed in Kelvin [K].

Definition at line 167 of file PlasmaRates.h.


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