docs: def liquid_gas_voidage(x, rhol, rhog, D=None, m=None, mul=None, mug=None, 
                         sigma=None, P=None, Pc=None, angle=0, g=g, Method=None, 
                         AvailableMethods=False):
      r'''This function handles calculation of two-phase liquid-gas voidage
      for flow inside channels. 29 calculation methods are available, with
      varying input requirements. A correlation will be automatically selected if
      none is specified. The full list of correlation can be obtained with the 
      `AvailableMethods` flag.
      
      This function is used to calculate the (liquid) holdup as well, as:
          
      .. math::
          \text{holdup} = 1 - \text{voidage}
  
      If no correlation is selected, the following rules are used, with the 
      earlier options attempted first:
  
          * TODO: defaults
  
      Parameters
      ----------
      x : float
          Quality of fluid, [-]
      rhol : float
          Liquid density, [kg/m^3]
      rhog : float
          Gas density, [kg/m^3]
      D : float, optional
          Diameter of pipe, [m]
      m : float, optional
          Mass flow rate of fluid, [kg/s]
      mul : float, optional
          Viscosity of liquid, [Pa*s]
      mug : float, optional
          Viscosity of gas, [Pa*s]
      sigma : float, optional
          Surface tension, [N/m]
      P : float, optional
          Pressure of fluid, [Pa]
      Pc : float, optional
          Critical pressure of fluid, [Pa]
      angle : float, optional
          Angle of the channel with respect to the horizontal (vertical = 90), 
          [degrees]
      g : float, optional
          Acceleration due to gravity, [m/s^2]
  
      Returns
      -------
      alpha : float
          Void fraction (area of gas / total area of channel), [-]
      methods : list, only returned if AvailableMethods == True
          List of methods which can be used to calculate two-phase liquid-gas 
          voidage with the given inputs.
  
      Other Parameters
      ----------------
      Method : string, optional
          A string of the function name to use, as in the dictionary
          two_phase_voidage_correlations.
      AvailableMethods : bool, optional
          If True, function will consider which methods which can be used to
          calculate two-phase liquid-gas voidage with the given inputs and return
          them as a list instead of performing a calculation.
  
      Notes
      -----
  
      Examples
      --------
      >>> liquid_gas_voidage(m=0.6, x=0.1, rhol=915., rhog=2.67, mul=180E-6, mug=14E-6,
      ... sigma=0.0487, D=0.05)
      0.9744097632663492
      '''
      def list_methods(myargs):
          usable_methods = []
          for method, value in two_phase_voidage_correlations.items():
              f, args = value
              if all(myargs[i] is not None for i in args):
                  usable_methods.append(method)
          return usable_methods
      if AvailableMethods:
          return list_methods(locals())
      if not Method:
          Method = 'homogeneous'
      if Method in two_phase_voidage_correlations:
          f, args = two_phase_voidage_correlations[Method]
          kwargs = {}
          for arg in args:
              kwargs[arg] = locals()[arg]
          return f(**kwargs)
      else:
          raise Exception('Method not recognized; available methods are %s' %list(two_phase_voidage_correlations.keys()))