Catch MatrixBlockError in the adaptive time stepper.

This can be thrown by the ILU0 preconditioner when using the
interleaved solver approach.
This commit is contained in:
Atgeirr Flø Rasmussen 2015-08-17 12:59:31 +02:00
parent b3b0b427ab
commit e41b766780

View File

@ -27,6 +27,7 @@
#include <opm/core/simulator/AdaptiveSimulatorTimer.hpp>
#include <opm/core/simulator/TimeStepControl.hpp>
#include <dune/istl/istlexception.hh>
#include <dune/istl/ilu.hh> // For MatrixBlockException
namespace Opm {
@ -154,6 +155,10 @@ namespace Opm {
std::cerr << e.what() << std::endl;
// also catch errors in ISTL AMG that occur when time step is too large
}
catch (const Dune::MatrixBlockError& e) {
std::cerr << e.what() << std::endl;
// also catch errors in ISTL AMG that occur when time step is too large
}
// (linearIterations < 0 means no convergence in solver)
if( linearIterations >= 0 )