docs: def Gronnerud(m, x, rhol, rhog, mul, mug, D, roughness=0, L=1):
      r'''Calculates two-phase pressure drop with the Gronnerud correlation as
      presented in [2]_, [3]_, and [4]_.
  
      .. math::
          \Delta P_{friction} = \Delta P_{gd} \phi_{lo}^2
  
      .. math::
          \phi_{gd} = 1 + \left(\frac{dP}{dL}\right)_{Fr}\left[
          \frac{\frac{\rho_l}{\rho_g}}{\left(\frac{\mu_l}{\mu_g}\right)^{0.25}}
          -1\right]
  
      .. math::
          \left(\frac{dP}{dL}\right)_{Fr} = f_{Fr}\left[x+4(x^{1.8}-x^{10}
          f_{Fr}^{0.5})\right]
  
      .. math::
          f_{Fr} = Fr_l^{0.3} + 0.0055\left(\ln \frac{1}{Fr_l}\right)^2
  
      .. math::
          Fr_l = \frac{G_{tp}^2}{gD\rho_l^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]
      roughness : float, optional
          Roughness of pipe for use in calculating friction factor, [m]
      L : float, optional
          Length of pipe, [m]
  
      Returns
      -------
      dP : float
          Pressure drop of the two-phase flow, [Pa]
  
      Notes
      -----
      Developed for evaporators. Applicable from 0 < x < 1.
  
      In the model, if `Fr_l` is more than 1, `f_Fr` is set to 1.
  
      Examples
      --------
      >>> Gronnerud(m=0.6, x=0.1, rhol=915., rhog=2.67, mul=180E-6, mug=14E-6,
      ... D=0.05, roughness=0, L=1)
      384.1254114447411
  
      References
      ----------
      .. [1] Gronnerud, R. "Investigation of Liquid Hold-Up, Flow Resistance and
         Heat Transfer in Circulation Type Evaporators. 4. Two-Phase Flow
         Resistance in Boiling Refrigerants." Proc. Freudenstadt Meet., IIR/C.
         R. Réun. Freudenstadt, IIF. 1972-1: 127-138. 1972.
      .. [2] ASHRAE Handbook: Fundamentals. American Society of Heating,
         Refrigerating and Air-Conditioning Engineers, Incorporated, 2013.
      .. [3] Mekisso, Henock Mateos. "Comparison of Frictional Pressure Drop
         Correlations for Isothermal Two-Phase Horizontal Flow." Thesis, Oklahoma
         State University, 2013. https://shareok.org/handle/11244/11109.
      .. [4] Thome, John R. "Engineering Data Book III." Wolverine Tube Inc
         (2004). http://www.wlv.com/heat-transfer-databook/
      '''
      G = m/(pi/4*D**2)
      V = G/rhol
      Frl = Froude(V=V, L=D, squared=True)
      if Frl >= 1:
          f_Fr = 1
      else:
          f_Fr = Frl**0.3 + 0.0055*(log(1./Frl))**2
      dP_dL_Fr = f_Fr*(x + 4*(x**1.8 - x**10*f_Fr**0.5))
      phi_gd = 1 + dP_dL_Fr*((rhol/rhog)/(mul/mug)**0.25 - 1)
  
      # Liquid-only properties, for calculation of E, dP_lo
      v_lo = m/rhol/(pi/4*D**2)
      Re_lo = Reynolds(V=v_lo, rho=rhol, mu=mul, D=D)
      fd_lo = friction_factor(Re=Re_lo, eD=roughness/D)
      dP_lo = fd_lo*L/D*(0.5*rhol*v_lo**2)
      return phi_gd*dP_lo