code: def requiv_to_pot_contact(requiv, q, sma, compno=1):
      
      logger.debug("requiv_to_pot_contact(requiv={}, q={}, sma={}, compno={})".format(requiv, q, sma, compno))
  
      # since the functions called here work with normalized r, we need to set d=D=sma=1.
      # or provide sma as a function parameter and normalize r here as requiv = requiv/sma
      requiv = requiv/sma
      vequiv = 4./3*np.pi*requiv**3
      d = 1.
      F = 1.
  
      logger.debug("libphoebe.roche_contact_Omega_at_partial_vol(vol={}, phi=pi/2, q={}, d={}, choice={})".format(vequiv, q, d, compno-1))
      return libphoebe.roche_contact_Omega_at_partial_vol(vequiv, np.pi/2, q, d, choice=compno-1)
docs: :param requiv: user-provided equivalent radius
      :param q: mass ratio
      :param sma: semi-major axis (d = sma because we explicitly assume circular orbits for contacts)
      :param compno: 1 for primary, 2 for secondary
      :return: potential and fillout factor