From 49d51eb04334c22e62633a19641d13368391510e Mon Sep 17 00:00:00 2001
From: Oliver Sander <oliver.sander@tu-dresden.de>
Date: Mon, 23 Dec 2019 06:49:31 +0100
Subject: [PATCH] UMFPackSolver: Remove several hard-wired linear algebra types

Removing these assumptions about the linear algebra types
is one step towards support for unnested linear algebra,
like BCRSMatrix<double> etc.  More work for that is needed,
though.
---
 dune/solvers/solvers/umfpacksolver.hh | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/dune/solvers/solvers/umfpacksolver.hh b/dune/solvers/solvers/umfpacksolver.hh
index 8c0b101..6071309 100644
--- a/dune/solvers/solvers/umfpacksolver.hh
+++ b/dune/solvers/solvers/umfpacksolver.hh
@@ -18,6 +18,7 @@
 #include <dune/istl/io.hh>
 
 #include <dune/solvers/common/canignore.hh>
+#include <dune/solvers/common/defaultbitvector.hh>
 #include <dune/solvers/solvers/linearsolver.hh>
 
 namespace Dune
@@ -29,15 +30,8 @@ namespace Solvers
 /** \brief Wraps the UMFPack sparse direct solver */
 template <class MatrixType, class VectorType>
 class UMFPackSolver
-: public LinearSolver<MatrixType,VectorType>, public CanIgnore<Dune::BitSetVector<VectorType::block_type::dimension> >
+: public LinearSolver<MatrixType,VectorType>, public CanIgnore<DefaultBitVector_t<VectorType> >
 {
-  enum {blocksize = VectorType::block_type::dimension};
-
-  typedef typename VectorType::field_type field_type;
-
-  typedef Dune::FieldMatrix<field_type, blocksize, blocksize> MatrixBlock;
-  typedef Dune::FieldVector<field_type, blocksize>            VectorBlock;
-
 public:
 
   /** \brief Default constructor */
-- 
GitLab