diff --git a/dune/gfe/riemanniantrsolver.cc b/dune/gfe/riemanniantrsolver.cc index 7fc00955bd257e44c7b7a9e5b4aa88f2bd37a6ba..39df3eb70428ea1e307cda23c67a98d83a0cfe41 100644 --- a/dune/gfe/riemanniantrsolver.cc +++ b/dune/gfe/riemanniantrsolver.cc @@ -598,12 +598,21 @@ void RiemannianTrustRegionSolver<Basis,TargetSpace,Assembler>::solve() if (solved) { if (this->verbosity_ == NumProc::FULL and rank==0) - if (normType_ == ErrorNormType::infinity) + { + switch (normType_) + { + case ErrorNormType::infinity : std::cout << "infinity norm of the correction: " << corrGlobalNorm << std::endl; - else if (normType_ == ErrorNormType::H1semi) + break; + + case ErrorNormType::H1semi : std::cout << "H1-semi norm of the correction: " << corrGlobalNorm << std::endl; - else + break; + + default : DUNE_THROW(Dune::Exception, "Unknown norm type for stopping criterion!"); + } + } if (corrGlobalNorm < this->tolerance_ && corrGlobalNorm < trustRegion.radius()*smallestScalingParameter) { if (this->verbosity_ == NumProc::FULL and rank==0)