r'''Calculates Nusselt number for crossflow across a single tube as shown
    in [1]_ at a specified `Re` and `Pr`, both evaluated at the free stream
    temperature. Recommends a viscosity exponent correction of 0.25, which is
    applied only if provided. Also shown in [2]_.

    .. math::
        Nu = \left[0.31Re^{0.5} + 0.11Re^{0.67}\right]Pr^{0.4}
        \left(\frac{\mu}{\mu_w}\right)^{0.25}

    Parameters
    ----------
    Re : float
        Reynolds number with respect to cylinder diameter, [-]
    Pr : float
        Prandtl number at free stream temperature, [-]
    mu : float, optional
        Viscosity of fluid at the free stream temperature [Pa*s]
    muw : float, optional
        Viscosity of fluid at the wall temperature [Pa*s]

    Returns
    -------
    Nu : float
        Nusselt number with respect to cylinder diameter, [-]

    Notes
    -----
    Considers new data since `Nu_cylinder_Perkins_Leppert_1962`, Re from 2E3 to
    1.2E5, Pr from 1 to 7, and surface to bulk temperature differences of
    11 to 66.

    Examples
    --------
    >>> Nu_cylinder_Perkins_Leppert_1964(6071, 0.7)
    53.61767038619986

    References
    ----------
    .. [1] Perkins Jr., H. C., and G. Leppert. "Local Heat-Transfer
       Coefficients on a Uniformly Heated Cylinder." International Journal of
       Heat and Mass Transfer 7, no. 2 (February 1964): 143-158.
       doi:10.1016/0017-9310(64)90079-1.
    .. [2] Sanitjai, S., and R. J. Goldstein. "Forced Convection Heat Transfer
       from a Circular Cylinder in Crossflow to Air and Liquids." International
       Journal of Heat and Mass Transfer 47, no. 22 (October 2004): 4795-4805.
       doi:10.1016/j.ijheatmasstransfer.2004.05.012.

def Nu_cylinder_Perkins_Leppert_1964(Re, Pr, mu=None, muw=None):
    r'''Calculates Nusselt number for crossflow across a single tube as shown
    in [1]_ at a specified `Re` and `Pr`, both evaluated at the free stream
    temperature. Recommends a viscosity exponent correction of 0.25, which is
    applied only if provided. Also shown in [2]_.

    .. math::
        Nu = \left[0.31Re^{0.5} + 0.11Re^{0.67}\right]Pr^{0.4}
        \left(\frac{\mu}{\mu_w}\right)^{0.25}

    Parameters
    ----------
    Re : float
        Reynolds number with respect to cylinder diameter, [-]
    Pr : float
        Prandtl number at free stream temperature, [-]
    mu : float, optional
        Viscosity of fluid at the free stream temperature [Pa*s]
    muw : float, optional
        Viscosity of fluid at the wall temperature [Pa*s]

    Returns
    -------
    Nu : float
        Nusselt number with respect to cylinder diameter, [-]

    Notes
    -----
    Considers new data since `Nu_cylinder_Perkins_Leppert_1962`, Re from 2E3 to
    1.2E5, Pr from 1 to 7, and surface to bulk temperature differences of
    11 to 66.

    Examples
    --------
    >>> Nu_cylinder_Perkins_Leppert_1964(6071, 0.7)
    53.61767038619986

    References
    ----------
    .. [1] Perkins Jr., H. C., and G. Leppert. "Local Heat-Transfer
       Coefficients on a Uniformly Heated Cylinder." International Journal of
       Heat and Mass Transfer 7, no. 2 (February 1964): 143-158.
       doi:10.1016/0017-9310(64)90079-1.
    .. [2] Sanitjai, S., and R. J. Goldstein. "Forced Convection Heat Transfer
       from a Circular Cylinder in Crossflow to Air and Liquids." International
       Journal of Heat and Mass Transfer 47, no. 22 (October 2004): 4795-4805.
       doi:10.1016/j.ijheatmasstransfer.2004.05.012.
    '''
    Nu = (0.31*Re**0.5 + 0.11*Re**0.67)*Pr**0.4
    if mu and muw:
        Nu *= (mu/muw)**0.25
    return Nu