r'''Calculates internal convection Nusselt number for turbulent vertical
    upward flow in a pipe under supercritical conditions according to [1]_,
    and reviewed in [2]_.
        
    .. math::
        Nu_b = 0.0061 Re_b^{0.904} \bar{Pr}_b^{0.684}
        \left(\frac{\rho_w}{\rho_b}\right)^{0.564}
        
        \bar{Cp} = \frac{H_w-H_b}{T_w-T_b}
        
    Parameters
    ----------
    Re : float
        Reynolds number with bulk fluid properties, [-]
    Pr : float
        Prandtl number with bulk fluid properties and an average heat capacity
        between the wall and bulk temperatures [-]
    rho_w : float, optional
        Density at the wall temperature, [kg/m^3]
    rho_b : float, optional
        Density at the bulk temperature, [kg/m^3]

    Returns
    -------
    Nu : float
        Nusselt number with bulk fluid properties, [-]

    Notes
    -----
    For the data used to develop the correlation, P was set at 20 MPa, and D 
    was 10 mm. G varied from 200-1500 kg/m^2/s and q varied from 0 to 1250
    kW/m^2.
    
    Cp used in the calculation of Prandtl number should be the average value
    of those at the wall and the bulk temperatures.

    For deteriorated heat transfer, this was the four most accurate correlation  
    in [2]_ with a MAD of 24.0%. It was also the 7th most accurate against
    enhanced heat transfer, with a MAD of 14.7%, and the most accurate for the
    normal heat transfer database as well as the top correlation in all 
    categories combined.
    
    If the extra density information is not provided, it will not be used.

    Examples
    --------
    >>> Nu_Mokry(1E5, 1.2, 330, 290.)
    246.1156319156992

    References
    ----------
    .. [1] Mokry, Sarah, Igor Pioro, Amjad Farah, Krysten King, Sahil Gupta, 
       Wargha Peiman, and Pavel Kirillov. "Development of Supercritical Water 
       Heat-Transfer Correlation for Vertical Bare Tubes." Nuclear Engineering
       and Design, International Conference on Nuclear Energy for New Europe 
       2009, 241, no. 4 (April 2011): 1126-36. 
       doi:10.1016/j.nucengdes.2010.06.012.
    .. [2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. "An Assessment of
       Correlations of Forced Convection Heat Transfer to Water at 
       Supercritical Pressure." Annals of Nuclear Energy 76 (February 2015): 
       451-60. doi:10.1016/j.anucene.2014.10.027.

def Nu_Mokry(Re, Pr, rho_w=None, rho_b=None):
    r'''Calculates internal convection Nusselt number for turbulent vertical
    upward flow in a pipe under supercritical conditions according to [1]_,
    and reviewed in [2]_.
        
    .. math::
        Nu_b = 0.0061 Re_b^{0.904} \bar{Pr}_b^{0.684}
        \left(\frac{\rho_w}{\rho_b}\right)^{0.564}
        
        \bar{Cp} = \frac{H_w-H_b}{T_w-T_b}
        
    Parameters
    ----------
    Re : float
        Reynolds number with bulk fluid properties, [-]
    Pr : float
        Prandtl number with bulk fluid properties and an average heat capacity
        between the wall and bulk temperatures [-]
    rho_w : float, optional
        Density at the wall temperature, [kg/m^3]
    rho_b : float, optional
        Density at the bulk temperature, [kg/m^3]

    Returns
    -------
    Nu : float
        Nusselt number with bulk fluid properties, [-]

    Notes
    -----
    For the data used to develop the correlation, P was set at 20 MPa, and D 
    was 10 mm. G varied from 200-1500 kg/m^2/s and q varied from 0 to 1250
    kW/m^2.
    
    Cp used in the calculation of Prandtl number should be the average value
    of those at the wall and the bulk temperatures.

    For deteriorated heat transfer, this was the four most accurate correlation  
    in [2]_ with a MAD of 24.0%. It was also the 7th most accurate against
    enhanced heat transfer, with a MAD of 14.7%, and the most accurate for the
    normal heat transfer database as well as the top correlation in all 
    categories combined.
    
    If the extra density information is not provided, it will not be used.

    Examples
    --------
    >>> Nu_Mokry(1E5, 1.2, 330, 290.)
    246.1156319156992

    References
    ----------
    .. [1] Mokry, Sarah, Igor Pioro, Amjad Farah, Krysten King, Sahil Gupta, 
       Wargha Peiman, and Pavel Kirillov. "Development of Supercritical Water 
       Heat-Transfer Correlation for Vertical Bare Tubes." Nuclear Engineering
       and Design, International Conference on Nuclear Energy for New Europe 
       2009, 241, no. 4 (April 2011): 1126-36. 
       doi:10.1016/j.nucengdes.2010.06.012.
    .. [2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. "An Assessment of
       Correlations of Forced Convection Heat Transfer to Water at 
       Supercritical Pressure." Annals of Nuclear Energy 76 (February 2015): 
       451-60. doi:10.1016/j.anucene.2014.10.027.
    '''
    Nu = 0.0061*Re**0.904*Pr**0.684
    if rho_w and rho_b:
        Nu *= (rho_w/rho_b)**0.564
    return Nu