On Tue, Oct 3, 2023 at 1:51 PM Gong Ding <[email protected]> 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.
>
> What you are proposing is exactly what PETSc does with left
preconditioning, multiplies both sides by the preconditioner. What do you
want to change?

  Thanks,

     Matt

> 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
>
>

-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>

Reply via email to