Skip to content

Bugfix/istlsolver handle recoverable exception during solver construction

Fix #1380 (closed).

The solver construction may fail on single processes due to numerical issues which is a recoverable exception (e.g. we want to reduce the time step size). This fix handles this case in parallel where the failure to construct the solver must be communicated across processes to report failure synchronously. If this is not done, some processes may continue to solve and deadlock on a collective communication during solve (waiting for the processes that never finished the solver constructor).

This MR also contains a cleanup of deprecated code in the IstlSolverFactoryBackend that was forgotten in the previous cleanup.

The Newton parallel test is adjusted to test the desired behaviour in parallel by mocking the pattern of the exception.

Backport to release 3.9.

  • Add Changelog entry about the bugfix
Edited by Timo Koch

Merge request reports

Loading