mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Merge pull request #1040 from atgeirr/fix-linsolverfactory-default-solver
Set default solver depending on configuration.
This commit is contained in:
commit
c5c5893591
@ -61,8 +61,19 @@ namespace Opm
|
|||||||
|
|
||||||
LinearSolverFactory::LinearSolverFactory(const parameter::ParameterGroup& param)
|
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 =
|
const std::string ls =
|
||||||
param.getDefault<std::string>("linsolver", "umfpack");
|
param.getDefault("linsolver", default_solver);
|
||||||
|
|
||||||
if (ls == "umfpack") {
|
if (ls == "umfpack") {
|
||||||
#if HAVE_SUITESPARSE_UMFPACK_H
|
#if HAVE_SUITESPARSE_UMFPACK_H
|
||||||
|
Loading…
Reference in New Issue
Block a user