From 7599fe57d0c850419119af1f5dfad6ff5824d036 Mon Sep 17 00:00:00 2001
From: Kilian Weishaupt <kilian.weishaupt@iws.uni-stuttgart.de>
Date: Fri, 19 Jan 2018 11:42:03 +0100
Subject: [PATCH] [linear] Remove TypeTag from
 LinearSolverAcceptsMultiTypeMatrix traits class

---
 .../linearsolveracceptsmultitypematrix.hh     | 42 ++++++++-----------
 1 file changed, 18 insertions(+), 24 deletions(-)

diff --git a/dumux/linear/linearsolveracceptsmultitypematrix.hh b/dumux/linear/linearsolveracceptsmultitypematrix.hh
index a45a4d6a77..da4058a4a5 100644
--- a/dumux/linear/linearsolveracceptsmultitypematrix.hh
+++ b/dumux/linear/linearsolveracceptsmultitypematrix.hh
@@ -29,54 +29,48 @@
 namespace Dumux {
 
 //! The default
-template<typename TypeTag, typename LinearSolver>
-struct LinearSolverAcceptsMultiTypeMatrixImpl
+template<typename LinearSolver>
+struct LinearSolverAcceptsMultiTypeMatrix
 { static constexpr bool value = true; };
 
-/*!
- * \ingroup Linear
- * \brief Trait checking if linear solvers accept Dune::MultiTypeBlockMatrix or we need to convert the matrix
- */
-template <typename TypeTag>
-using LinearSolverAcceptsMultiTypeMatrix = LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, typename GET_PROP_TYPE(TypeTag, LinearSolver)>;
 
 //! Solvers that don't accept multi-type matrices
 //! Those are all with ILU preconditioner that doesn't support the additional block level
 //! And the direct solvers that have BCRS Matrix hardcoded
 
-template<typename TypeTag>
-struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, ILUnBiCGSTABBackend>
+template<>
+struct LinearSolverAcceptsMultiTypeMatrix<ILUnBiCGSTABBackend>
 { static constexpr bool value = false; };
 
-template<typename TypeTag>
-struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, ILUnCGBackend>
+template<>
+struct LinearSolverAcceptsMultiTypeMatrix<ILUnCGBackend>
 { static constexpr bool value = false; };
 
-template<typename TypeTag>
-struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, ILU0BiCGSTABBackend>
+template<>
+struct LinearSolverAcceptsMultiTypeMatrix<ILU0BiCGSTABBackend>
 { static constexpr bool value = false; };
 
-template<typename TypeTag>
-struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, ILU0CGBackend>
+template<>
+struct LinearSolverAcceptsMultiTypeMatrix<ILU0CGBackend>
 { static constexpr bool value = false; };
 
-template<typename TypeTag>
-struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, ILU0RestartedGMResBackend>
+template<>
+struct LinearSolverAcceptsMultiTypeMatrix<ILU0RestartedGMResBackend>
 { static constexpr bool value = false; };
 
-template<typename TypeTag>
-struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, ILUnRestartedGMResBackend>
+template<>
+struct LinearSolverAcceptsMultiTypeMatrix<ILUnRestartedGMResBackend>
 { static constexpr bool value = false; };
 
 #if HAVE_SUPERLU
-template<typename TypeTag>
-struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, SuperLUBackend>
+template<>
+struct LinearSolverAcceptsMultiTypeMatrix<SuperLUBackend>
 { static constexpr bool value = false; };
 #endif // HAVE_SUPERLU
 
 #if HAVE_UMFPACK
-template<typename TypeTag>
-struct LinearSolverAcceptsMultiTypeMatrixImpl<TypeTag, UMFPackBackend>
+template<>
+struct LinearSolverAcceptsMultiTypeMatrix<UMFPackBackend>
 { static constexpr bool value = false; };
 #endif // HAVE_UMFPACK
 
-- 
GitLab