Convective cooling in IEEE-738#
- linerate.equations.ieee738.convective_cooling.compute_air_temperature_at_boundary_layer(temperature_of_conductor_surface, temperature_of_ambient_air)[source]#
Compute the temperature at the boundary layer, which is the thin air-film surrounding the conductor. Equal to the average of the ambient air temperature and the conductor surface temperature.
Equation (6) on page 12 of [2].
- Parameters:
temperature_of_conductor_surface (Annotated[float | float64 | ndarray[Any, dtype[float64]], '°C']) – \(T_s ~left[\circ\text{C}\right]\). The temperature of the surface of the conductor.
temperature_of_ambient_air (Annotated[float | float64 | ndarray[Any, dtype[float64]], '°C']) – \(T_a ~left[\circ\text{C}\right]\). The temperature of the ambient air.
- Returns:
\((T_s + T_s)/2~\left[^\circ\text{C}\right]\). The temperature at the boundary layer, the thin air-film surrounding the conductor. Equal to the average of the ambient air temperature and the conductor surface temperature.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]
- linerate.equations.ieee738.convective_cooling.compute_dynamic_viscosity_of_air(air_temperature_at_boundary_layer)[source]#
Approximation of the dynamic viscosity of air at a given temperature.
Equation (13a) on page 17 of [2].
- Parameters:
film_temperature – \((T_s + T_s)/2~\left[^\circ\text{C}\right]\). The temperature at the boundary layer, the thin air-film surrounding the conductor. Equal to the average of the ambient air temperature and the conductor surface 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.ieee738.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³']) – \(\rho_f~\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.ieee738.convective_cooling.compute_wind_direction_factor(angle_of_attack)[source]#
Compute the wind direction factor.
Equation (4a) on page 11 of [2].
The wind direction factor is used to calculate forced convection.
This angle is called Phi in CIGRE601.
- Parameters:
angle_of_attack (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'rad']) – \(\phi~\left[\text{radian}\right]\). The wind angle-of-attack.
- Returns:
- math:
’text{K_{angle}’. The wind direction factor.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]
- linerate.equations.ieee738.convective_cooling.compute_thermal_conductivity_of_air(air_temperature_at_boundary_layer)[source]#
Approximation of the thermal conductivity of air.
Equation (15a) on page 18 of [2].
- Parameters:
film_temperature – \((T_s + T_s)/2~\left[^\circ\text{C}\right]\). The temperature at the boundary layer, the thin air-film surrounding the conductor. Equal to the average of the ambient air temperature and the conductor surface temperature.
- Returns:
\(\text{k}_{f}~\left[\text{W}~\text{m}^{-1}~^\circ\text{C}^{-1}\right]\). The thermal conductivity of air at the boundary layer temperature.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]
- linerate.equations.ieee738.convective_cooling.compute_forced_convection(wind_direction_factor, reynolds_number, thermal_conductivity_of_air, temperature_of_conductor_surface, temperature_of_ambient_air)[source]#
Compute the forced convection.
Equation (3a) and (3b) on page 11 of [2].
According to [2], “Equation (3a) is correct at low winds but underestimates forced convection at high wind speeds. Equation (3b) is correct at high wind speeds but underestimates forced convection at low wind speeds. At any wind speed, this standard recommends calculating convective heat loss with both equations, and using the larger of the two calculated convection heat loss rates.”
- Parameters:
wind_direction_factor (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'rad']) –
- math:
’text{K_{angle}’. The wind direction factor
reynolds_number (Annotated[float | float64 | ndarray[Any, dtype[float64]], '']) – \(\text{N_{Re}}\). The Reynolds number.
thermal_conductivity_of_air (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'W/(m K)']) – \(\text{k_f}~\left[\text{W}~\text{m}^{-1}~^\circ\text{C}^{-1}\right]\). The thermal conductivity of air at the boundary layer temperature.
temperature_of_conductor_surface (Annotated[float | float64 | ndarray[Any, dtype[float64]], '°C']) – :math:’T_s ~left[circtext{C}right]`. The temperature of the surface of the conductor.
temperature_of_ambient_air (Annotated[float | float64 | ndarray[Any, dtype[float64]], '°C']) – :math:’T_a ~left[circtext{C}right]`. The temperature of the ambient air.
- Returns:
\(\text{q}_{c}\). The forced convection.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]
- linerate.equations.ieee738.convective_cooling.compute_air_density(air_temperature_at_boundary_layer, elevation)[source]#
Compute the air density.
Equation (14a) on page 17 of [2].
The air density at the elevation of the conductor at the temperature at the boundary layer.
- Parameters:
film_temperature – \((T_s + T_s)/2~\left[^\circ\text{C}\right]\). The temperature at the boundary layer, the thin air-film surrounding the conductor. Equal to the average of the ambient air temperature and the conductor surface temperature.
elevation (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'm']) – \(H_e~\left[\text{m}\right]\). The elevation of the conductor.
- Returns:
\(\rho_{f}\). The air density.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]
- linerate.equations.ieee738.convective_cooling.compute_natural_convection(air_density, conductor_diameter, temperature_of_conductor_surface, temperature_of_ambient_air)[source]#
Compute the natural convection.
Equation (5a) on page 12 of [2].
Temperature of conductor surface must be larger than or equal to temperature of ambient air
- Parameters:
air_density (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'kg/m³']) – \(\rho_{f}\). The air density.
conductor_diameter (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'm']) – \(D_0~\left[\text{m}\right]\). Outer diameter of the conductor.
temperature_of_conductor_surface (Annotated[float | float64 | ndarray[Any, dtype[float64]], '°C']) – :math:’T_s ~left[circtext{C}right]`. The temperature of the surface of the conductor.
temperature_of_ambient_air (Annotated[float | float64 | ndarray[Any, dtype[float64]], '°C']) – :math:’T_a ~left[circtext{C}right]`. The temperature of the ambient air.
- Returns:
\(q_{cn}~\left[\text{W}~\text{m}^{-1}\right]\). The natural convection.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]
- linerate.equations.ieee738.convective_cooling.compute_convective_cooling(forced_convection, natural_convection)[source]#
Compute the convective cooling of the conductor.
On page 11 in [2], it says that one should calculate both forced and natural convection, and choose the larger of the two as the convective cooling.
- Parameters:
forced_convection (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'W/m']) – \(q_c\). The forced convection.
natural_convection (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'W/m']) – \(q_{cn}~\left[\text{W}~\text{m}^{-1}\right]\). The natural convection.
- Returns:
\(q_c~\left[\text{W}~\text{m}^{-1}\right]\). The convective cooling of the conductor. Either equal to the forced or the natural convection, whichever is the largest.
- Return type:
Union[float, float64, ndarray[Any, dtype[float64]]]