docs: def init_c_overturn(step):
      """Initial concentration.
  
      This compute the resulting composition profile if fractional
      crystallization of a SMO is assumed.
  
      Args:
          step (:class:`~stagpy.stagyydata._Step`): a step of a StagyyData
              instance.
      Returns:
          tuple of :class:`numpy.array`: the composition and the radial position
          at which it is evaluated.
      """
      rbot, rtop = misc.get_rbounds(step)
      xieut = step.sdat.par['tracersin']['fe_eut']
      k_fe = step.sdat.par['tracersin']['k_fe']
      xi0l = step.sdat.par['tracersin']['fe_cont']
      xi0s = k_fe * xi0l
      xired = xi0l / xieut
      rsup = (rtop**3 - xired**(1 / (1 - k_fe)) *
              (rtop**3 - rbot**3))**(1 / 3)
  
      def initprof(rpos):
          """Theoretical initial profile."""
          if rpos < rsup:
              return xi0s * ((rtop**3 - rbot**3) /
                             (rtop**3 - rpos**3))**(1 - k_fe)
          return xieut
  
      rad = np.linspace(rbot, rtop, 500)
      initprof = np.vectorize(initprof)
      return initprof(rad), rad