Any better choice if I can do right precondition?

Merge Jacobian to Function evaluation has performance lost.

On 2023/10/4 02:13, Barry Smith wrote:

  Simply evaluate the Jacobian during your SNESComputeFunction and save it for SNESComputeJacobian.



On Oct 3, 2023, at 1:51 PM, Gong Ding <gongd...@cn.cogenda.com> wrote:

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

Reply via email to