> On Oct 3, 2023, at 2:44 PM, Gong Ding <[email protected]> wrote:
> 
> Any better choice if I can do right precondition?
> 
> Merge Jacobian to Function evaluation has performance lost.  
> 

  Why ? Should still just compute the Jacobian once, just earlier in the 
process.

> 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 <[email protected]> 
>>> <mailto:[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. 
>>> 
>>> 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