https://gitlab.com/petsc/petsc/-/merge_requests/4219
> On Aug 8, 2021, at 7:42 AM, Pierre Jolivet <[email protected]> wrote: > > Hello, > I’d like to trigger an error if a linear solve does not converge due to > DIVERGED_ITS. > Since this MR https://gitlab.com/petsc/petsc/-/merge_requests/1294 > <https://gitlab.com/petsc/petsc/-/merge_requests/1294>, no error is triggered > anymore if ksp->reason == KSP_DIVERGED_ITS. > This seems to be inconsistent with -snes_error_if_not_converged. > Is there a workaround? Shouldn’t this be clarified in the manual page? > > Thank you, > Pierre > > $ src/ksp/ksp/tutorials/ex1 -ksp_max_it 1 -ksp_converged_reason > -ksp_error_if_not_converged && echo "No error" > Linear solve did not converge due to DIVERGED_ITS iterations 1 > KSP Object: 1 MPI processes > type: gmres > restart=30, using Classical (unmodified) Gram-Schmidt Orthogonalization > with no iterative refinement > happy breakdown tolerance 1e-30 > maximum iterations=1, initial guess is zero > tolerances: relative=1e-05, absolute=1e-50, divergence=10000. > left preconditioning > using PRECONDITIONED norm type for convergence test > PC Object: 1 MPI processes > type: jacobi > type DIAGONAL > linear system matrix = precond matrix: > Mat Object: 1 MPI processes > type: seqaij > rows=10, cols=10 > total: nonzeros=28, allocated nonzeros=50 > total number of mallocs used during MatSetValues calls=0 > not using I-node routines > Norm of error 2.95296, Iterations 1 > No error
