Merge pull request #1040 from atgeirr/fix-linsolverfactory-default-solver

Set default solver depending on configuration.
This commit is contained in:
Bård Skaflestad 2016-06-15 17:34:41 +02:00 committed by GitHub
commit c5c5893591

View File

@ -61,8 +61,19 @@ namespace Opm
LinearSolverFactory::LinearSolverFactory(const parameter::ParameterGroup& param)
{
#if HAVE_SUITESPARSE_UMFPACK_H
std::string default_solver = "umfpack";
#elif HAVE_DUNE_ISTL
std::string default_solver = "istl";
#elif HAVE_PETSC
std::string default_solver = "petsc";
#else
std::string default_solver = "no_solver_available";
OPM_THROW(std::runtime_error, "No linear solver available, you must have UMFPACK , dune-istl or Petsc installed to use LinearSolverFactory.");
#endif
const std::string ls =
param.getDefault<std::string>("linsolver", "umfpack");
param.getDefault("linsolver", default_solver);
if (ls == "umfpack") {
#if HAVE_SUITESPARSE_UMFPACK_H