From ed5e9bccf846c031d9c6431ab9fc7cb6e6addbd8 Mon Sep 17 00:00:00 2001
From: Ivan Buntic <st116086@stud.uni-stuttgart.de>
Date: Fri, 17 Sep 2021 15:15:42 +0200
Subject: [PATCH] [disc][porousmediumflow][porenetwork][2p] Use discretization
 tag instead of enum as template argument.

---
 dumux/porenetwork/2p/model.hh                         | 4 ++--
 dumux/porousmediumflow/2p/model.hh                    | 5 ++---
 dumux/porousmediumflow/2p/saturationreconstruction.hh | 4 ++--
 dumux/porousmediumflow/2p2c/model.hh                  | 8 ++++----
 dumux/porousmediumflow/2pnc/model.hh                  | 4 ++--
 dumux/porousmediumflow/2pncmin/model.hh               | 4 ++--
 dumux/porousmediumflow/co2/model.hh                   | 4 ++--
 7 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/dumux/porenetwork/2p/model.hh b/dumux/porenetwork/2p/model.hh
index 16591c003b..dc62bdea76 100644
--- a/dumux/porenetwork/2p/model.hh
+++ b/dumux/porenetwork/2p/model.hh
@@ -108,7 +108,7 @@ private:
     using MT = GetPropType<TypeTag, Properties::ModelTraits>;
     using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType;
 
-    static constexpr auto DM = GetPropType<TypeTag, Properties::GridGeometry>::discMethod;
+    using DM = typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod;
     static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
     // class used for scv-wise reconstruction of non-wetting phase saturations
     using SR = TwoPScvSaturationReconstruction<DM, enableIS>;
@@ -196,7 +196,7 @@ private:
     using SST = GetPropType<TypeTag, Properties::SolidState>;
     using MT = GetPropType<TypeTag, Properties::ModelTraits>;
     using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType;
-    static constexpr auto DM = GetPropType<TypeTag, Properties::GridGeometry>::discMethod;
+    using DM = typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod;
     static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
     // class used for scv-wise reconstruction of non-wetting phase saturations
     using SR = Dumux::TwoPScvSaturationReconstruction<DM, enableIS>;
diff --git a/dumux/porousmediumflow/2p/model.hh b/dumux/porousmediumflow/2p/model.hh
index da5b73bd5c..861af18674 100644
--- a/dumux/porousmediumflow/2p/model.hh
+++ b/dumux/porousmediumflow/2p/model.hh
@@ -179,8 +179,7 @@ private:
     using SST = GetPropType<TypeTag, Properties::SolidState>;
     using MT = GetPropType<TypeTag, Properties::ModelTraits>;
     using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType;
-
-    static constexpr auto DM = GetPropType<TypeTag, Properties::GridGeometry>::discMethod;
+    using DM = typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod;
     static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
     // class used for scv-wise reconstruction of nonwetting phase saturations
     using SR = TwoPScvSaturationReconstruction<DM, enableIS>;
@@ -221,7 +220,7 @@ private:
     using SST = GetPropType<TypeTag, Properties::SolidState>;
     using MT = GetPropType<TypeTag, Properties::ModelTraits>;
     using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType;
-    static constexpr auto DM = GetPropType<TypeTag, Properties::GridGeometry>::discMethod;
+    using DM = typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod;
     static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
     // class used for scv-wise reconstruction of nonwetting phase saturations
     using SR = TwoPScvSaturationReconstruction<DM, enableIS>;
