Hi. I want to implement a diffusion problem. Its bilinear form is:

```
D = 2 # diffusivity
c = Function(V) # concentration
c_ = TestFunction(V)
form = dot(grad(c), grad(c_))*D*dx
```

However, diffusivity is a nonlinear function of concentration.

If I had diffusivity as an explicit function of concentrations, like D = c^2 + 2c, I could have just written it like

```
D = c**2+2*c
c = Function(V)
c_ = TestFunction(V)
form = dot(grad(c), grad(c_))*D*dx
```

However, I have concentration vs diffusivity data in a tabular form.

How can I define the weak form in such a case? (without having to do curve fitting and getting an explicit analytical expression).