[petsc-users] SNES diverges when KSP reach max iteration?

Barry Smith bsmith at mcs.anl.gov
Mon Apr 10 14:14:22 CDT 2017


SNESSetMaxLinearSolveFailures() or -snes_max_linear_solve_fail  1000 (use some large number here).




> On Apr 10, 2017, at 1:22 PM, Ping He <friedenhe at gmail.com> wrote:
> 
> Dear all,
> 
> I am using SNES for an incompressible flow problem. I choose the preconditioned matrix-free Newton approach with the Eisenstat-Walker option, and the KSP solver is GMRES.
> 
> Now I have a question on how do I setup the convergence criteria for KSP. I notice that if the ksp iteration reaches the maxIter_ksp (I set it to 300), SNES will treat it as divergence and quit. However, this is usually not the case and the SNES norm can definitely drop more. So I am wondering if there is a way to tell SNES that if KSP reaches maxIter_ksp, continue doing line search and don't quit. I know that I can play with the maxIter_ksp and EW parameters to mitigate this issue, but I don't want KSP to over-solve for each SNES iteration.
> 
> Anyway, I want a setup that SNES will quit based on rTol_snes and maxIter_snes, instead of maxIter_ksp. Any suggestions? Thanks very much in advance!
> 
> Best regards,
> 
> Jack
> 



More information about the petsc-users mailing list