diff --git a/dumux/porousmediumflow/2p/saturationreconstruction.hh b/dumux/porousmediumflow/2p/saturationreconstruction.hh
index 7a94627486..1ca95906d8 100644
--- a/dumux/porousmediumflow/2p/saturationreconstruction.hh
+++ b/dumux/porousmediumflow/2p/saturationreconstruction.hh
@@ -38,7 +38,7 @@ namespace Dumux {
  * freedom lie on material interfaces. There the nonwetting phase saturation is
  * generally discontinuous.
  */
-template<DiscretizationMethod M, bool enableReconstruction>
+template<class DiscretizationMethod, bool enableReconstruction>
 class TwoPScvSaturationReconstruction
 {
 public:
@@ -67,7 +67,7 @@ public:
 
 //! Specialization for the box scheme with the interface solver enabled
 template<>
-class TwoPScvSaturationReconstruction<DiscretizationMethod::box, /*enableReconstruction*/true>
+class TwoPScvSaturationReconstruction<DiscretizationMethods::Box, /*enableReconstruction*/true>
 {
 public:
     /*!
diff --git a/dumux/porousmediumflow/2p2c/model.hh b/dumux/porousmediumflow/2p2c/model.hh
index 1c7e87633c..b5128343d3 100644
--- a/dumux/porousmediumflow/2p2c/model.hh
+++ b/dumux/porousmediumflow/2p2c/model.hh
@@ -144,7 +144,7 @@ private:
     using SST = GetPropType<TypeTag, Properties::SolidState>;
     using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType;
     using MT = GetPropType<TypeTag, Properties::ModelTraits>;
-    static constexpr auto DM = GetPropType<TypeTag, Properties::GridGeometry>::discMethod;
+    using DM = typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod;
     static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
     static_assert(FSY::numComponents == 2, "Only fluid systems with 2 components are supported by the 2p2c model!");
     static_assert(FSY::numPhases == 2, "Only fluid systems with 2 phases are supported by the 2p2c model!");
@@ -195,7 +195,7 @@ private:
     using SST = GetPropType<TypeTag, Properties::SolidState>;
     using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType;
     using MT = GetPropType<TypeTag, Properties::ModelTraits>;
-    static constexpr auto DM = GetPropType<TypeTag, Properties::GridGeometry>::discMethod;
+    using DM = typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod;
     static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
     // class used for scv-wise reconstruction of nonwetting phase saturations
     using SR = TwoPScvSaturationReconstruction<DM, enableIS>;
@@ -298,7 +298,7 @@ private:
     using SST = GetPropType<TypeTag, Properties::SolidState>;
     using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType;
     using MT = GetPropType<TypeTag, Properties::ModelTraits>;
-    static constexpr auto DM = GetPropType<TypeTag, Properties::GridGeometry>::discMethod;
+    using DM = typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod;
     static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
     // class used for scv-wise reconstruction of nonwetting phase saturations
     using SR = TwoPScvSaturationReconstruction<DM, enableIS>;
@@ -368,7 +368,7 @@ private:
     using SST = GetPropType<TypeTag, Properties::SolidState>;
     using MT = GetPropType<TypeTag, Properties::ModelTraits>;
     using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType;
-    static constexpr auto DM = GetPropType<TypeTag, Properties::GridGeometry>::discMethod;
+    using DM = typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod;
     static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
     // class used for scv-wise reconstruction of nonwetting phase saturations
     using SR = TwoPScvSaturationReconstruction<DM, enableIS>;
diff --git a/dumux/porousmediumflow/2pnc/model.hh b/dumux/porousmediumflow/2pnc/model.hh
index bc16441281..ea496490a7 100644
--- a/dumux/porousmediumflow/2pnc/model.hh
+++ b/dumux/porousmediumflow/2pnc/model.hh
@@ -173,7 +173,7 @@ private:
     using SST = GetPropType<TypeTag, Properties::SolidState>;
     using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType;
     using MT = GetPropType<TypeTag, Properties::ModelTraits>;
-    static constexpr auto DM = GetPropType<TypeTag, Properties::GridGeometry>::discMethod;
+    using DM = typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod;
     static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
     // class used for scv-wise reconstruction of nonwetting phase saturations
     using SR = TwoPScvSaturationReconstruction<DM, enableIS>;
@@ -271,7 +271,7 @@ private:
     using SST = GetPropType<TypeTag, Properties::SolidState>;
     using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType;
     using MT = GetPropType<TypeTag, Properties::ModelTraits>;
-    static constexpr auto DM = GetPropType<TypeTag, Properties::GridGeometry>::discMethod;
+    using DM = typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod;
     static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
     // class used for scv-wise reconstruction of nonwetting phase saturations
     using SR = TwoPScvSaturationReconstruction<DM, enableIS>;
diff --git a/dumux/porousmediumflow/2pncmin/model.hh b/dumux/porousmediumflow/2pncmin/model.hh
index 3a73d713b7..9b76c16e99 100644
--- a/dumux/porousmediumflow/2pncmin/model.hh
+++ b/dumux/porousmediumflow/2pncmin/model.hh
@@ -136,7 +136,7 @@ private:
     using SST = GetPropType<TypeTag, Properties::SolidState>;
     using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType;
     using MT = GetPropType<TypeTag, Properties::ModelTraits>;
-    static constexpr auto DM = GetPropType<TypeTag, Properties::GridGeometry>::discMethod;
+    using DM = typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod;
     static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
     // class used for scv-wise reconstruction of nonwetting phase saturations
     using SR = TwoPScvSaturationReconstruction<DM, enableIS>;
@@ -212,7 +212,7 @@ private:
     using SST = GetPropType<TypeTag, Properties::SolidState>;
     using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType;
     using MT = GetPropType<TypeTag, Properties::ModelTraits>;
-    static constexpr auto DM = GetPropType<TypeTag, Properties::GridGeometry>::discMethod;
+    using DM = typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod;
     static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
     // class used for scv-wise reconstruction of nonwetting phase saturations
     using SR = TwoPScvSaturationReconstruction<DM, enableIS>;
diff --git a/dumux/porousmediumflow/co2/model.hh b/dumux/porousmediumflow/co2/model.hh
index bc48834f91..79be63bace 100644
--- a/dumux/porousmediumflow/co2/model.hh
+++ b/dumux/porousmediumflow/co2/model.hh
@@ -69,7 +69,7 @@ private:
     using SST = GetPropType<TypeTag, Properties::SolidState>;
     using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType;
     using MT = GetPropType<TypeTag, Properties::ModelTraits>;
-    static constexpr auto DM = GetPropType<TypeTag, Properties::GridGeometry>::discMethod;
+    using DM = typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod;
     static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
     // class used for scv-wise reconstruction of nonwetting phase saturations
     using SR = TwoPScvSaturationReconstruction<DM, enableIS>;
@@ -99,7 +99,7 @@ private:
     using SST = GetPropType<TypeTag, Properties::SolidState>;
     using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType;
     using MT = GetPropType<TypeTag, Properties::ModelTraits>;
-    static constexpr auto DM = GetPropType<TypeTag, Properties::GridGeometry>::discMethod;
+    using DM = typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod;
     static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
     // class used for scv-wise reconstruction of nonwetting phase saturations
     using SR = TwoPScvSaturationReconstruction<DM, enableIS>;
-- 
GitLab