I’d like to trigger an error if a linear solve does not converge due to DIVERGED_ITS.
This seems to be inconsistent with -snes_error_if_not_converged.
$ 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