def turbulent_Webb(Re, Pr, fd):
    """Calculates internal convection Nusselt number for turbulent flows
    in pipe according to [2]_ as in [1]_.

    .. math::
        Nu = \\frac{(f/8)RePr}{1.07 + 9(f/8)^{0.5}(Pr-1)Pr^{1/4}}

    Parameters
    ----------
    Re : float
        Reynolds number, [-]
    Pr : float
        Prandtl number, [-]
    fd : float
        Darcy friction factor [-]

    Returns
    -------
    Nu : float
        Nusselt number, [-]

    Notes
    -----
    Range according to [1]_ is 0.5 < Pr ≤ 100  and 10^4 ≤ Re ≤ 5*10^6

    Examples
    --------
    >>> turbulent_Webb(Re=1E5, Pr=1.2, fd=0.0185)
    239.10130376815872

    References
    ----------
    .. [1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat
       Transfer, 3E. New York: McGraw-Hill, 1998.
    .. [2] Webb, Dr R. L. “A Critical Evaluation of Analytical Solutions and
       Reynolds Analogy Equations for Turbulent Heat and Mass Transfer in
       Smooth Tubes.” Wärme - Und Stoffübertragung 4, no. 4
       (December 1, 1971): 197–204. doi:10.1007/BF01002474.
    """
    return fd / 8.0 * Re * Pr / (1.07 + 9.0 * (fd / 8.0) ** 0.5 * (Pr - 1.0
        ) * Pr ** 0.25)
