![]() |
OGS
|
|
Functions | |
| template<typename Assemble> | |
| bool | assembledOnAllRanks (Assemble const &assemble) |
| bool NumLib::anonymous_namespace{NonlinearSolver.cpp}::assembledOnAllRanks | ( | Assemble const & | assemble | ) |
Runs assemble and reconciles a NumLib::AssemblyException thrown by it across all MPI ranks.
Do not remove the reconciliation across ranks: a rank that carried on while another one aborted would block in the collective calls of the subsequent linear solve and deadlock the simulation. The reconciliation itself is not covered by a test: the unit tests in Tests/NumLib/TestNonlinearSolverAssemblyException.cpp run on a single rank, and they are disabled in PETSc builds altogether (issue #1989).
Definition at line 97 of file NonlinearSolver.cpp.
References BaseLib::MPI::anyOf(), assembledOnAllRanks(), and ERR().
Referenced by assembledOnAllRanks().