r'''Calculates internal convection Nusselt number for turbulent flows
    in pipe according to [2]_ as in [1]_.

    .. math::
        Nu = \frac{(f/8)Re Pr}{1 + 5(f/8)^{0.5}\left[Pr-1+\ln\left(\frac{5Pr+1}
        {6}\right)\right]}

    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 ≤ 3  and 10^4 ≤ Re ≤ 10^5.

    Examples
    --------
    >>> turbulent_von_Karman(Re=1E5, Pr=1.2, fd=0.0185)
    255.7243541243272

    References
    ----------
    .. [1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat
       Transfer, 3E. New York: McGraw-Hill, 1998.
    .. [2] T. von Karman, "The Analogy Between Fluid Friction and Heat
       Transfer," Trans. ASME, (61):705-710,1939.

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

    .. math::
        Nu = \frac{(f/8)Re Pr}{1 + 5(f/8)^{0.5}\left[Pr-1+\ln\left(\frac{5Pr+1}
        {6}\right)\right]}

    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 ≤ 3  and 10^4 ≤ Re ≤ 10^5.

    Examples
    --------
    >>> turbulent_von_Karman(Re=1E5, Pr=1.2, fd=0.0185)
    255.7243541243272

    References
    ----------
    .. [1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat
       Transfer, 3E. New York: McGraw-Hill, 1998.
    .. [2] T. von Karman, "The Analogy Between Fluid Friction and Heat
       Transfer," Trans. ASME, (61):705-710,1939.
    '''
    return fd/8.*Re*Pr/(1 + 5*(fd/8.)**0.5*(Pr - 1 + log((5*Pr + 1)/6.)))