Skip to content

JouleHeating

JouleHeating

JouleHeating(
    transit: floatArrayLike,
    magnetic_coeff: floatArrayLike,
    temperature_coeff_linear: floatArrayLike,
    linear_resistance_dc_20c: floatArrayLike,
    reference_temperature: floatArrayLike = 20.0,
    **kwargs: Any,
)

Bases: PowerTerm

Joule heating term.

If more than one input are numpy arrays, they should have the same size.

Parameters:

Name Type Description Default

transit

float | ndarray

Transit intensity (A).

required

magnetic_coeff

float | ndarray

Coefficient for magnetic effects (—).

required

temperature_coeff_linear

float | ndarray

Linear resistance augmentation with temperature (K⁻¹).

required

linear_resistance_dc_20c

float | ndarray

Electric resistance per unit length (DC) at 20°C (Ω·m⁻¹).

required

reference_temperature

float | ndarray

Reference temperature (°C). The default is 20.

20.0
Source code in src/thermohl/power/cigre/joule_heating.py
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
def __init__(
    self,
    transit: floatArrayLike,
    magnetic_coeff: floatArrayLike,
    temperature_coeff_linear: floatArrayLike,
    linear_resistance_dc_20c: floatArrayLike,
    reference_temperature: floatArrayLike = 20.0,
    **kwargs: Any,
):
    r"""Init with args.

    If more than one input are numpy arrays, they should have the same size.

    Args:
        transit (float | numpy.ndarray): Transit intensity (A).
        magnetic_coeff (float | numpy.ndarray): Coefficient for magnetic effects (—).
        temperature_coeff_linear (float | numpy.ndarray): Linear resistance augmentation with temperature (K⁻¹).
        linear_resistance_dc_20c (float | numpy.ndarray): Electric resistance per unit length (DC) at 20°C (Ω·m⁻¹).
        reference_temperature (float | numpy.ndarray, optional): Reference temperature (°C). The default is 20.

    """
    self.transit = transit
    self.magnetic_coeff = magnetic_coeff
    self.temp_coeff_linear = temperature_coeff_linear
    self.linear_resistance_dc_20c = linear_resistance_dc_20c
    self.reference_temperature = reference_temperature

derivative

derivative(
    conductor_temperature: floatArrayLike,
) -> floatArrayLike

Compute joule heating derivative.

If more than one input are numpy arrays, they should have the same size.

Parameters:

Name Type Description Default

conductor_temperature

float | ndarray

Conductor temperature (°C).

required

Returns:

Type Description
floatArrayLike

float | numpy.ndarray: Power term derivative (W·m⁻¹·K⁻¹).

Source code in src/thermohl/power/cigre/joule_heating.py
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
def derivative(self, conductor_temperature: floatArrayLike) -> floatArrayLike:
    r"""Compute joule heating derivative.

    If more than one input are numpy arrays, they should have the same size.

    Args:
        conductor_temperature (float | numpy.ndarray): Conductor temperature (°C).

    Returns:
        float | numpy.ndarray: Power term derivative (W·m⁻¹·K⁻¹).

    """
    return (
        self.magnetic_coeff
        * self.linear_resistance_dc_20c
        * self.temp_coeff_linear
        * self.transit**2
        * np.ones_like(conductor_temperature)
    )

value

value(
    conductor_temperature: floatArrayLike,
) -> floatArrayLike

Compute joule heating.

Parameters:

Name Type Description Default

conductor_temperature

float | ndarray

Conductor temperature (°C).

required

Returns:

Type Description
floatArrayLike

float | numpy.ndarray: Power term value (W·m⁻¹).

Source code in src/thermohl/power/cigre/joule_heating.py
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
def value(self, conductor_temperature: floatArrayLike) -> floatArrayLike:
    r"""Compute joule heating.

    Args:
        conductor_temperature (float | numpy.ndarray): Conductor temperature (°C).

    Returns:
        float | numpy.ndarray: Power term value (W·m⁻¹).

    """
    return (
        self.magnetic_coeff
        * self.linear_resistance_dc_20c
        * (
            1.0
            + self.temp_coeff_linear
            * (conductor_temperature - self.reference_temperature)
        )
        * self.transit**2
    )