On 09/23/2014 06:11 PM, Barry Smith wrote:
On Sep 23, 2014, at 9:50 AM, anton <[email protected]> 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

Reply via email to