Hi, Why don't you use "-ksp_norm_type unpreconditioned" option?
Thanks, Keita -----Original Message----- From: [email protected] [mailto:petsc-users-bounces at mcs.anl.gov] On Behalf Of Yongcheng Zhou Sent: Friday, April 17, 2009 12:59 AM To: PETSc users list Subject: tolerance 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? Thanks! Rocky
