Cable Models

Thermal Cable Model represents cables as concentric cylindrical layers from the conductor outward. Each layer has a material, inner radius, and outer radius. The Cable class computes thermal resistances and heat losses from this geometry.

Factory methods

The easiest way to create a cable is through one of the built-in factory methods, which generate realistic layer geometries from the conductor cross-sectional area:

Method

Construction

Default voltage

Cable.single_core_xlpe_cu

1-core Cu / XLPE / PE jacket

MV (20 kV)

Cable.single_core_xlpe_al

1-core Al / XLPE / PE jacket

MV (20 kV)

Cable.three_core_xlpe_cu

3-core Cu / XLPE / SWA

LV (0.6 kV)

Cable.three_core_pvc_cu

3-core Cu / PVC / SWA

LV (0.6 kV)

Example:

from thermal_cable_model import Cable

mv_cable = Cable.single_core_xlpe_cu(240, voltage_class="MV", voltage_kv=20.0)
lv_cable = Cable.three_core_xlpe_cu(150, voltage_class="LV", voltage_kv=0.6)

print(mv_cable.name)            # "1×240 mm² Cu XLPE 20 kV"
print(mv_cable.outer_diameter * 1e3)  # outer diameter in mm

Custom cable construction

For cable types not covered by the factory methods, build a cable layer by layer:

from thermal_cable_model import Cable, CableLayer
from thermal_cable_model.materials import COPPER, XLPE, LEAD_SHEATH, PVC_JACKET

layers = [
    CableLayer(XLPE, inner_radius=8.74e-3, outer_radius=16.74e-3),
    CableLayer(LEAD_SHEATH, inner_radius=16.74e-3, outer_radius=18.24e-3),
    CableLayer(PVC_JACKET, inner_radius=18.24e-3, outer_radius=20.24e-3),
]

cable = Cable(
    name="Custom 240 mm² cable",
    voltage_class="MV",
    n_conductors=1,
    conductor_area=240e-6,          # m²
    conductor_material=COPPER,
    layers=layers,
    ac_resistance_20c=7.56e-5,      # Ω/m at 20 °C
    temp_coeff_resistance=3.93e-3,  # 1/K (copper)
    max_conductor_temp=90.0,        # °C
    loss_factor_sheath=0.05,        # λ₁
    loss_factor_armour=0.0,         # λ₂
    dielectric_loss=0.3,            # W/m per phase
)

Cable parameters

Parameter

Unit

Description

conductor_area

m2

Cross-sectional area of one conductor

ac_resistance_20c

Ω/m

AC resistance at 20 °C per unit length

temp_coeff_resistance

1/K

Temperature coefficient of resistance (3.93 × 10-3 for Cu)

max_conductor_temp

°C

Maximum continuous conductor temperature (90 °C for XLPE)

loss_factor_sheath

λ1 — sheath-to-conductor loss ratio

loss_factor_armour

λ2 — armour-to-conductor loss ratio

dielectric_loss

W/m

Dielectric loss per phase per unit length

Electrical properties

The temperature-corrected AC resistance is computed as:

\[R_\text{ac}(T) = R_\text{ac,20} \bigl[1 + \alpha_{20}(T - 20)\bigr]\]

Joule (conductor) loss per unit length:

\[W_c = I^2 \cdot R_\text{ac}(T)\]

Total cable heat per unit length (including sheath, armour, and dielectric losses):

\[W_\text{total} = n \bigl[W_c (1 + \lambda_1 + \lambda_2) + W_d\bigr]\]

where n is the number of conductors.