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

    .. math::
        Nu = \\frac{RePr(f/8)}{1 + (f/8)^{0.5}[5.19Re_\\epsilon^{0.2} Pr^{0.44} - 8.48]}

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

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

    Notes
    -----
    According to [1]_, the limits are:
    1.2 ≤ Pr ≤ 5.94 and 1.4*10^4 ≤ Re ≤ 5E5 and 0.0024 ≤ eD ≤ 0.049.

    Examples
    --------
    >>> turbulent_Dipprey_Sabersky(Re=1E5, Pr=1.2, fd=0.0185, eD=1E-3)
    288.33365198566656

    References
    ----------
    .. [1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat
       Transfer, 3E. New York: McGraw-Hill, 1998.
    .. [2] Dipprey, D. F., and R. H. Sabersky. “Heat and Momentum Transfer in
       Smooth and Rough Tubes at Various Prandtl Numbers.” International
       Journal of Heat and Mass Transfer 6, no. 5 (May 1963): 329–53.
       doi:10.1016/0017-9310(63)90097-8
    """
    Re_e = Re * eD * (fd / 8.0) ** 0.5
    return Re * Pr * fd / 8.0 / (1 + (fd / 8.0) ** 0.5 * (5.19 * Re_e ** 
        0.2 * Pr ** 0.44 - 8.48))
