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#

PulsedPlasmaReactor

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.AdaptiveCompositeReactor

A single-pulse composite reactor with self-switching fidelity.

Construct via from_config(), call solve(t_end), read the unified AdaptiveResult.

Parameters:
  • params (dict) – Fully-assembled nrp_driver-layout parameters (use from_config() instead of building this by hand). plasma must carry ambient_temperature [K] (gas surrounding the kernel, the expansion tier’s T_amb) and wall_temperature [K, or None for adiabatic] (sink of the isobaric tier’s conductive loss): user-file quantities, never defaulted.

  • qoi (tuple of str) – 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 fraction n_e / N above 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 when first_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.yaml layout: generator / cable / circuit blocks plus an environment block with ambient_temperature and wall_temperature) — the plasma and solver sections come from the built-in CH4 validation defaults;

  • a full run-script config (sections plasma, electric_circuit, simulation; plasma must carry ambient_temperature and wall_temperature) — used verbatim.

Parameters:
  • config (str or pathlib.Path) – Config file; bare names resolve against rizer/configs.

  • mechanism (str) – Mechanism reference (.yaml appended when missing); resolved under data/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, …).

static params_from_config(config: str | pathlib.Path = 'nrp.yaml', mechanism: str = 'Goutier2025/CH4_to_C2H2', overrides: dict[str, Any] | None = None) → dict[str, Any]#

Assemble the nrp_driver-layout parameter dictionary.