diff --git a/dune/solvers/solvers/loopsolver.cc b/dune/solvers/solvers/loopsolver.cc index 01593c5200f9cd3e0447061c6bded0ae48327a18..7a7b4c641bc5f2279d19f74324864d6b8fd89b07 100644 --- a/dune/solvers/solvers/loopsolver.cc +++ b/dune/solvers/solvers/loopsolver.cc @@ -157,20 +157,28 @@ void Dune::Solvers::LoopSolver<VectorType, BitVectorType>::solve() std::cout.flags(oldFormatFlags); std::cout << this->iterationStep_->getOutput(); + } - bool stop = false; - for(auto&& c: criteria_) + // execute the stop criteria regardless of the verbosity + bool stop = false; + for(auto&& c: criteria_) + { + auto r = c(); + stop = stop or std::get<0>(r); + if (this->verbosity_ == NumProc::FULL) { - auto r = c(); - stop = stop or std::get<0>(r); - std::cout << std::get<1>(r); + std::cout << std::get<1>(r); } + } + if (this->verbosity_ == NumProc::FULL) + { std::cout << std::endl; - - if (stop) - break; } + + if (stop) + break; + }