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.

Attachment: pgpREFcidckbH.pgp
Description: PGP signature

Reply via email to