docs: def Montinsky(P, Pc, Te=None, q=None):
      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 = \left(0.00417P_c^{0.69} \Delta Te^{0.7}\left[1.8(P/P_c)^{0.17} + 
          4(P/P_c)^{1.2} + 10(P/P_c)^{10}\right]\right)^{1/0.3}
  
      With `q` specified:
      
      .. math::
          h = 0.00417P_c^{0.69} q^{0.7}\left[1.8(P/P_c)^{0.17} + 4(P/P_c)^{1.2} 
          + 10(P/P_c)^{10}\right]
  
      Parameters
      ----------
      P : float
          Saturation pressure of fluid, [Pa]
      Pc : float
          Critical pressure of fluid, [Pa]
      Te : float, optional
          Excess wall temperature, [K]
      q : float, optional
          Heat flux, [W/m^2]
  
      Returns
      -------
      h : float
          Heat transfer coefficient [W/m^2/K]
  
      Notes
      -----
      Formulas has been found consistent in all cited sources. Examples have
      been found in [1]_ and [3]_.
  
      The equation for this function is sometimes given with a constant of 3.7E-5
      instead of 0.00417 if critical pressure is not internally
      converted to kPa. [3]_ lists a constant of 3.596E-5.
  
      Examples
      --------
      Water boiling at 1 atm, with excess temperature of 4.3K from [1]_.
  
      >>> Montinsky(P=101325, Pc=22048321, Te=4.3)
      1185.0509770292663
  
      References
      ----------
      .. [1] Cao, Eduardo. Heat Transfer in Process Engineering.
         McGraw Hill Professional, 2009.
      .. [2] Mostinsky I. L.: "Application of the rule of corresponding states
         for the calculation of heat transfer and critical heat flux,"
         Teploenergetika 4:66, 1963 English Abstr. Br Chem Eng 8(8):586, 1963
      .. [3] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat
         Transfer, 3E. New York: McGraw-Hill, 1998.
      .. [4] Serth, R. W., Process Heat Transfer: Principles,
         Applications and Rules of Thumb. 2E. Amsterdam: Academic Press, 2014.
      '''
      if Te:
          return (0.00417*(Pc/1000.)**0.69*Te**0.7*(1.8*(P/Pc)**0.17 + 4*(P/Pc)**1.2
          +10*(P/Pc)**10))**(1/0.3)
      elif q:
          return (0.00417*(Pc/1000.)**0.69*q**0.7*(1.8*(P/Pc)**0.17 + 4*(P/Pc)**1.2
          +10*(P/Pc)**10))
      else:
          raise Exception('Either q or Te is needed for this correlation')