rizer.cantera_ext
C++ Cantera 1-D plasma extension (custom Domain1D models and solvers)
Loading...
Searching...
No Matches
PlasmaState.h File Reference

The two-temperature quantities every model in this extension reads back from a PlasmaPhase, and the constants they share. More...

#include "units.h"
#include "cantera/thermo/PlasmaPhase.h"

Go to the source code of this file.

Classes

struct  rizer::TwoTemperatureState
 The two-temperature equation of state at the state currently set on a phase, PHYSICS.md (G6). More...

Namespaces

namespace  rizer

Functions

double rizer::monatomicElectronCv (double electron_molecular_weight)
 Electron specific heat at constant volume, per kg of ELECTRONS, \(c_{v,\mathrm{e}}=\tfrac32 R/W_\mathrm{e}\).
TwoTemperatureState rizer::readTwoTemperatureState (const Cantera::PlasmaPhase &phase)
 Read the two-temperature EOS back from a phase whose state is set.

Variables

constexpr double rizer::TemperatureFloor = 200.0
 Lower limit of the mechanism's NASA polynomials [K].
constexpr double rizer::TemperatureCeiling = 1.0e5
 Upper limit of the physically meaningful range [K].
constexpr double rizer::GasConstant = units::R_kmol
 Universal gas constant [J/kmol/K] and Boltzmann's constant [J/K], from units.h rather than Cantera's CODATA-2018 values, to match the Python reactor reference this extension is a port of.
constexpr double rizer::Boltzmann = units::k_b

Detailed Description

The two-temperature quantities every model in this extension reads back from a PlasmaPhase, and the constants they share.

One place, because the alternative has already cost a defect: three models each rebuilt \(\overline{T}\), \(n_\mathrm{e}\) and \(p_\mathrm{e}\) from \(X_\mathrm{e}\) and \(p\) by hand, and one of the three used the Dalton share \(X_\mathrm{e}p\) for the electron partial pressure, which is \(n_\mathrm{e}k_\mathrm{B}\overline{T}\) and not the \(n_\mathrm{e}k_\mathrm{B}T_\mathrm{e}\) of PHYSICS.md (G6) – a factor of ten at \(T_\mathrm{e}=10T_\mathrm{H}\). Cantera computes all three; nothing here recomputes them.

This header owns no temperature policy. The floor and ceiling below are NUMBERS, and what to do at them differs by caller on purpose: the reaction sub-step rejects a temperature under the floor, or a heavy temperature over the ceiling, as a recoverable trial (CVODE retries a smaller step), CanteraThermo rejects one under the floor outright, and its heavy-temperature inversion uses both as the edges of its bracket.

Definition in file PlasmaState.h.