Skip to content

polykin.transport.heat¤

Nu_tube ¤

Nu_tube(
    Re: float, Pr: float, D_L: float = 0.0, er: float = 0.0
) -> float

Calculate the internal Nusselt number for flow through a circular tube.

For laminar flow, the average Nusselt number \(\overline{Nu}=\bar{h}D/k\) is estimated by the following expression:

\[ \overline{Nu} = 3.66 + \frac{0.0668 (D/L) Re Pr}{1 + 0.04 [(D/L) Re Pr]^{2/3}} \]

where \(Re\) is the Reynolds number and \(Pr\) is the Prandtl number. This correlation presumes constant surface temperature and a thermal entry length, thereby leading to conservative (underestimated) \(\overline{Nu}\) values.

For turbulent flow, the Nusselt number is estimated by the following expression:

\[ Nu = \frac{(f_D/8)(Re - 1000)Pr}{1 + 12.7 (f_D/8)^{1/2} (Pr^{2/3} - 1)} \]
\[\begin{bmatrix} 3000 < Re < 5 \times 10^{6} \\ 0.5 < Pr < 2000 \\ L/D \gtrsim 10 \end{bmatrix}\]

where \(f_D\) is the Darcy friction factor.

In both flow regimes, the properties are to be evaluated at the mean fluid temperature.

References

  • Gnielinski, Volker. "New equations for heat and mass transfer in turbulent pipe and channel flow", International chemical engineering 16.2 (1976): 359-367.
  • Incropera, Frank P., and David P. De Witt. "Fundamentals of heat and mass transfer", 4th edition, 1996, p. 444, 445.
PARAMETER DESCRIPTION
Re

Reynolds number.

TYPE: float

Pr

Prandtl number.

TYPE: float

D_L

Diameter-to-length ratio.

TYPE: float DEFAULT: 0.0

er

Relative pipe roughness.

TYPE: float DEFAULT: 0.0

RETURNS DESCRIPTION
float

Nusselt number.

Examples:

Estimate the internal heat transfer coefficient for water flowing at 2 m/s through a long smooth tube with an internal diameter of 25 mm.

>>> from polykin.transport.heat import Nu_tube
>>> rho = 1e3  # kg/m³
>>> mu = 1e-3  # Pa.s
>>> cp = 4.2e3 # J/kg/K
>>> k = 0.6    # W/m/K
>>> v = 2.     # m/s
>>> D = 25e-3  # m
>>> Re = rho*v*D/mu
>>> Pr = cp*mu/k
>>> Nu = Nu_tube(Re, Pr, D_L=0, er=0)
>>> h = Nu*k/D
>>> print(f"h={h:.1e} W/m².K")
h=7.8e+03 W/m².K
Source code in src/polykin/transport/heat.py
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
def Nu_tube(Re: float,
            Pr: float,
            D_L: float = 0.,
            er: float = 0.
            ) -> float:
    r"""Calculate the internal Nusselt number for flow through a circular tube.

    For laminar flow, the average Nusselt number $\overline{Nu}=\bar{h}D/k$ is
    estimated by the following expression:

    $$ \overline{Nu} = 3.66 + \frac{0.0668 (D/L) Re Pr}{1 + 0.04 [(D/L) Re Pr]^{2/3}} $$

    where $Re$ is the Reynolds number and $Pr$ is the Prandtl number. This
    correlation presumes constant surface temperature and a thermal entry length,
    thereby leading to conservative (underestimated) $\overline{Nu}$ values.

    For turbulent flow, the Nusselt number is estimated by the following
    expression:

    $$  Nu = \frac{(f_D/8)(Re - 1000)Pr}{1 + 12.7 (f_D/8)^{1/2} (Pr^{2/3} - 1)} $$

    \begin{bmatrix}
    3000 < Re < 5 \times 10^{6} \\
    0.5 < Pr < 2000 \\
    L/D \gtrsim 10
    \end{bmatrix}

    where $f_D$ is the Darcy friction factor. 

    In both flow regimes, the properties are to be evaluated at the mean fluid
    temperature.

    **References**

    * Gnielinski, Volker. "New equations for heat and mass transfer in
      turbulent pipe and channel flow", International chemical engineering
      16.2 (1976): 359-367.
    * Incropera, Frank P., and David P. De Witt. "Fundamentals of heat and
      mass transfer", 4th edition, 1996, p. 444, 445.

    Parameters
    ----------
    Re : float
        Reynolds number.
    Pr : float
        Prandtl number.
    D_L : float
        Diameter-to-length ratio.
    er : float
        Relative pipe roughness.

    Returns
    -------
    float
        Nusselt number.

    Examples
    --------
    Estimate the internal heat transfer coefficient for water flowing at 2 m/s
    through a long smooth tube with an internal diameter of 25 mm.
    >>> from polykin.transport.heat import Nu_tube
    >>> rho = 1e3  # kg/m³
    >>> mu = 1e-3  # Pa.s
    >>> cp = 4.2e3 # J/kg/K
    >>> k = 0.6    # W/m/K
    >>> v = 2.     # m/s
    >>> D = 25e-3  # m
    >>> Re = rho*v*D/mu
    >>> Pr = cp*mu/k
    >>> Nu = Nu_tube(Re, Pr, D_L=0, er=0)
    >>> h = Nu*k/D
    >>> print(f"h={h:.1e} W/m².K")
    h=7.8e+03 W/m².K
    """
    if Re < 2.3e3:
        return 3.66 + (0.0668*D_L*Re*Pr)/(1 + 0.04*(D_L*Re*Pr)**(2/3))
    else:
        fD = fD_Haaland(Re, er)
        return (fD/8)*(Re - 1e3)*Pr/(1 + 12.7*sqrt(fD/8)*(Pr**(2/3) - 1))

Graphical Illustration¤

For a smooth tube of infinite length.

Nu_tube