<div dir="ltr"><div>Hi PETSc team:</div><div><br></div><div>I am a bit confused by the output of converged reason. I set the relative tolerance to be 10^{-3}. In my run, I get the monitor true residual to be as follows.<br></div><div>0 KSP preconditioned resid norm 5.402205955230e-11 true resid norm 9.999870838355e-01 ||r(i)||/||b|| 1.000000000000e+00<br>    1 KSP preconditioned resid norm 2.240069771831e-12 true resid norm 2.329743436488e-01 ||r(i)||/||b|| 2.329773528226e-01<br>    2 KSP preconditioned resid norm 3.394412665922e-13 true resid norm 7.296473323081e-02 ||r(i)||/||b|| 7.296567566748e-02<br>    3 KSP preconditioned resid norm 4.936386334724e-14 true resid norm 1.313944571812e-02 ||r(i)||/||b|| 1.313961543155e-02</div><div><br></div><div>And the converged reason is solve converged due to CONVERGED_RTOL iterations 3. The relative error is quite far from the prescribed tolerance. Is there something I should know about the stopping criteria?<br></div><div><br></div><div>The ks_view output is</div><div>Linear m_fieldsplit_0_ solve converged due to CONVERGED_RTOL iterations 3<br>KSP Object:(m_fieldsplit_0_) 24 MPI processes<br>  type: gmres<br>    GMRES: restart=100, using Classical (unmodified) Gram-Schmidt Orthogonalization with no iterative refinement<br>    GMRES: happy breakdown tolerance 1e-30<br>  maximum iterations=100, initial guess is zero<br>  tolerances:  relative=0.001, absolute=1e-50, divergence=10000<br>  left preconditioning<br>  using PRECONDITIONED norm type for convergence test<br>PC Object:(m_fieldsplit_0_) 24 MPI processes<br>  type: hypre<br>    HYPRE BoomerAMG preconditioning<br>    HYPRE BoomerAMG: Cycle type V<br>    HYPRE BoomerAMG: Maximum number of levels 25<br>    HYPRE BoomerAMG: Maximum number of iterations PER hypre call 1<br>    HYPRE BoomerAMG: Convergence tolerance PER hypre call 0<br>    HYPRE BoomerAMG: Threshold for strong coupling 0.25<br>    HYPRE BoomerAMG: Interpolation truncation factor 0<br>    HYPRE BoomerAMG: Interpolation: max elements per row 0<br>    HYPRE BoomerAMG: Number of levels of aggressive coarsening 0<br>    HYPRE BoomerAMG: Number of paths for aggressive coarsening 1<br>    HYPRE BoomerAMG: Maximum row sums 0.9<br>    HYPRE BoomerAMG: Sweeps down         1<br>    HYPRE BoomerAMG: Sweeps up           1<br>    HYPRE BoomerAMG: Sweeps on coarse    1<br>    HYPRE BoomerAMG: Relax down          symmetric-SOR/Jacobi<br>    HYPRE BoomerAMG: Relax up            symmetric-SOR/Jacobi<br>    HYPRE BoomerAMG: Relax on coarse     Gaussian-elimination<br>    HYPRE BoomerAMG: Relax weight  (all)      1<br>    HYPRE BoomerAMG: Outer relax weight (all) 1<br>    HYPRE BoomerAMG: Using CF-relaxation<br>    HYPRE BoomerAMG: Measure type        local<br>    HYPRE BoomerAMG: Coarsen type        HMIS<br>    HYPRE BoomerAMG: Interpolation type  ext+i<br>  linear system matrix = precond matrix:<br>  Mat Object:  (m_fieldsplit_0_)   24 MPI processes<br>    type: mpiaij<br>    rows=115812, cols=115812<br>    total: nonzeros=1.34986e+06, allocated nonzeros=1.34986e+06<br>    total number of mallocs used during MatSetValues calls =0<br>      not using I-node (on process 0) routines</div><div><br></div><div><br></div><div>Thanks,</div><div><br></div><div>Mike<br></div><div><br></div><div><br></div></div>