thermal_cable_model.simulation — High-Level Simulation

High-level simulation interface.

CableInstallation defines the physical arrangement (cables, positions, soil, ground temperature). ThermalSimulation runs the analysis and returns results that can be queried or plotted.

class CableInstallation[source]

Bases: object

Describes a buried cable arrangement.

Example

>>> inst = CableInstallation(soil=SOIL_STANDARD)
>>> inst.add_cable(cable_a, x=0.0, depth=1.2, load=load_a)
>>> inst.add_cable(cable_b, x=0.3, depth=1.2, load=load_b)
__init__(soil=ThermalMaterial(name='Standard soil (ρ=1.0)', thermal_conductivity=1.0, thermal_resistivity=1.0, volumetric_heat_capacity=1800000.0), ground_temp_model=None)[source]
Parameters:
add_cable(cable, x, depth, load)[source]

Add a cable to the installation.

Parameters:
  • cable (Cable)

  • x (float) – Horizontal position [m] (arbitrary reference).

  • depth (float) – Burial depth to cable centre [m] (positive downward).

  • load (LoadProfile) – Time-varying current for this cable.

Returns:

Index of the added cable.

Return type:

int

add_crossing(crossing)[source]

Register a cable crossing for derating analysis.

Parameters:

crossing (CableCrossing)

Return type:

None

property n_cables: int
property cables: list[Cable]
property positions_x: list[float]
property depths: list[float]
property loads: list[LoadProfile]
property crossings: list[CableCrossing]
class ThermalSimulation[source]

Bases: object

Run steady-state or transient thermal analysis on an installation.

Parameters:

installation (CableInstallation)

__init__(installation)[source]
Parameters:

installation (CableInstallation)

run_steady_state(time_s=0.0)[source]

Compute the steady-state temperature at a given time instant.

The currents and ambient temperatures are evaluated at time_s.

Parameters:

time_s (float)

Return type:

TransientResult

run_transient(dt=60.0, duration=None, store_full_state=False)[source]

Run a transient simulation.

Parameters:
  • dt (float) – Time step [s]. Default 60 s.

  • duration (float, optional) – Total simulation time [s]. Defaults to the longest load profile.

  • store_full_state (bool) – Keep the full node-temperature array at every step.

Return type:

TransientResult