[petsc-users] SNESSetJacobian

anton popov at uni-mainz.de
Wed Sep 24 05:21:45 CDT 2014


On 09/23/2014 06:11 PM, Barry Smith wrote:
> On Sep 23, 2014, at 9:50 AM, anton <popov at uni-mainz.de> wrote:
>
>> Starting from version 3.5 the matrix parameters in SNESSetJacobian are no longer pointers, hence my question:
>> What is the most appropriate place to call SNESSetJacobian if I need  to change the Jacobian during solution?
>> What about FormFunction?
>     Could you please explain why you need to change the Mat? Our hope was that people would not need to change it. Note that you can change the type of a matrix at any time. So for example inside your FormJacobian you can have code like MatSetType(J,MATAIJ) this wipes out the old matrix data structure and gives you an empty matrix of the new type ready to be preallocated and then filled. Let us know what you need.


How should a user switch from assembled to a matrix-free Jacobian (for 
example) within one run? Simplest is resetting SNES altogether, I guess.

Anton

>    Barry
>
>> Thanks,
>> Anton



More information about the petsc-users mailing list