If you change the definition of derivative in firedrake/ufl_expr.py to take an optional coefficient_derivatives argument:
def derivative(F, u, du=None, coefficient_derivatives=None): ...
And just pass that value through to the ufl.derivative call:
ufl.derivative(..., coefficient_derivatives=coefficient_derivatives)
If you do this in the firedrake source directly, you will be able to commit your change in the local git repository. You can send us these changes by forking firedrake on github and proposing a pull-request that way.
Hmm... Okay I did this. Then I did a "make" in the firedrake directory. But then I'm still getting a TypeError: derivative() takes at most 3 arguments (4 given) So how can I test this? Thank you! It depends a little on how you originally installed firedrake. If you installed firedrake by running firedrake-install (i.e. not with --developer) then you change to the firedrake/src directory and (with the virtualenv active) type: pip install --upgrade firedrake/ If you have installed firedrake some other way, please say how and we can tell you how to build. [Buesing, Henrik] I followed the „Installing from individual components” manual. I cloned the firedrake repository git clone https://github.com/firedrakeproject/firedrake.git Then I did make in the firedrake directory. cd firedrake export PYTHONPATH=$PWD:$PYTHONPATH make Henrik