code: def set_rate_BC(self, pores, values):
          r
          self._set_BC(pores=pores, bctype='rate', bcvalues=values, mode='merge')
docs: r"""
          Apply constant rate boundary conditons to the specified pore
          locations. This is similar to a Neumann boundary condition, but is
          slightly different since it's the conductance multiplied by the
          gradient, while Neumann conditions specify just the gradient.
  
          Parameters
          ----------
          pores : array_like
              The pore indices where the condition should be applied
  
          values : scalar or array_like
              The value to of the boundary condition.  If a scalar is supplied
              it is assigne to all locations, and if a vector is applied it
              corresponds directy to the locations given in ``pores``.
  
          Notes
          -----
          The definition of ``quantity`` is specified in the algorithm's
          ``settings``, e.g. ``alg.settings['quentity'] = 'pore.pressure'``.