def function(self, x, y, sigma0, Rs, center_x=0, center_y=0):
        """
        lensing potential
        :param x:
        :param y:
        :param sigma0: sigma0/sigma_crit
        :param a:
        :param s:
        :param center_x:
        :param center_y:
        :return:
        """
        x_ = x - center_x
        y_ = y - center_y
        r = np.sqrt(x_**2 + y_**2)
        if isinstance(r, int) or isinstance(r, float):
            r = max(self._s, r)
        else:
            r[r < self._s] = self._s
        X = r / Rs
        f_ = sigma0 * Rs ** 2 * (np.log(X ** 2 / 4.) + 2 * self._F(X))
        return f_
lensing potential
        :param x:
        :param y:
        :param sigma0: sigma0/sigma_crit
        :param a:
        :param s:
        :param center_x:
        :param center_y:
        :return: