[firedrake] Problem with Jacobian

David Ham David.Ham at imperial.ac.uk
Fri Nov 6 14:59:56 GMT 2015


On Fri, 6 Nov 2015 at 14:54 Buesing, Henrik <HBuesing at eonerc.rwth-aachen.de>
wrote:

> > >>> Firedrake uses the UFL derivative function, but does not expose this
> > >>> extra argument in the interface.  It is straightforward to alter the
> > >>> definition in firedrake/ufl_expr.py to take this extra argument and
> > >>> pass it through.
> > >
> > > [Buesing, Henrik]
> > >
> > > @Lawrence: So how would I pass the "coefficient_derivatives" field
> > through?
> >
> >
> > 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.

David


>
>
> Henrik
>
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the firedrake mailing list