thermal_cable_model.solver — Transient Solver
Transient thermal solver using implicit Euler time integration.
Solves the ODE system C · dθ/dt + G · θ = P(t) arising from the lumped-parameter thermal network, with temperature-dependent conductor resistance updated at each time step.
- class TransientResult[source]
Bases:
objectContainer for time-domain simulation results.
- __init__(times, conductor_temps, insulation_temps, sheath_temps, armour_temps, surface_temps, soil_temps, currents, ambient_temps, full_state=None, cable_names=<factory>)
- class TransientSolver[source]
Bases:
objectImplicit-Euler solver for the cable thermal network.
- Parameters:
network (CableThermalNetwork) – The assembled thermal network.
load_profiles (list[LoadProfile]) – One per cable.
ground_model (GroundTemperatureModel) – Provides ambient temperature at each cable’s burial depth.
- __init__(network, load_profiles, ground_model)[source]
- Parameters:
network (CableThermalNetwork)
load_profiles (list[LoadProfile])
ground_model (GroundTemperatureModel)
- solve(dt, duration, initial_state=None, store_full_state=False, nonlinear_iterations=3)[source]
Run transient simulation.
- Parameters:
dt (float) – Time step [s].
duration (float) – Total simulation time [s].
initial_state (ndarray, optional) – Starting temperatures. Defaults to steady-state at t = 0.
store_full_state (bool) – If True, store the entire state vector at each step.
nonlinear_iterations (int) – Number of Picard iterations per step for the resistance non-linearity.
- Return type: