Convective cooling in CIGRE601#
- linerate.equations.cigre601.convective_cooling.compute_temperature_gradient(total_heat_gain, conductor_thermal_conductivity, core_diameter, conductor_diameter)[source]#
Compute the difference between the core and surface temperature.
Equation (15) & (16) on page 22 of [1].
- Parameters:
total_heat_gain (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'W/m']) – \(P_T = I^2 R~\left[\text{W}~\text{m}^{-1}\right]\). The Joule heating of the conductor (see p. 81 of [1]).
conductor_thermal_conductivity (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'W/(m K)']) – \(\lambda \left[\text{W}~\text{m}^{-1}~\text{K}^{-1}\right]\). The effective conductor thermal conductivity. It is usually between \(0.5\) and \(7~W~m^{-1}~K^{-1}\). Recommended values are \(0.7~\text{W}~\text{m}^{-1}~\text{K}^{-1}\) for conductors with no tension on the aluminium strands and \(1.5~\text{W}~\text{m}^{-1}~\text{K}^{-1}\) for conductors with aluminium strands under a tension of at least 40 N [1].
core_diameter (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'm']) – \(D_1~\left[\text{m}\right]\). Diameter of the steel core of the conductor.
conductor_diameter (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'm']) – \(D~\left[\text{m}\right]\). Outer diameter of the conductor.
- Returns:
\(T_c - T_s~\left[^\circ\text{C}\right]\). The difference between the core and surface temperature.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]
- linerate.equations.cigre601.convective_cooling.compute_thermal_conductivity_of_air(film_temperature)[source]#
Approximation of the thermal conductivity of air up to \(300 ^\circ\text{C}\).
Equation (18) on page 24 of [1].
Compared with table values from textbook, which showed a good approximation.
- Parameters:
film_temperature (Annotated[float | float64 | ndarray[Any, dtype[float64]], '°C']) – \(T_f = 0.5 (T_s + T_a)~\left[^\circ\text{C}\right]\). The temperature of the thin air-film surrounding the conductor. Equal to the average of the ambient air temperature and the conductor sufrace temperature.
- Returns:
\(\lambda_f~\left[\text{W}~\text{m}^{-1}~\text{K}^{-1}\right]\). The thermal conductivity of air at the given temperature.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]
- linerate.equations.cigre601.convective_cooling.compute_air_density(film_temperature, height_above_sea_level)[source]#
Approximation of the density of air at a given temperature and altitude.
Equation (20) on page 25 of [1].
- Parameters:
film_temperature (Annotated[float | float64 | ndarray[Any, dtype[float64]], '°C']) – \(T_f = 0.5 (T_s + T_a)~\left[^\circ\text{C}\right]\). The temperature of the thin air-film surrounding the conductor. Equal to the average of the ambient air temperature and the conductor sufrace temperature.
height_above_sea_level (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'm']) – \(y~\left[\text{m}\right]\). The conductor’s altitude.
- Returns:
\(\gamma~\left[\text{kg}~\text{m}^{-3}\right]\). The mass density of air.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]
- linerate.equations.cigre601.convective_cooling.compute_dynamic_viscosity_of_air(film_temperature)[source]#
Approximation of the dynamic viscosity of air at a given temperature.
Equation (19) on page 25 of [1].
- Parameters:
film_temperature (Annotated[float | float64 | ndarray[Any, dtype[float64]], '°C']) – \(T_f = 0.5 (T_s + T_a)~\left[^\circ\text{C}\right]\). The temperature of the thin air-film surrounding the conductor. Equal to the average of the ambient air temperature and the conductor sufrace temperature.
- Returns:
\(\mu_f~\left[\text{kg}~\text{m}^{-1}~\text{s}^{-1}\right]\). The dynamic viscosity of air.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]
- linerate.equations.cigre601.convective_cooling.compute_kinematic_viscosity_of_air(dynamic_viscosity_of_air, air_density)[source]#
Compute the kinematic viscosity of air.
Definition in text on page 25 of [1].
- Parameters:
dynamic_viscosity_of_air (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'kg/(m s)']) – \(\mu_f~\left[\text{kg}~\text{m}^{-1}~\text{s}^{-1}\right]\). The dynamic viscosity of air.
air_density (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'kg/m³']) – \(\gamma~\left[\text{kg}~\text{m}^{-3}\right]\). The mass density of air.
- Returns:
\(\nu_f~\left[\text{m}^2~\text{s}^{-1}\right]\). The kinematic viscosity of air.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]
- linerate.equations.cigre601.convective_cooling.compute_perpendicular_flow_nusseltnumber(reynolds_number, conductor_roughness)[source]#
Compute the Nusselt number for perpendicular flow.
Equation (21) and Table 4 on pages 25-26 of [1].
The perpendicular flow nusselt number is denoted as \(\text{Nu}_{90}\) in [1] since the wind’s angle of attack is \(90^\circ\).
The Nusselt number is the ratio of conductive heat transfer to convective heat transfer.
- Parameters:
reynolds_number (Annotated[float | float64 | ndarray[Any, dtype[float64]], '']) – \(\text{Re}\). The Reynolds number.
conductor_roughness (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'm']) – \(\text{Rs}\). The roughness number
- Returns:
\(\text{Nu}_{90}\). The perpendicular flow Nusselt number.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]
- linerate.equations.cigre601.convective_cooling.correct_wind_direction_effect_on_nusselt_number(perpendicular_flow_nusselt_number, angle_of_attack, conductor_roughness)[source]#
Correct the Nusselt number for the wind’s angle-of-attack.
Equation (21) and Table 4 on pages 25-26 of [1].
The perpendicular flow nusselt number is denoted as \(\text{Nu}_\delta\) in [1] since the wind’s angle of attack is \(\delta\).
- Parameters:
perpendicular_flow_nusselt_number (Annotated[float | float64 | ndarray[Any, dtype[float64]], '']) – \(\text{Nu}_{90}\). The perpendicular flow Nusselt number.
angle_of_attack (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'rad']) – \(\delta~\left[\text{radian}\right]\). The wind angle-of-attack.
conductor_roughness (Annotated[float | float64 | ndarray[Any, dtype[float64]], '']) – \(\text{Rs}\). The roughness number
- Returns:
\(\text{Nu}_\delta\). The Nusselt number for the given wind angle-of-attack.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]
- linerate.equations.cigre601.convective_cooling.compute_horizontal_natural_nusselt_number(grashof_number, prandtl_number)[source]#
The Nusselt number for natural (passive) convection on a horizontal conductor.
Equation (23) and Table 5 on pages 27-28 of [1].
The natural convection Nusselt number is denoted by both \(\text{Nu}_\text{nat}\) and \(\text{Nu}_0\) (due to the conductor declination being \(0^\circ\)) in [1].
The coefficient table is modified slightly so coefficients with \(\text{Gr}\text{Pr} < 0.1\) leads to \(\text{Nu} = 0\).
- Parameters:
grashof_number (Annotated[float | float64 | ndarray[Any, dtype[float64]], '']) – \(\text{Gr}\). The Grashof number.
prandtl_number (Annotated[float | float64 | ndarray[Any, dtype[float64]], '']) – \(\text{Pr}\). The Prandtl number.
- Returns:
\(\text{Nu}_0\). The natural convection nusselt number assuming horizontal conductor.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]
- linerate.equations.cigre601.convective_cooling.correct_natural_nusselt_number_inclination(horizontal_natural_nusselt_number, conductor_inclination, conductor_roughness)[source]#
Correct the natural Nusselt number for the effect of the span inclination.
Equation (24) on page 28 of [1].
- Parameters:
horizontal_natural_nusselt_number (Annotated[float | float64 | ndarray[Any, dtype[float64]], '']) – \(\text{Nu}_0\). The natural convection nusselt number assuming horizontal conductor.
conductor_inclination (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'rad']) – \(\beta~\left[\text{radian}\right]\). The inclination angle of the conductor. The inclination can be computed as \(\beta = \text{arctan2}\left(\left|y_1 - y_0\right|, L\right)\), where \(y_0\) and \(y_1\) are the altitude of the span endpoints (towers) and \(L\) is the length of the span .
conductor_roughness (Annotated[float | float64 | ndarray[Any, dtype[float64]], '']) – \(Rs\). The roughness number.
- Returns:
\(\text{Nu}_\beta\). The natural convection nusselt number where the conductor inclination is taken into account.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]
- linerate.equations.cigre601.convective_cooling.compute_nusselt_number(forced_convection_nusselt_number, natural_nusselt_number)[source]#
Compute the nusselt number.
Described in the text on p. 28 of [1].
- Parameters:
forced_convection_nusselt_number (Annotated[float | float64 | ndarray[Any, dtype[float64]], '']) – \(\text{Nu}_\delta\). The Nusselt number for the given wind angle-of-attack.
natural_nusselt_number (Annotated[float | float64 | ndarray[Any, dtype[float64]], '']) – \(\text{Nu}_\delta\). The natural convection nusselt number where the conductor inclination is taken into account.
- Returns:
\(Nu\). The nusselt number.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]