On Fri, Apr 17, 2009 at 12:58 AM, Yongcheng Zhou <yongcheng.zhou at gmail.com>wrote:
> Hi there, > > I am wondering what is the real tolerance for stopping the Krylov > iteations. In solving my nonlinear problem I have to call > KSP solvers multiple time. my tolerance setting is > KSPSetTolerances(ksp,1.e-5,1.e-5,PETSC_DEFAULT,200); > > After several calls I found that the linear solver does not do > anything, as shown by the convergence history: > > 35 KSP preconditioned resid norm 8.570481231422e-05 true resid norm > 7.256019920381e+01 ||Ae||/||Ax|| 1.008233844002e-01 > 36 KSP preconditioned resid norm 5.210695852340e-06 true resid norm > 7.448290646301e+00 ||Ae||/||Ax|| 1.034950123066e-02 > 0 KSP preconditioned resid norm 5.210622961414e-06 true resid norm > 7.448436220158e+00 ||Ae||/||Ax|| 1.000000000000e+00 > 0 KSP preconditioned resid norm 5.210622961414e-06 true resid norm > 7.448436220158e+00 ||Ae||/||Ax|| 1.000000000000e+00 > 0 KSP preconditioned resid norm 5.210622961414e-06 true resid norm > 7.448436220158e+00 ||Ae||/||Ax|| 1.000000000000e+00 > > where in the last three calls the KSP simply refused to do any > interation. Is there any way I can force the KSP to check the > convergence according to true resid or Ae/Ax rather than the > preconditoned resid? I am not sure waht you are asking. You can write any tolerance check you want using KSPSetConvergenceTest(). Matt > > Thanks! > > Rocky > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20090417/c2d69513/attachment.htm>
