rizer.spice.backend.models.schemas#

Pydantic models for circuit simulation requests and responses.

Attributes#

Classes#

ResistanceModelType

str(object='') -> str

GeneratorType

str(object='') -> str

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.

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.backend.models.schemas.ResistanceModelType#

Bases: str, enum.Enum

str(object=’’) -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to ‘utf-8’. errors defaults to ‘strict’.

constant = 'constant'#
rompe_weizel = 'rompe_weizel'#
vlastos = 'vlastos'#
braginskii = 'braginskii'#
class rizer.spice.backend.models.schemas.GeneratorType#

Bases: str, enum.Enum

str(object=’’) -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to ‘utf-8’. errors defaults to ‘strict’.

trapezoidal = 'trapezoidal'#
gaussian = 'gaussian'#
constant = 'constant'#
class rizer.spice.backend.models.schemas.ConstantResistanceConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Constant plasma resistance model configuration.

type: Literal['constant'] = 'constant'#
class rizer.spice.backend.models.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.backend.models.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.backend.models.schemas.BraginskiiConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Braginskii resistance model configuration.

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

Bases: pydantic.BaseModel

Trapezoidal pulse generator configuration.

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

Bases: pydantic.BaseModel

Gaussian pulse generator configuration.

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

Bases: pydantic.BaseModel

Constant voltage generator configuration.

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

Bases: pydantic.BaseModel

Transmission line cable configuration.

L: float = None#
Z_c: float = None#
c: float = None#
class rizer.spice.backend.models.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.backend.models.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.backend.models.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.backend.models.schemas.NRPSimulationRequest(/, **data: Any)#

Bases: pydantic.BaseModel

NRP circuit simulation parameters.

circuit_type: Literal['nrp'] = 'nrp'#
generator: GeneratorConfig = None#
cable: CableConfig = None#
R_p: float = None#
nb_reflections: int = None#
time: TimeConfig = None#
class rizer.spice.backend.models.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#
u_flow: float = None#
factor_radiation: float = None#
factor_conduction_gas: float = None#
factor_convection_gas: float = None#
factor_conduction_electrode: float = None#
i_0: float = None#
time: TimeConfig = None#
method: str = None#
rizer.spice.backend.models.schemas.SimulationRequest#
class rizer.spice.backend.models.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.backend.models.schemas.CircuitInfo(/, **data: Any)#

Bases: pydantic.BaseModel

Metadata about one available circuit type.

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

Bases: pydantic.BaseModel

List of available circuit metadata entries.

circuits: list[CircuitInfo]#