Changing location mounts to
class Delta(UserExpression):
def __init__(self, eps, x0, **kwargs):
self.eps = eps
self.x0 = x0
UserExpression.__init__(self, **kwargs)
def eval(self, values, x):
eps = self.eps
values[0] = eps/pi/(np.linalg.norm(x-self.x0)**2 + eps**2)
values[1] = 0
values[2] = 0
def value_shape(self): return (3, )
delta = Delta(eps=1E-4, x0=np.array([0.5, 0, 0]), degree=5)
You can control magnitude by scaling, i.e. L = inner(Constant(100)*delta, v)*dx