docs: def Rohsenow(rhol, rhog, mul, kl, Cpl, Hvap, sigma, Te=None, q=None, Csf=0.013,
               n=1.7):
      r'''Calculates heat transfer coefficient for a evaporator operating
      in the nucleate boiling regime according to [2]_ as presented in [1]_.
      
      Either heat flux or excess temperature is required.
  
      With `Te` specified:
      
      .. math::
          h = {{\mu }_{L}} \Delta H_{vap} \left[ \frac{g( \rho_L-\rho_v)}
          {\sigma } \right]^{0.5}\left[\frac{C_{p,L}\Delta T_e^{2/3}}{C_{sf}
          \Delta H_{vap} Pr_L^n}\right]^3
      
      With `q` specified:
      
      .. math::
          h = \left({{\mu }_{L}} \Delta H_{vap} \left[ \frac{g( \rho_L-\rho_v)}
          {\sigma } \right]^{0.5}\left[\frac{C_{p,L}\Delta T_e^{2/3}}{C_{sf}
          \Delta H_{vap} Pr_L^n}\right]^3\right)^{1/3}q^{2/3}
  
      Parameters
      ----------
      rhol : float
          Density of the liquid [kg/m^3]
      rhog : float
          Density of the produced gas [kg/m^3]
      mul : float
          Viscosity of liquid [Pa*s]
      kl : float
          Thermal conductivity of liquid [W/m/K]
      Cpl : float
          Heat capacity of liquid [J/kg/K]
      Hvap : float
          Heat of vaporization of the fluid at P, [J/kg]
      sigma : float
          Surface tension of liquid [N/m]
      Te : float, optional
          Excess wall temperature, [K]
      q : float, optional
          Heat flux, [W/m^2]
      Csf : float
          Rohsenow coefficient specific to fluid and metal [-]
      n : float
          Constant, 1 for water, 1.7 (default) for other fluids usually [-]
  
      Returns
      -------
      h : float
          Heat transfer coefficient [W/m^2/K]
  
      Notes
      -----
      No further work is required on this correlation. Multiple sources confirm
      its form and rearrangement.
  
      Examples
      --------
      h for water at atmospheric pressure on oxidized aluminum.
  
      >>> Rohsenow(rhol=957.854, rhog=0.595593, mul=2.79E-4, kl=0.680, Cpl=4217,
      ... Hvap=2.257E6, sigma=0.0589, Te=4.9, Csf=0.011, n=1.26)
      3723.655267067467
  
      References
      ----------
      .. [1] Cao, Eduardo. Heat Transfer in Process Engineering.
         McGraw Hill Professional, 2009.
      .. [2] Rohsenow, Warren M. "A Method of Correlating Heat Transfer Data for
         Surface Boiling of Liquids." Technical Report. Cambridge, Mass. : M.I.T.
         Division of Industrial Cooporation, 1951
      '''
      if Te:
          return mul*Hvap*(g*(rhol-rhog)/sigma)**0.5*(Cpl*Te**(2/3.)/Csf/Hvap/(Cpl*mul/kl)**n)**3
      elif q:
          A = mul*Hvap*(g*(rhol-rhog)/sigma)**0.5*(Cpl/Csf/Hvap/(Cpl*mul/kl)**n)**3
          return A**(1/3.)*q**(2/3.)
      else:
          raise Exception('Either q or Te is needed for this correlation')