rizer.adaptive_models.state#

Canonical plasma state and fidelity signatures.

PlasmaState is the model-agnostic superset every stage solver reads from and writes to; each model only touches the fields its FidelitySignature declares — the spatial dimensionality, the number of temperatures, whether chemistry is evolved, the EEDF closure, and the thermodynamic process regime (isochoric / isentropic / isobaric).

Attributes#

Classes#

FidelitySignature

What a stage solver actually evolves.

PlasmaState

Canonical, model-agnostic plasma state.

Functions#

radius_from_volume(→ float)

Cylindrical column radius [m] from volume [m^3] and gap [m].

Module Contents#

rizer.adaptive_models.state.EEDF_CLOSURES = ('maxwell', 'druyvesteyn', 'boltzmann')#
rizer.adaptive_models.state.PROCESSES = ('isochoric', 'isentropic', 'isobaric')#
class rizer.adaptive_models.state.FidelitySignature#

What a stage solver actually evolves.

Parameters:
  • dims (int) – Spatial dimensionality (0 for the current ladder).

  • n_temperatures (int) – Number of temperatures evolved (2 = Tg + Te, 1 = T).

  • chemistry (bool) – Whether finite-rate chemistry is evolved.

  • eedf (str) – Electron energy distribution closure: "maxwell", "druyvesteyn" or "boltzmann".

  • process (str) – Thermodynamic process regime: one of PROCESSES.

dims: int#
n_temperatures: int#
chemistry: bool#
eedf: str = 'maxwell'#
process: str = 'isochoric'#
class rizer.adaptive_models.state.PlasmaState#

Canonical, model-agnostic plasma state.

All quantities are SI. mass and gap ride along so every stage can reconstruct density and volume consistently across seams (the constant-mass invariant of the 0-D ladder).

Parameters:
  • t (float) – Absolute time [s].

  • Y (numpy.ndarray) – Species mass fractions, ordered by the plasma-phase species list of mechanism.

  • mechanism (str) – Mechanism file the Y ordering refers to.

  • Tg (float) – Heavy-species, electron and vibrational temperatures [K]. A 1-T model keeps Te == Tv == Tg.

  • Te (float) – Heavy-species, electron and vibrational temperatures [K]. A 1-T model keeps Te == Tv == Tg.

  • Tv (float) – Heavy-species, electron and vibrational temperatures [K]. A 1-T model keeps Te == Tv == Tg.

  • rho (float) – Mass density [kg/m^3].

  • V (float) – Plasma volume [m^3].

  • P (float) – Pressure [Pa].

  • R (float) – Cylindrical channel radius [m].

  • E (float) – Applied electric field [V/m].

  • mass (float) – Total plasma mass [kg] (constant across the ladder).

  • gap (float) – Inter-electrode gap [m] (constant).

  • eedf (str) – Active EEDF closure flag ("maxwell" | "druyvesteyn" | "boltzmann").

  • qoi_accum (dict) – Running quantity-of-interest accumulators, e.g. {"deposited_energy": <J>} (extensive).

Examples

>>> import numpy as np
>>> s = PlasmaState(
...     t=0.0,
...     Y=np.array([0.9, 0.1]),
...     mechanism="CH4_to_C2H2.yaml",
...     Tg=300.0,
...     Te=300.0,
...     rho=1.2,
...     V=1.0e-9,
...     P=101325.0,
...     R=5.0e-4,
...     mass=1.2e-9,
...     gap=3.0e-3,
... )
>>> s.Tv  # not assigned by the caller -- NaN until a stage sets it
nan
>>> s.deposited_energy  # not tracked yet
0.0
t: float#
Y: numpy.ndarray#
mechanism: str#
Tg: float#
Te: float#
rho: float#
V: float#
P: float#
R: float#
mass: float#
gap: float#
Tv: float#
E: float = 0.0#
eedf: str = 'maxwell'#
qoi_accum: dict[str, float]#
copy(**changes: Any) → PlasmaState#

Return a copy with changes applied (Y deep-copied).

property deposited_energy: float#

Accumulated deposited energy [J] (0 when not tracked yet).

rizer.adaptive_models.state.radius_from_volume(volume: float, gap: float) → float#

Cylindrical column radius [m] from volume [m^3] and gap [m].

The NRP electrode-gap geometry every stage/transition assumes: a cylinder of height gap between the two electrodes.