docs: def Lockhart_Martinelli(m, x, rhol, rhog, mul, mug, D, L=1, Re_c=2000):
      r'''Calculates two-phase pressure drop with the Lockhart and Martinelli
      (1949) correlation as presented in non-graphical form by Chisholm (1967).
  
      .. math::
          \Delta P = \Delta P_{l} \phi_{l}^2
  
      .. math::
          \phi_l^2 = 1 + \frac{C}{X} + \frac{1}{X^2}
  
      .. math::
          X^2 = \frac{\Delta P_l}{\Delta P_g}
  
      +---------+---------+--+
      |Liquid   |Gas      |C |
      +=========+=========+==+
      |Turbulent|Turbulent|20|
      +---------+---------+--+
      |Laminar  |Turbulent|12|
      +---------+---------+--+
      |Turbulent|Laminar  |10|
      +---------+---------+--+
      |Laminar  |Laminar  |5 |
      +---------+---------+--+
  
      This model has its own friction factor calculations, to be consistent with
      its Reynolds number transition and the procedure specified in the original
      work. The equation 64/Re is used up to Re_c, and above it the Blasius
      equation is used as follows:
  
      .. math::
          f_d = \frac{0.184}{Re^{0.2}}
  
      Parameters
      ----------
      m : float
          Mass flow rate of fluid, [kg/s]
      x : float
          Quality of fluid, [-]
      rhol : float
          Liquid density, [kg/m^3]
      rhog : float
          Gas density, [kg/m^3]
      mul : float
          Viscosity of liquid, [Pa*s]
      mug : float
          Viscosity of gas, [Pa*s]
      D : float
          Diameter of pipe, [m]
      L : float, optional
          Length of pipe, [m]
      Re_c : float, optional
          Transition Reynolds number, used to decide which friction factor
          equation to use and which C value to use from the table above.
  
      Returns
      -------
      dP : float
          Pressure drop of the two-phase flow, [Pa]
  
      Notes
      -----
      Developed for horizontal flow. Very popular. Many implementations of this
      model assume turbulent-turbulent flow.
  
      The original model proposed that the transition Reynolds number was 1000
      for laminar flow, and 2000 for turbulent flow; it proposed no model
      for Re_l < 1000 and Re_g between 1000 and 2000 and also Re_g < 1000 and
      Re_l between 1000 and 2000.
  
      No correction is available in this model for rough pipe.
  
      [3]_ examined the original data in [1]_ again, and fit more curves to the
      data, separating them into different flow regimes. There were 229 datum
      in the turbulent-turbulent regime, 9 in the turbulent-laminar regime, 339
      in the laminar-turbulent regime, and 42 in the laminar-laminar regime.
      Errors from [3]_'s curves were 13.4%, 3.5%, 14.3%, and 12.0% for the above
      regimes, respectively. [2]_'s fits provide further error.
  
      Examples
      --------
      >>> Lockhart_Martinelli(m=0.6, x=0.1, rhol=915., rhog=2.67, mul=180E-6,
      ... mug=14E-6, D=0.05, L=1)
      716.4695654888484
  
      References
      ----------
      .. [1] Lockhart, R. W. & Martinelli, R. C. (1949), "Proposed correlation of
         data for isothermal two-phase, two-component flow in pipes", Chemical
         Engineering Progress 45 (1), 39-48.
      .. [2] Chisholm, D."A Theoretical Basis for the Lockhart-Martinelli
         Correlation for Two-Phase Flow." International Journal of Heat and Mass
         Transfer 10, no. 12 (December 1967): 1767-78.
         doi:10.1016/0017-9310(67)90047-6.
      .. [3] Cui, Xiaozhou, and John J. J. Chen."A Re-Examination of the Data of
         Lockhart-Martinelli." International Journal of Multiphase Flow 36, no.
         10 (October 2010): 836-46. doi:10.1016/j.ijmultiphaseflow.2010.06.001.
      .. [4] Kim, Sung-Min, and Issam Mudawar. "Universal Approach to Predicting
         Two-Phase Frictional Pressure Drop for Adiabatic and Condensing Mini/
         Micro-Channel Flows." International Journal of Heat and Mass Transfer
         55, no. 11-12 (May 2012): 3246-61.
         doi:10.1016/j.ijheatmasstransfer.2012.02.047.
      '''
      def friction_factor(Re):
          # As in the original model
          if Re < Re_c:
              return 64./Re
          else:
              return 0.184*Re**-0.2
  
      v_l = m*(1-x)/rhol/(pi/4*D**2)
      Re_l = Reynolds(V=v_l, rho=rhol, mu=mul, D=D)
      v_g = m*x/rhog/(pi/4*D**2)
      Re_g = Reynolds(V=v_g, rho=rhog, mu=mug, D=D)
  
      if Re_l < Re_c and Re_g < Re_c:
          C = 5.0
      elif Re_l < Re_c and Re_g >= Re_c:
          # Liquid laminar, gas turbulent
          C = 12.0
      elif Re_l >= Re_c and Re_g < Re_c:
          # Liquid turbulent, gas laminar
          C = 10.0
      else: # Turbulent case
          C = 20.0
  
      fd_l = friction_factor(Re=Re_l)
      dP_l = fd_l*L/D*(0.5*rhol*v_l**2)
      fd_g = friction_factor(Re=Re_g)
      dP_g = fd_g*L/D*(0.5*rhog*v_g**2)
  
      X = (dP_l/dP_g)**0.5
  
      phi_l2 = 1 + C/X + 1./X**2
      return dP_l*phi_l2