diff --git a/test/porenetwork/1p/main.cc b/test/porenetwork/1p/main.cc index 0e12adc86aa7c59bcf2714962c88b246b8eaf51d..cafea70b7c18f31b784e81489061fe1ac269bb79 100644 --- a/test/porenetwork/1p/main.cc +++ b/test/porenetwork/1p/main.cc @@ -36,6 +36,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/parameters.hh> #include <dumux/common/dumuxmessage.hh> + #include <dumux/linear/istlsolvers.hh> #include <dumux/linear/linearsolvertraits.hh> #include <dumux/linear/linearalgebratraits.hh> @@ -123,9 +124,7 @@ int main(int argc, char** argv) // solve the linear system Dune::Timer solverTimer; - using LinearSolver = ILU0RestartedGMResBackend; - // using LinearSolver = ILUnRestartedGMResBackend; - // using LinearSolver = UMFPackIstlSolver<SeqLinearSolverTraits, LinearAlgebraTraitsFromAssembler<Assembler>>; + using LinearSolver = ILURestartedGMResIstlSolver<SeqLinearSolverTraits, LinearAlgebraTraitsFromAssembler<Assembler>>; auto linearSolver = std::make_shared<LinearSolver>(); if (mpiHelper.rank() == 0) std::cout << "Solving linear system using " + linearSolver->name() + "..." << std::flush; diff --git a/test/porenetwork/1p/noncreepingflow/main.cc b/test/porenetwork/1p/noncreepingflow/main.cc index 40746fae1a1bc50150800110fb3002e9a9c82af5..1bb3ca993b45363e533692b30b3b2b8f9e0f12f8 100644 --- a/test/porenetwork/1p/noncreepingflow/main.cc +++ b/test/porenetwork/1p/noncreepingflow/main.cc @@ -32,7 +32,10 @@ #include <dumux/common/properties.hh> #include <dumux/common/parameters.hh> #include <dumux/common/dumuxmessage.hh> -#include <dumux/linear/seqsolverbackend.hh> + +#include <dumux/linear/istlsolvers.hh> +#include <dumux/linear/linearsolvertraits.hh> +#include <dumux/linear/linearalgebratraits.hh> #include <dumux/nonlinear/newtonsolver.hh> #include <dumux/porenetwork/common/pnmvtkoutputmodule.hh> @@ -106,7 +109,7 @@ int main(int argc, char** argv) const auto boundaryFlux = Dumux::PoreNetwork::BoundaryFlux(*gridVariables, assembler->localResidual(), x); // the linear solver - using LinearSolver = ILU0RestartedGMResBackend; + using LinearSolver = ILURestartedGMResIstlSolver<SeqLinearSolverTraits, LinearAlgebraTraitsFromAssembler<Assembler>>; auto linearSolver = std::make_shared<LinearSolver>(); // the non-linear solver diff --git a/test/porousmediumflow/1p/rootbenchmark/main.cc b/test/porousmediumflow/1p/rootbenchmark/main.cc index 617b2168f8da6ab732da5410bf9f577e6b7129b2..8abe93afc8023f02aab9a6a87d95516ab3690c58 100644 --- a/test/porousmediumflow/1p/rootbenchmark/main.cc +++ b/test/porousmediumflow/1p/rootbenchmark/main.cc @@ -31,7 +31,9 @@ #include <dumux/common/initialize.hh> #include <dumux/common/properties.hh> -#include <dumux/linear/seqsolverbackend.hh> +#include <dumux/linear/istlsolvers.hh> +#include <dumux/linear/linearsolvertraits.hh> +#include <dumux/linear/linearalgebratraits.hh> #include <dumux/linear/pdesolver.hh> #include <dumux/assembly/fvassembler.hh> @@ -95,8 +97,8 @@ int main(int argc, char** argv) auto assembler = std::make_shared<Assembler>(problem, gridGeometry, gridVariables); // the linear solver - using LinearSolver = SSORCGBackend; - auto linearSolver = std::make_shared<LinearSolver>(); + using LinearSolver = SSORCGIstlSolver<LinearSolverTraits<GridGeometry>, LinearAlgebraTraitsFromAssembler<Assembler>>; + auto linearSolver = std::make_shared<LinearSolver>(gridGeometry->gridView(), gridGeometry->dofMapper()); // the system solver using Solver = Dumux::LinearPDESolver<Assembler, LinearSolver>; diff --git a/test/porousmediumflow/2p/incompressible/main.cc b/test/porousmediumflow/2p/incompressible/main.cc index dafa6cbf2b6e9aa782a90d3b219a6edae6c0f7e9..f2e75bb0a45aceeb530cc5af214479a701d797b4 100644 --- a/test/porousmediumflow/2p/incompressible/main.cc +++ b/test/porousmediumflow/2p/incompressible/main.cc @@ -34,8 +34,9 @@ #include <dumux/common/parameters.hh> #include <dumux/common/dumuxmessage.hh> -#include <dumux/linear/seqsolverbackend.hh> +#include <dumux/linear/istlsolvers.hh> #include <dumux/linear/linearsolvertraits.hh> +#include <dumux/linear/linearalgebratraits.hh> #include <dumux/nonlinear/newtonsolver.hh> #include <dumux/assembly/fvassembler.hh> @@ -142,8 +143,8 @@ int main(int argc, char** argv) auto assembler = std::make_shared<Assembler>(problem, gridGeometry, gridVariables, timeLoop, xOld); // the linear solver - using LinearSolver = ILU0RestartedGMResBackend; - auto linearSolver = std::make_shared<LinearSolver>(); + using LinearSolver = ILURestartedGMResIstlSolver<LinearSolverTraits<GridGeometry>, LinearAlgebraTraitsFromAssembler<Assembler>>; + auto linearSolver = std::make_shared<LinearSolver>(gridGeometry->gridView(), gridGeometry->dofMapper()); // the non-linear solver using NewtonSolver = Dumux::NewtonSolver<Assembler, LinearSolver>; diff --git a/test/porousmediumflow/2p/rotationsymmetry/main.cc b/test/porousmediumflow/2p/rotationsymmetry/main.cc index 48594263154614cdaa594168867b2fd5e21e4c9d..b5ce6838a816c2e4410b688e53854d7e1eb6983a 100644 --- a/test/porousmediumflow/2p/rotationsymmetry/main.cc +++ b/test/porousmediumflow/2p/rotationsymmetry/main.cc @@ -26,8 +26,9 @@ #include <dumux/common/properties.hh> #include <dumux/common/parameters.hh> -#include <dumux/linear/seqsolverbackend.hh> +#include <dumux/linear/istlsolvers.hh> #include <dumux/linear/linearsolvertraits.hh> +#include <dumux/linear/linearalgebratraits.hh> #include <dumux/nonlinear/newtonsolver.hh> #include <dumux/assembly/fvassembler.hh> @@ -96,8 +97,8 @@ int main(int argc, char** argv) auto assembler = std::make_shared<Assembler>(problem, gridGeometry, gridVariables, timeLoop, xOld); // the linear solver - using LinearSolver = ILU0RestartedGMResBackend; - auto linearSolver = std::make_shared<LinearSolver>(); + using LinearSolver = ILURestartedGMResIstlSolver<LinearSolverTraits<GridGeometry>, LinearAlgebraTraitsFromAssembler<Assembler>>; + auto linearSolver = std::make_shared<LinearSolver>(gridGeometry->gridView(), gridGeometry->dofMapper()); // the non-linear solver using NewtonSolver = Dumux::NewtonSolver<Assembler, LinearSolver>;