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

Ping He friedenhe at gmail.com
Mon Apr 10 13:22:38 CDT 2017


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