Hi,

I need to use a parametric source function (an approximative delta) and I tried to do the following, where u is a given and defined function already.

```
class nascentDelta(Expression):
def __init__(self, eps):
self.eps = eps
def eval(self, values, x):
eps = self.eps
values[0] = eps/pi/(x[0]**2 + x[1]**2 + eps**2)
C = FiniteElement("Lagrange", mesh.ufl_cell(), degree = 2)
C = FunctionSpace(mesh, C)
zerotop_concentration = DirichletBC(C, 0, "on_boundary && x[1] > 1 - DOLFIN_EPS")
bcc = [zerotop_concentration]
c = TrialFunction(C)
d = TestFunction(C)
a = inner(u, grad(c)) * d * dx + (c.dx(0) * d.dx(0) + c.dx(1) * d.dx(1)) * dx - inner(c.dx(1), d.dx(1)) * ds(1)
delta = nascentDelta(0.01)
L = inner(delta, d) * dx
c = Function(C)
solve(a == L, c, bcc)
```

But this gives me the following recursion error:

File â€ś/usr/local/lib/python3.6/dist-packages/dolfin/function/expression.pyâ€ť, line 432, in **getattr**

return self._parameters[name]

[Previous line repeated 327 more times]

RecursionError: maximum recursion depth exceeded while calling a Python object

This is based on the idea detailed at https://fenicsproject.org/qa/7941/applying-dirac-function-using-fenics-pointsource-function/?show=7941#q7941

Could anyone help me and tell what I am doing wrong? Thank you so much.