Convective cooling in CIGRE207#

linerate.equations.cigre207.convective_cooling.compute_thermal_conductivity_of_air(film_temperature)[source]#

Approximation of the thermal conductivity of air.

On page 5 of [4].

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.cigre207.convective_cooling.compute_relative_air_density(height_above_sea_level)[source]#

Approximation of the relative density of air at a given altitude, relative to density at sea level.

Equation on page 6 of [4].

Parameters:

height_above_sea_level (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'm']) – \(y~\left[\text{m}\right]\). The conductor’s altitude.

Returns:

\(\rho_r\). The relative mass density of air.

Return type:

Union[float, float64, ndarray[Any, dtype[float64]]]

linerate.equations.cigre207.convective_cooling.compute_kinematic_viscosity_of_air(film_temperature)[source]#

Approximation of the kinematic viscosity of air at a given temperature.

Equation on page 5 of [4].

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:

\(\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.cigre207.convective_cooling.compute_prandtl_number(film_temperature)[source]#

Compute the Prandtl number.

Defined on page 5 of [4].

The Prandtl number measures the ratio between viscosity and thermal diffusivity for a fluid.

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:

\(\text{Pr}\). The Prandtl number.

Return type:

Union[float, float64, ndarray[Any, dtype[float64]]]

linerate.equations.cigre207.convective_cooling.compute_reynolds_number(wind_speed, conductor_diameter, kinematic_viscosity_of_air, relative_air_density)[source]#

Compute the Reynolds number using the conductor diameter as characteristic length scale.

Defined on page 5 of [4]. This is a non-standard definition which seems to indicate that the kinematic viscosity has to be corrected for the density.

Parameters:
  • wind_speed (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'm/s']) – \(v~\left[\text{m}~\text{s}^{-1}\right]\). The wind speed.

  • conductor_diameter (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'm']) – \(D~\left[\text{m}\right]\). Outer diameter of the conductor.

  • kinematic_viscosity_of_air (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'm²/s']) – \(\nu_f~\left[\text{m}^2~\text{s}^{-1}\right]\). The kinematic viscosity of air.

  • relative_air_density (Annotated[float | float64 | ndarray[Any, dtype[float64]], '']) – \(\rho_r~1\). The air density relative to density at sea level.

Returns:

\(\text{Re}\). The Reynolds number.

Return type:

Union[float, float64, ndarray[Any, dtype[float64]]]

linerate.equations.cigre207.convective_cooling.compute_perpendicular_flow_nusseltnumber(reynolds_number, conductor_roughness)[source]#

Compute the Nusselt number for perpendicular flow.

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.cigre207.convective_cooling.compute_low_wind_speed_nusseltnumber(perpendicular_flow_nusselt_number)[source]#

Compute the corrected Nusselt number for low wind speed.

Parameters:

perpendicular_flow_nusselt_number (Annotated[float | float64 | ndarray[Any, dtype[float64]], '']) – \(\text{Nu}_{90}\). The perpendicular flow Nusselt number.

Returns:

\(\text{Nu}_{cor}\). The corrected Nusselt number for low wind speed.

Return type:

Union[float, float64, ndarray[Any, dtype[float64]]]

linerate.equations.cigre207.convective_cooling.correct_wind_direction_effect_on_nusselt_number(perpendicular_flow_nusselt_number, angle_of_attack)[source]#

Correct the Nusselt number for the wind’s angle-of-attack.

Equation (14) on page 7 of [4].

The perpendicular flow nusselt number is denoted as \(\text{Nu}_\delta\) in [4] 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.

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.cigre207.convective_cooling.compute_horizontal_natural_nusselt_number(grashof_number, prandtl_number)[source]#

The Nusselt number for natural (passive) convection on a horizontal conductor.

Equation (16) and Table II on page 7 of [4]. We expand the allowable range by using Table 9.1 of [7].

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.cigre207.convective_cooling.compute_nusselt_number(forced_convection_nusselt_number, natural_nusselt_number, low_wind_nusselt_number, wind_speed)[source]#

Compute the nusselt number.

Described on page 7 of [4].

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 for horizontal conductor.

  • low_wind_nusselt_number (Annotated[float | float64 | ndarray[Any, dtype[float64]], '']) – \(\text{Nu}_cor\). Corrected Nusselt number for low wind.

  • wind_speed (Annotated[float | float64 | ndarray[Any, dtype[float64]], 'm/s']) – \(v~\left[\text{m}~\text{s}^{-1}\right]\). The wind speed.

Returns:

\(Nu\). The nusselt number.

Return type:

Union[float, float64, ndarray[Any, dtype[float64]]]