From 08a81e2feba66ae7b7f0e59f72ff6520824c6ff6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dennis=20Gl=C3=A4ser?= <dennis.glaeser@iws.uni-stuttgart.de>
Date: Wed, 14 Nov 2018 15:30:22 +0100
Subject: [PATCH] [md][boxlocalassembler] let base class get implicit/explicit
 template param

---
 dumux/multidomain/subdomainboxlocalassembler.hh | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/dumux/multidomain/subdomainboxlocalassembler.hh b/dumux/multidomain/subdomainboxlocalassembler.hh
index 629e156c0b..d25bed8b97 100644
--- a/dumux/multidomain/subdomainboxlocalassembler.hh
+++ b/dumux/multidomain/subdomainboxlocalassembler.hh
@@ -49,11 +49,12 @@ namespace Dumux {
  * \tparam TypeTag the TypeTag
  * \tparam Assembler the assembler type
  * \tparam Implementation the actual implementation type
+ * \tparam implicit Specifies whether the time discretization is implicit or not not (i.e. explicit)
  */
-template<std::size_t id, class TypeTag, class Assembler, class Implementation>
-class SubDomainBoxLocalAssemblerBase : public FVLocalAssemblerBase<TypeTag, Assembler,Implementation, true>
+template<std::size_t id, class TypeTag, class Assembler, class Implementation, bool implicit>
+class SubDomainBoxLocalAssemblerBase : public FVLocalAssemblerBase<TypeTag, Assembler, Implementation, implicit>
 {
-    using ParentType = FVLocalAssemblerBase<TypeTag, Assembler,Implementation, true>;
+    using ParentType = FVLocalAssemblerBase<TypeTag, Assembler,Implementation, implicit>;
 
     using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
     using LocalResidualValues = typename GET_PROP_TYPE(TypeTag, NumEqVector);
@@ -243,9 +244,10 @@ private:
  * \tparam Implementation the actual implementation type
  */
 template<std::size_t id, class TypeTag, class Assembler, class Implementation>
-class SubDomainBoxLocalAssemblerImplicitBase : public SubDomainBoxLocalAssemblerBase<id, TypeTag, Assembler, Implementation>
+class SubDomainBoxLocalAssemblerImplicitBase
+: public SubDomainBoxLocalAssemblerBase<id, TypeTag, Assembler, Implementation, true>
 {
-    using ParentType = SubDomainBoxLocalAssemblerBase<id, TypeTag, Assembler, Implementation>;
+    using ParentType = SubDomainBoxLocalAssemblerBase<id, TypeTag, Assembler, Implementation, true>;
     using ElementResidualVector = typename ParentType::LocalResidual::ElementResidualVector;
     using ResidualVector = typename GET_PROP_TYPE(TypeTag, NumEqVector);
     using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
-- 
GitLab