[firedrake] Jacobian wrong with -snes_fd_color
Buesing, Henrik
HBuesing at eonerc.rwth-aachen.de
Mon Nov 23 08:55:30 GMT 2015
So, the only way to deal with this is the following?
Use my functions to calculate the values pointwise. Then, provide the correct derivatives via the coefficient_derivatives keyword in the derivative() function.
Henrik
>
>
> Dear all,
>
> I have a lot of coefficients in my form, e.g.
>
> 1) Calculate density rhow pointwise from temperature and pressure via
> interpolation of a table rhow = Function(DG1)
> rhow.dat.data[:]=calc_rhow(temp,Tsat,pw)
>
> 2) Averaging
> rhow_avg = (rhow('+') + rhow('-')) / 2.0
>
> 3) Use rhow_avg in my form.
>
> This works all right for calulcating F(u), but fails when computing the
> Jacobian. Since I calculate things pointwise and providing all the
> derivatives is not so easy I use -snes_fd_color.
>
> What I would want to happen is that the function calc_rhow is called
> every time rhow_avg is needed. This seems not to be the case. Rather the
> coefficient is assumed constant and thus the derivative is zero.
>
> How can I make sure that the function calc_rhow is called every time I
> need rhow_avg?
>
> Thank you!
>
> Henrik
>
>
>
>
>
>
> --
> Dipl.-Math. Henrik Büsing
> Institute for Applied Geophysics and Geothermal Energy E.ON Energy
> Research Center RWTH Aachen University
> ------------------------------------------------------
> Mathieustr. 10 | Tel +49 (0)241 80 49907
> 52074 Aachen, Germany | Fax +49 (0)241 80 49889
> ------------------------------------------------------
> http://www.eonerc.rwth-aachen.de/GGE
> hbuesing at eonerc.rwth-aachen.de
> ------------------------------------------------------
>
>
> _______________________________________________
> firedrake mailing list
> firedrake at imperial.ac.uk
> https://mailman.ic.ac.uk/mailman/listinfo/firedrake
More information about the firedrake
mailing list