Skip to content
Snippets Groups Projects
Commit 3e2b27bd authored by Mathis Kelm's avatar Mathis Kelm
Browse files

[linear] Adapt istl solver factories to rewrite

parent 88ed6234
No related branches found
No related tags found
1 merge request!3857[linear] Adapt istl solver factories to OperatorTraits
Checking pipeline status
......@@ -16,6 +16,7 @@
#include <memory>
#include <dune/common/version.hh>
#include <dune/common/parallel/mpihelper.hh>
#include <dune/common/parametertree.hh>
......@@ -54,6 +55,7 @@ namespace {
template<class LinearOperator>
int initSolverFactoriesForMultiTypeBlockMatrix()
{
#if DUNE_VERSION_LT(DUNE_ISTL,2,11)
using M = typename LinearOperator::matrix_type;
using X = typename LinearOperator::range_type;
using Y = typename LinearOperator::domain_type;
......@@ -65,6 +67,14 @@ int initSolverFactoriesForMultiTypeBlockMatrix()
using TLS = Dune::TypeList<X,Y>;
auto& isfac = Dune::IterativeSolverFactory<X,Y>::instance();
return Dune::addRegistryToFactory<TLS>(isfac, Dune::IterativeSolverTag{});
#else
using OpTraits = Dune::OperatorTraits<LinearOperator>;
auto& sfac = Dune::SolverFactory<LinearOperator>::instance();
auto& pfac = Dune::PreconditionerFactory<LinearOperator>::instance();
Dune::addRegistryToFactory<OpTraits>(sfac, Dumux::MultiTypeBlockMatrixDirectSolverTag{});
Dune::addRegistryToFactory<OpTraits>(pfac, Dumux::MultiTypeBlockMatrixPreconditionerTag{});
return Dune::addRegistryToFactory<OpTraits>(sfac, Dune::SolverTag{});
#endif
}
} // end namespace
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment