From 9ed02b33bc8d69a9e1e91d26350dda34751316b7 Mon Sep 17 00:00:00 2001 From: Markus Blatt Date: Thu, 6 Apr 2017 12:04:47 +0200 Subject: [PATCH] Fix verbosity parameter used for parallel istl solvers. These are not aware whether they are parallel or not. Therefore the user should only specify a verbose verbosity only on one rank. With this commit we do this on the process responsible for terminal output. --- opm/autodiff/ISTLSolver.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/opm/autodiff/ISTLSolver.hpp b/opm/autodiff/ISTLSolver.hpp index 443a8ce3a..580eb0f6c 100644 --- a/opm/autodiff/ISTLSolver.hpp +++ b/opm/autodiff/ISTLSolver.hpp @@ -329,12 +329,14 @@ namespace Opm // TODO: Revise when linear solvers interface opm-core is done // Construct linear solver. // GMRes solver + int verbosity = ( isIORank_ ) ? parameters_.linear_solver_verbosity_ : 0; + if ( parameters_.newton_use_gmres_ ) { Dune::RestartedGMResSolver linsolve(opA, sp, precond, parameters_.linear_solver_reduction_, parameters_.linear_solver_restart_, parameters_.linear_solver_maxiter_, - parameters_.linear_solver_verbosity_); + verbosity); // Solve system. linsolve.apply(x, istlb, result); } @@ -342,7 +344,7 @@ namespace Opm Dune::BiCGSTABSolver linsolve(opA, sp, precond, parameters_.linear_solver_reduction_, parameters_.linear_solver_maxiter_, - parameters_.linear_solver_verbosity_); + verbosity); // Solve system. linsolve.apply(x, istlb, result); }