rizer.spice.circuits.schemas#

Pydantic models for circuit simulation requests and responses.

Attributes#

Classes#

ConstantResistanceConfig

Constant plasma resistance model configuration.

RompeWeizelConfig

Rompe-Weizel resistance model configuration.

VlastosConfig

Vlastos resistance model configuration.

BraginskiiConfig

Braginskii resistance model configuration.

TrapezoidalGeneratorConfig

Trapezoidal pulse generator configuration.

GaussianGeneratorConfig

Gaussian pulse generator configuration.

ConstantGeneratorConfig

Constant voltage generator configuration.

SourceCircuitConfig

Source-side network behind a generator waveform: R_g, plus an optional capacitor.

CableConfig

Transmission line cable configuration.

TimeConfig

Simulation time configuration.

RLLCSimulationRequest

RLLC circuit simulation parameters.

CasteraSimulationRequest

Castera circuit simulation parameters.

NRPSimulationRequest

NRP circuit simulation parameters.

LTEDischargeSimulationRequest

Constant-mass LTE discharge simulation parameters.

SimulationResult

Simulation output with time-series data.

CircuitInfo

Metadata about one available circuit type.

CircuitListResponse

List of available circuit metadata entries.

Module Contents#

class rizer.spice.circuits.schemas.ConstantResistanceConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Constant plasma resistance model configuration.

type: Literal['constant'] = 'constant'#
class rizer.spice.circuits.schemas.RompeWeizelConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Rompe-Weizel resistance model configuration.

type: Literal['rompe_weizel'] = 'rompe_weizel'#
gap: float = None#
k_RW: float = None#
class rizer.spice.circuits.schemas.VlastosConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Vlastos resistance model configuration.

type: Literal['vlastos'] = 'vlastos'#
gap: float = None#
k_V: float = None#
class rizer.spice.circuits.schemas.BraginskiiConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Braginskii resistance model configuration.

type: Literal['braginskii'] = 'braginskii'#
gap: float = None#
k_B: float = None#
rizer.spice.circuits.schemas.ResistanceModelConfig#
class rizer.spice.circuits.schemas.TrapezoidalGeneratorConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Trapezoidal pulse generator configuration.

type: Literal['trapezoidal'] = 'trapezoidal'#
U_off: float = None#
U_on: float = None#
t_rise: float = None#
t_on: float = None#
t_fall: float = None#
class rizer.spice.circuits.schemas.GaussianGeneratorConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Gaussian pulse generator configuration.

type: Literal['gaussian'] = 'gaussian'#
height: float = None#
mean: float = None#
FWHM: float = None#
class rizer.spice.circuits.schemas.ConstantGeneratorConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Constant voltage generator configuration.

type: Literal['constant'] = 'constant'#
U_g: float = None#
rizer.spice.circuits.schemas.GeneratorConfig#
class rizer.spice.circuits.schemas.SourceCircuitConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Source-side network behind a generator waveform: R_g, plus an optional capacitor.

type picks the network: “resistive” (just R_g), “c_shunt” (R_g plus a capacitor C_s shunting the source’s own output node), or “c_parallel” (R_g plus a capacitor C_s in parallel with R_g itself) – see get_source_circuit_from_input(). C_s/window_span are required by _build_source_circuit/ build_transmission_line_circuit only for the two capacitive types (not enforced here, to avoid duplicating that validation).

type: Literal['resistive', 'c_shunt', 'c_parallel'] = 'resistive'#
R_g: float = None#
C_s: float | None = None#
window_span: float | None = None#
r_p_rtol: float = None#
u_s_0: float = None#
u_c_0: float = None#
class rizer.spice.circuits.schemas.CableConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Transmission line cable configuration.

L: float = None#
Z_c: float = None#
c: float = None#
class rizer.spice.circuits.schemas.TimeConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Simulation time configuration.

t_start: float = None#
t_end: float = None#
n_points: int = None#
class rizer.spice.circuits.schemas.RLLCSimulationRequest(/, **data: Any)#

Bases: pydantic.BaseModel

RLLC circuit simulation parameters.

circuit_type: Literal['rllc'] = 'rllc'#
C: float = None#
L1: float = None#
L2: float = None#
R_0: float = None#
I_0: float = None#
U_c_0: float = None#
resistance_model: ResistanceModelConfig = None#
time: TimeConfig = None#
method: str = None#
class rizer.spice.circuits.schemas.CasteraSimulationRequest(/, **data: Any)#

Bases: pydantic.BaseModel

Castera circuit simulation parameters.

circuit_type: Literal['castera'] = 'castera'#
C: float = None#
L: float = None#
L_p: float = None#
R_b: float = None#
R_sg: float = None#
R_0: float = None#
I_0: float = None#
U_c_0: float = None#
resistance_model: ResistanceModelConfig = None#
time: TimeConfig = None#
method: str = None#
class rizer.spice.circuits.schemas.NRPSimulationRequest(/, **data: Any)#

Bases: pydantic.BaseModel

NRP circuit simulation parameters.

circuit_type: Literal['nrp'] = 'nrp'#
generator: GeneratorConfig = None#
source_circuit: SourceCircuitConfig = None#
cable: CableConfig = None#
R_p: float = None#
include_reflections: bool = None#
time: TimeConfig = None#
class rizer.spice.circuits.schemas.LTEDischargeSimulationRequest(/, **data: Any)#

Bases: pydantic.BaseModel

Constant-mass LTE discharge simulation parameters.

circuit_type: Literal['lte_discharge'] = 'lte_discharge'#
gas: str = None#
pressure: float = None#
l_gap: float = None#
r_0: float = None#
T_0: float = None#
T_amb: float = None#
R_wire: float = None#
U_LV: float = None#
tau_LV: float = None#
L: float = None#
factor_radiation: float = None#
h_cc_gas: float = None#
h_cc_electrode: float = None#
i_0: float = None#
time: TimeConfig = None#
method: str = None#
rizer.spice.circuits.schemas.SimulationRequest#
class rizer.spice.circuits.schemas.SimulationResult(/, **data: Any)#

Bases: pydantic.BaseModel

Simulation output with time-series data.

time: list[float] = None#
series: dict[str, list[float]] = None#
labels: dict[str, str] = None#
class rizer.spice.circuits.schemas.CircuitInfo(/, **data: Any)#

Bases: pydantic.BaseModel

Metadata about one available circuit type.

id: str#
name: str#
description: str#
class rizer.spice.circuits.schemas.CircuitListResponse(/, **data: Any)#

Bases: pydantic.BaseModel

List of available circuit metadata entries.

circuits: list[CircuitInfo]#