rizer.adaptive_models.pulsed_plasma_reactor#
The pulsed-plasma adaptive reactor: one pulse, three processes.
PulsedPlasmaReactor is the single-pulse composite reactor built on
the rizer.adaptive_models framework: an isochoric deposition tier
(2-T finite-rate and equilibrium LTE are always both available and
connected by the thermalization criterion — whichever applies is decided
by live conditions, not a fixed choice; first_stage only picks which
one the trajectory starts in, or opts out entirely for the chemistry-free
EOS), the isentropic expansion, and the isobaric cooling stage, joined by
conservation-checked blended hand-offs.
The user constructs one object, calls solve(t_end), and gets one
unified trajectory; every switch, transition operator and solver swap is
internal.
Attributes#
Classes#
A single-pulse composite reactor with self-switching fidelity. |
Module Contents#
- rizer.adaptive_models.pulsed_plasma_reactor.logger#
- rizer.adaptive_models.pulsed_plasma_reactor.FIELD_REBOUND_FRACTION = 0.05#
- class rizer.adaptive_models.pulsed_plasma_reactor.PulsedPlasmaReactor(params: dict[str, Any], qoi: rizer.adaptive_models.contract.QoISet = ('T', 'P', 'deposited_energy'), tol: float = 0.01, first_stage: str = 'isochoric_plasma_0d2t', lte_ionization_fraction: float = 0.01, **kwargs: Any)#
Bases:
rizer.adaptive_models.composite.AdaptiveCompositeReactorA single-pulse composite reactor with self-switching fidelity.
Construct via
from_config(), callsolve(t_end), read the unifiedAdaptiveResult.- Parameters:
params (
dict) – Fully-assembled nrp_driver-layout parameters (usefrom_config()instead of building this by hand).plasmamust carryambient_temperature[K] (gas surrounding the kernel, the expansion tier’sT_amb) andwall_temperature[K, orNonefor adiabatic] (sink of the isobaric tier’s conductive loss): user-file quantities, never defaulted.qoi (
tupleofstr) – Quantities of interest driving the goal-oriented switching.tol (
float) – The single accuracy knob [-].first_stage (
str) – Which deposition-tier model the trajectory starts in:"isochoric_plasma_0d2t"(2-T finite-rate, default) or"isochoric_lte"(equilibrium) — both remain available and connected by the thermalization edge regardless of this choice, so the ladder may still hand off between them based on live conditions — or"isochoric_eos"(chemistry-free), which opts out of the 2-T/LTE pair entirely (no thermalization edge exists for it).lte_ionization_fraction (
float) – Ionization fractionn_e / Nabove which the column counts as thermalized, arming the 2-T -> LTE hand-off (default 1e-2). A fraction, not an absolute density, so the criterion does not depend on the kernel’s pre-heating or dissociation. The limit of the regime is the fully ionized thermal spark of Minesi et al. 2020; the equilibration criterion is investigated by Maillard et al. Not used whenfirst_stage="isochoric_eos".allowed_models – See
AdaptiveCompositeReactor.
Examples
- lte_ionization_fraction#
- classmethod from_config(config: str | pathlib.Path = 'nrp.yaml', mechanism: str = 'Goutier2025/CH4_to_C2H2', qoi: rizer.adaptive_models.contract.QoISet = ('T', 'P', 'deposited_energy'), tol: float = 0.01, first_stage: str = 'isochoric_plasma_0d2t', overrides: dict[str, Any] | None = None, **kwargs: Any) PulsedPlasmaReactor#
Build the reactor from a YAML configuration.
Two layouts are accepted:
a circuit config (
rizer/configs/nrp.yamllayout:generator/cable/circuitblocks plus anenvironmentblock withambient_temperatureandwall_temperature) — the plasma and solver sections come from the built-in CH4 validation defaults;a full run-script config (sections
plasma,electric_circuit,simulation;plasmamust carryambient_temperatureandwall_temperature) — used verbatim.
- Parameters:
config (
strorpathlib.Path) – Config file; bare names resolve againstrizer/configs.mechanism (
str) – Mechanism reference (.yamlappended when missing); resolved underdata/mechanisms.qoi – See
PulsedPlasmaReactor.tol – See
PulsedPlasmaReactor.first_stage – See
PulsedPlasmaReactor.overrides (
dict, optional) – Deep-merged into the assembled parameter dictionary (e.g.{"plasma": {"initial_conditions": {"gap": 1e-3}}}).**kwargs – Forwarded to the constructor (
lte_ionization_fraction,allowed_models, …).