[petsc-users] SNES and ghosted vector of unknowns

Jed Brown jedbrown at mcs.anl.gov
Mon Apr 23 07:30:32 CDT 2012


On Mon, Apr 23, 2012 at 07:17, Dominik Szczerba <dominik at itis.ethz.ch>wrote:

> Great to hear there is a dedicated functionality for the Picard
> scheme. I have 2 related questions:
>
> 1) What is 'func' on the SNESSetPicard manual page. It only says
> "function evaluation routine". What function? Do you mean Ax-b?
> 2) Is it supposed to perform better / more optimally then using
> FormFunction with FormJacobian and passing A as the Jacobian?
>

All SNESSetPicard does is evaluate both A and b in "residual evaluation",
compute F(x) = A(x)x - b(x), and internally cache the matrix A(x). Using it
is completely optional. If you are willing to write residual evaluation for
the whole F(x), then you will benefit from having less expensive residual
evaluations, making line searches and matrix-free Newton
(-snes_mf_operator) affordable.

Personally, I dislike Picard. I have yet to find a problem in which I can't
make some variant of Newton beat it.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120423/f6cc45c9/attachment.htm>


More information about the petsc-users mailing list