Hi!

We have recently noticed some inconsistencies in the behavior of the SNES 
solver when using different solver types, and we would greatly appreciate your 
insights in resolving this matter.

While working with SNESSolve in parallel, we have encountered a discrepancy in 
the behavior of the evaluation functions for the ComputeFunction and the 
JacobianFunction. Specifically, there seems to be an inconsistency in whether 
Vec x receives automatic updates to its ghosts or if manual updates are 
required (with calls to VecGhostUpdateBegin/End).

For instance, when using the ngmres solver, the ghosts of Vec x are adequately 
updated. However, when employing the nrichardson solver, it appears that manual 
updates to the ghosts are necessary.

It's important to note that we do not utilize the DM object in our 
implementation, as we have developed our own solution to manage models and 
discretization.

To better understand the root cause of this behavior, we kindly request your 
assistance in determining if we may be overlooking something in our 
implementation, or if there are inherent inconsistencies in the SNES solver 
itself.

Your expertise in this matter would be invaluable to us, and we thank you in 
advance for your consideration and support.

Warm regards,

—René Chenard
Research Professional at Université Laval
[email protected]

Reply via email to