[petsc-users] How to do a precondition in SNES flow
Gong Ding
gongding at cn.cogenda.com
Tue Oct 3 13:44:31 CDT 2023
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 <gongding at 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20231004/c9dcaf55/attachment.html>
More information about the petsc-users
mailing list