[petsc-users] SNES line search

Shiyuan Gu sgu at anl.gov
Wed Oct 17 14:02:04 CDT 2012


Hi,
    I am using petsc-3.3-p2.  For my particular equation, for the first few
iterations, the residual norm is effectively reduced and the solution X is
very close to the exact solution (the residual norm is e-17). Then in the
next iteration, SNES_KSPSolve(....) returns a newton step very close to
zero which is correct, but the line search after it fails, and the function
SNESLSCheckLocalMin_Private(...) is called. In the function
SNESLSCheckLocalMin_Private(),
the solution vector X is rewritten to X=J^T*F where J is the Jacobian and F
is the residual. Since F is very close to zero, X is also zero which is
wrong.
Is there a way to skip the line search?(if the line search is not
performed, there would be no problem for this particular equation).  How
should we handle this situation?

Also, after the solution vector X is rewritten by
SNESLSCheckLocalMin_Private(), the new residual  norm is not printed on
screen (which is huge for this particular problem).  Since the residual
norm printed on the screen is going to machine accuracy,  users might think
that the SNESSolve converges nicely and the returned solution is correct.
This seems a bit misleading in my opinion.

Thanks.

Shiyuan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20121017/f9142c56/attachment.html>


More information about the petsc-users mailing list