The models.py file conflicts with the models/ subdirectory when importing. Renamed to state.py for clarity.
49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
"""Physics state dataclasses for thermal-electrical simulation.
|
|
|
|
These immutable state snapshots represent the simulation state at a point in time.
|
|
"""
|
|
|
|
from dataclasses import dataclass
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class ThermalState:
|
|
"""Immutable thermal state snapshot.
|
|
|
|
Represents the thermal conditions of the DUT and its environment
|
|
at a specific point in simulation time.
|
|
|
|
Attributes:
|
|
chamber_temperature: Chamber air temperature in degrees Celsius.
|
|
case_temperature: DUT case/package temperature in degrees Celsius.
|
|
junction_temperature: DUT junction/die temperature in degrees Celsius.
|
|
timestamp: Simulation time in seconds since start.
|
|
"""
|
|
|
|
chamber_temperature: float
|
|
case_temperature: float
|
|
junction_temperature: float
|
|
timestamp: float
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class ElectricalState:
|
|
"""Immutable electrical state snapshot.
|
|
|
|
Represents the electrical conditions of the DUT at a specific
|
|
point in simulation time.
|
|
|
|
Attributes:
|
|
input_voltage: DUT input voltage in volts.
|
|
output_voltage: DUT output voltage in volts.
|
|
load_current: Load current drawn from DUT in amps.
|
|
quiescent_current: DUT quiescent/bias current in amps.
|
|
power_dissipation: Total power dissipated by DUT in watts.
|
|
"""
|
|
|
|
input_voltage: float
|
|
output_voltage: float
|
|
load_current: float
|
|
quiescent_current: float
|
|
power_dissipation: float
|