[petsc-users] How to do a precondition in SNES flow

Gong Ding gongding at cn.cogenda.com
Tue Oct 3 12:51:38 CDT 2023


Hi all,

I'd like to do a  special jacobian precondition during the snes 
iteration, for which jacobian matrix and RHS vector must be modified 
explicitly.

In the SNESComputeJacobian, the preconditioner P is built after assembly 
of jacobian matrix.

I need to multiply P to J and RHS vector  explicitly as left 
precondition before the solve stage of J*dx = rhs.

However, I find that petsc evaluates function before jacobian, so P*RHS vector can not be processed at SNESComputeFunction.

As a result,  I must find a hook function after SNESComputeJacobian and before the solve stage.

Any suggest?

Gong Ding
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20231004/dea30513/attachment.html>


More information about the petsc-users mailing list