[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