Derek Gaston <[email protected]> writes: > As a workaround I have tried returning various "diverged" statuses in my > linear and nonlinear convergence checks... but it still has a pesky problem > where there are a couple more residual evaluations at the "end" of the > nonlinear solve.
I think this is something that we should fix. The SNESMF evaluator has access to the SNES and we could have the SNES refuse to re-evaluate if the diverged reason has already been set. Perhaps we can also mark the matrix as being invalid so that KSP_MatMult and friends could decide that KSP has failed. Semantically, we are discovering that the Mat does not actually act in the full linear space, but in some subspace with inequalities. Semantically, I would rather the KSP decide whether it makes sense to do further evaluations because in some cases, the domain violations could be handled gracefully.
pgpREFcidckbH.pgp
Description: PGP signature
