Resolves "NOX: Treat Exception as Solve Failure"
Created by: jmgate
@trilinos/thyra, @trilinos/nox
Description
As per the discussion in #1608, a LinearOpApplyFailed
exception was added to Thyra, documented with the LinearOpBase::apply()
routine, and then caught in LOCA's Stepper
to be treated as a solve failure, such that LOCA can back up, reduce its step size, and then keep on working.
Motivation and Context
A simulation in Charon ran into a case where a Schur complement calculated as part of a preconditioner was singular, but instead of treating that as a solve failure, LOCA and the simulation just bailed.
Related Issues
- Closes #1608
How Has This Been Tested?
Trying out the new pull request auto-tester.
Checklist
-
My commit messages mention the appropriate GitHub issue numbers. -
My code follows the code style of the affected package(s). -
My change requires a change to the documentation. -
I have updated the documentation accordingly. -
I have read the code contribution guidelines for this project. -
I have added tests to cover my changes. -
All new and existing tests passed. -
No new compiler warnings were introduced. -
These changes break backwards compatibility.
Haven't checked on the compiler warnings yet, but I'll do that soon.