diff --git a/dumux/flux/box/darcyslaw.hh b/dumux/flux/box/darcyslaw.hh index 0c011f5d1d8454bd831e281a3eb2a0bb4b197a2f..a1326195e31839e3725ce92242ced0086b24ad44 100644 --- a/dumux/flux/box/darcyslaw.hh +++ b/dumux/flux/box/darcyslaw.hh @@ -37,7 +37,7 @@ namespace Dumux { // forward declaration -template<class TypeTag, DiscretizationMethod discMethod> +template<class TypeTag, class DiscretizationMethod> class DarcysLawImplementation; // forward declaration @@ -49,7 +49,7 @@ class BoxDarcysLaw; * \brief Specialization of Darcy's Law for the box method. */ template<class TypeTag> -class DarcysLawImplementation<TypeTag, DiscretizationMethod::box> +class DarcysLawImplementation<TypeTag, DiscretizationMethods::Box> : public BoxDarcysLaw<GetPropType<TypeTag, Properties::Scalar>, GetPropType<TypeTag, Properties::GridGeometry>> { }; diff --git a/dumux/flux/box/fickslaw.hh b/dumux/flux/box/fickslaw.hh index 61b7a17b268fd9ee2d71c8006d714a8d0452eb89..0349e2549cab98b22f64b3412b803f72fc6b5f04 100644 --- a/dumux/flux/box/fickslaw.hh +++ b/dumux/flux/box/fickslaw.hh @@ -39,7 +39,7 @@ namespace Dumux { // forward declaration -template<class TypeTag, DiscretizationMethod discMethod, ReferenceSystemFormulation referenceSystem> +template<class TypeTag, class DiscretizationMethod, ReferenceSystemFormulation referenceSystem> class FicksLawImplementation; /*! @@ -47,7 +47,7 @@ class FicksLawImplementation; * \brief Specialization of Fick's Law for the box method. */ template <class TypeTag, ReferenceSystemFormulation referenceSystem> -class FicksLawImplementation<TypeTag, DiscretizationMethod::box, referenceSystem> +class FicksLawImplementation<TypeTag, DiscretizationMethods::Box, referenceSystem> { using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Problem = GetPropType<TypeTag, Properties::Problem>; diff --git a/dumux/flux/box/forchheimerslaw.hh b/dumux/flux/box/forchheimerslaw.hh index eee7bb7b327835ff76dc7f782ecc2cb657050b40..0ce29b5f0e92c4d60659a4668d6c9e27cb699c0a 100644 --- a/dumux/flux/box/forchheimerslaw.hh +++ b/dumux/flux/box/forchheimerslaw.hh @@ -39,7 +39,7 @@ namespace Dumux { // forward declarations -template<class TypeTag, class ForchheimerVelocity, DiscretizationMethod discMethod> +template<class TypeTag, class ForchheimerVelocity, class DiscretizationMethod> class ForchheimersLawImplementation; /*! @@ -59,7 +59,7 @@ class BoxForchheimersLaw; * \brief Forchheimer's law for box scheme */ template <class TypeTag, class ForchheimerVelocity> -class ForchheimersLawImplementation<TypeTag, ForchheimerVelocity, DiscretizationMethod::box> +class ForchheimersLawImplementation<TypeTag, ForchheimerVelocity, DiscretizationMethods::Box> : public BoxForchheimersLaw<GetPropType<TypeTag, Properties::Scalar>, GetPropType<TypeTag, Properties::GridGeometry>, ForchheimerVelocity> @@ -88,8 +88,9 @@ public: //! state the scalar type of the law using Scalar = ScalarType; + using DiscretizationMethod = DiscretizationMethods::Box; //! state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::box; + static constexpr DiscretizationMethod discMethod{}; /*! \brief Compute the advective flux of a phase across * the given sub-control volume face using the Forchheimer equation. diff --git a/dumux/flux/box/fourierslaw.hh b/dumux/flux/box/fourierslaw.hh index 988f87024ba23808b4cc5e06c73b294f4845006e..6a825e69464a0a4ec4a5fb42a94c06651202bab1 100644 --- a/dumux/flux/box/fourierslaw.hh +++ b/dumux/flux/box/fourierslaw.hh @@ -33,7 +33,7 @@ namespace Dumux { // forward declaration -template<class TypeTag, DiscretizationMethod discMethod> +template<class TypeTag, class DiscretizationMethod> class FouriersLawImplementation; /*! @@ -41,7 +41,7 @@ class FouriersLawImplementation; * \brief Specialization of Fourier's Law for the box method. */ template <class TypeTag> -class FouriersLawImplementation<TypeTag, DiscretizationMethod::box> +class FouriersLawImplementation<TypeTag, DiscretizationMethods::Box> { using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Problem = GetPropType<TypeTag, Properties::Problem>; diff --git a/dumux/flux/box/fourierslawnonequilibrium.hh b/dumux/flux/box/fourierslawnonequilibrium.hh index 40bf51f39aef1038576543180a6a6e864454e53f..22ea175d80443dd893be1e4722cb37f87ba2f2db 100644 --- a/dumux/flux/box/fourierslawnonequilibrium.hh +++ b/dumux/flux/box/fourierslawnonequilibrium.hh @@ -36,7 +36,7 @@ namespace Dumux { // forward declaration -template <class TypeTag, DiscretizationMethod discMethod> +template <class TypeTag, class DiscretizationMethod> class FouriersLawNonEquilibriumImplementation; /*! @@ -44,7 +44,7 @@ class FouriersLawNonEquilibriumImplementation; * \brief Specialization of Fourier's Law for the box method for thermal nonequilibrium models. */ template <class TypeTag> -class FouriersLawNonEquilibriumImplementation<TypeTag, DiscretizationMethod::box> +class FouriersLawNonEquilibriumImplementation<TypeTag, DiscretizationMethods::Box> { using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Problem = GetPropType<TypeTag, Properties::Problem>; diff --git a/dumux/flux/box/maxwellstefanslaw.hh b/dumux/flux/box/maxwellstefanslaw.hh index 76b2b5b583eec0b405a467fb924ffbfd5d32cc30..fa2a845e9a7109e87200e7986ef7230c177cba63 100644 --- a/dumux/flux/box/maxwellstefanslaw.hh +++ b/dumux/flux/box/maxwellstefanslaw.hh @@ -40,7 +40,7 @@ namespace Dumux { // forward declaration -template <class TypeTag, DiscretizationMethod discMethod, ReferenceSystemFormulation referenceSystem> +template <class TypeTag, class DiscretizationMethod, ReferenceSystemFormulation referenceSystem> class MaxwellStefansLawImplementation; /*! @@ -48,7 +48,7 @@ class MaxwellStefansLawImplementation; * \brief Specialization of Maxwell Stefan's Law for the Box method. */ template <class TypeTag, ReferenceSystemFormulation referenceSystem> -class MaxwellStefansLawImplementation<TypeTag, DiscretizationMethod::box, referenceSystem> +class MaxwellStefansLawImplementation<TypeTag, DiscretizationMethods::Box, referenceSystem> { using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Problem = GetPropType<TypeTag, Properties::Problem>; diff --git a/dumux/flux/ccmpfa/darcyslaw.hh b/dumux/flux/ccmpfa/darcyslaw.hh index 97a5a3a2d87afbd2fa80c96fa26652c896941e55..9627f8e7ac44b34bd55507ab1b5198c903bfadef 100644 --- a/dumux/flux/ccmpfa/darcyslaw.hh +++ b/dumux/flux/ccmpfa/darcyslaw.hh @@ -35,7 +35,7 @@ namespace Dumux { //! forward declaration of the method-specific implementation -template<class TypeTag, DiscretizationMethod discMethod> +template<class TypeTag, class DiscretizationMethod> class DarcysLawImplementation; /*! @@ -44,7 +44,7 @@ class DarcysLawImplementation; * with multi-point flux approximation. */ template<class TypeTag> -class DarcysLawImplementation<TypeTag, DiscretizationMethod::ccmpfa> +class DarcysLawImplementation<TypeTag, DiscretizationMethods::CCMpfa> { using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Problem = GetPropType<TypeTag, Properties::Problem>; @@ -151,8 +151,9 @@ class DarcysLawImplementation<TypeTag, DiscretizationMethod::ccmpfa> }; public: + using DiscretizationMethod = DiscretizationMethods::CCMpfa; // state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::ccmpfa; + static constexpr DiscretizationMethod discMethod{}; // export the type for the corresponding cache using Cache = MpfaDarcysLawCache; diff --git a/dumux/flux/ccmpfa/fickslaw.hh b/dumux/flux/ccmpfa/fickslaw.hh index 0e13b4eebcb836c108ce9aecf0b828efc94bb5e2..071a9b2e230db1a355d1791c9020477b4d792887 100644 --- a/dumux/flux/ccmpfa/fickslaw.hh +++ b/dumux/flux/ccmpfa/fickslaw.hh @@ -34,7 +34,7 @@ namespace Dumux { //! forward declaration of the method-specific implemetation -template<class TypeTag, DiscretizationMethod discMethod, ReferenceSystemFormulation referenceSystem> +template<class TypeTag, class DiscretizationMethod, ReferenceSystemFormulation referenceSystem> class FicksLawImplementation; /*! @@ -42,7 +42,7 @@ class FicksLawImplementation; * \brief Fick's law for cell-centered finite volume schemes with multi-point flux approximation */ template <class TypeTag, ReferenceSystemFormulation referenceSystem> -class FicksLawImplementation<TypeTag, DiscretizationMethod::ccmpfa, referenceSystem> +class FicksLawImplementation<TypeTag, DiscretizationMethods::CCMpfa, referenceSystem> { using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Problem = GetPropType<TypeTag, Properties::Problem>; @@ -162,8 +162,9 @@ class FicksLawImplementation<TypeTag, DiscretizationMethod::ccmpfa, referenceSys }; public: + using DiscretizationMethod = DiscretizationMethods::CCMpfa; // state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::ccmpfa; + static constexpr DiscretizationMethod discMethod{}; //return the reference system static constexpr ReferenceSystemFormulation referenceSystemFormulation() diff --git a/dumux/flux/ccmpfa/fourierslaw.hh b/dumux/flux/ccmpfa/fourierslaw.hh index 55fe8dbd46080d2d949a01e2790ae07d481a3c38..c094d4abed78a36fd396328877160887171a8319 100644 --- a/dumux/flux/ccmpfa/fourierslaw.hh +++ b/dumux/flux/ccmpfa/fourierslaw.hh @@ -33,7 +33,7 @@ namespace Dumux { //! forward declaration of the method-specific implementation -template<class TypeTag, DiscretizationMethod discMethod> +template<class TypeTag, class DiscretizationMethod> class FouriersLawImplementation; /*! @@ -41,7 +41,7 @@ class FouriersLawImplementation; * \brief Fourier's law for cell-centered finite volume schemes with two-point flux approximation */ template <class TypeTag> -class FouriersLawImplementation<TypeTag, DiscretizationMethod::ccmpfa> +class FouriersLawImplementation<TypeTag, DiscretizationMethods::CCMpfa> { using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Problem = GetPropType<TypeTag, Properties::Problem>; @@ -148,8 +148,9 @@ class FouriersLawImplementation<TypeTag, DiscretizationMethod::ccmpfa> }; public: + using DiscretizationMethod = DiscretizationMethods::CCMpfa; // state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::ccmpfa; + static constexpr DiscretizationMethod discMethod{}; // state the type for the corresponding cache and its filler using Cache = MpfaFouriersLawCache; diff --git a/dumux/flux/cctpfa/darcyslaw.hh b/dumux/flux/cctpfa/darcyslaw.hh index 98e6bc3f7a9c74b6ed64ffceace972c4ce4d2dc1..fa9b7eb164d3e07f112da1952d70c41352ff40bd 100644 --- a/dumux/flux/cctpfa/darcyslaw.hh +++ b/dumux/flux/cctpfa/darcyslaw.hh @@ -35,7 +35,7 @@ namespace Dumux { // forward declarations -template<class TypeTag, DiscretizationMethod discMethod> +template<class TypeTag, class DiscretizationMethod> class DarcysLawImplementation; /*! @@ -55,7 +55,7 @@ class CCTpfaDarcysLaw; * \note Darcy's law is specialized for network and surface grids (i.e. if grid dim < dimWorld) */ template <class TypeTag> -class DarcysLawImplementation<TypeTag, DiscretizationMethod::cctpfa> +class DarcysLawImplementation<TypeTag, DiscretizationMethods::CCTpfa> : public CCTpfaDarcysLaw<GetPropType<TypeTag, Properties::Scalar>, GetPropType<TypeTag, Properties::GridGeometry>, (GetPropType<TypeTag, Properties::GridGeometry>::GridView::dimension < GetPropType<TypeTag, Properties::GridGeometry>::GridView::dimensionworld)> @@ -145,8 +145,9 @@ class CCTpfaDarcysLaw<ScalarType, GridGeometry, /*isNetwork*/ false> //! state the scalar type of the law using Scalar = ScalarType; + using DiscretizationMethod = DiscretizationMethods::CCTpfa; //! state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::cctpfa; + static constexpr DiscretizationMethod discMethod{}; //! state the type for the corresponding cache using Cache = TpfaDarcysLawCache<ThisType, GridGeometry>; @@ -309,8 +310,9 @@ public: //! state the scalar type of the law using Scalar = ScalarType; + using DiscretizationMethod = DiscretizationMethods::CCTpfa; //! state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::cctpfa; + static constexpr DiscretizationMethod discMethod{}; //! state the type for the corresponding cache using Cache = TpfaDarcysLawCache<ThisType, GridGeometry>; diff --git a/dumux/flux/cctpfa/fickslaw.hh b/dumux/flux/cctpfa/fickslaw.hh index 29c1aa8ea5641f7dd2b87f67145a32fd81616952..7876e600e10a2c092cf7cba2eb4f0f0024d1aa86 100644 --- a/dumux/flux/cctpfa/fickslaw.hh +++ b/dumux/flux/cctpfa/fickslaw.hh @@ -39,7 +39,7 @@ namespace Dumux { // forward declaration -template<class TypeTag, DiscretizationMethod discMethod, ReferenceSystemFormulation referenceSystem> +template<class TypeTag, class DiscretizationMethod, ReferenceSystemFormulation referenceSystem> class FicksLawImplementation; /*! @@ -47,9 +47,9 @@ class FicksLawImplementation; * \brief Fick's law for cell-centered finite volume schemes with two-point flux approximation */ template <class TypeTag, ReferenceSystemFormulation referenceSystem> -class FicksLawImplementation<TypeTag, DiscretizationMethod::cctpfa, referenceSystem> +class FicksLawImplementation<TypeTag, DiscretizationMethods::CCTpfa, referenceSystem> { - using Implementation = FicksLawImplementation<TypeTag, DiscretizationMethod::cctpfa, referenceSystem>; + using Implementation = FicksLawImplementation<TypeTag, DiscretizationMethods::CCTpfa, referenceSystem>; using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Problem = GetPropType<TypeTag, Properties::Problem>; using GridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; @@ -117,8 +117,10 @@ class FicksLawImplementation<TypeTag, DiscretizationMethod::cctpfa, referenceSys }; public: + using DiscretizationMethod = DiscretizationMethods::CCTpfa; //! state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::cctpfa; + static constexpr DiscretizationMethod discMethod{}; + //! Return the reference system static constexpr ReferenceSystemFormulation referenceSystemFormulation() { return referenceSystem; } diff --git a/dumux/flux/cctpfa/forchheimerslaw.hh b/dumux/flux/cctpfa/forchheimerslaw.hh index ccc07f448e7efa74f7e630c0d5ad3feea9c460b8..7e1065254d36b73fb6d62bda8c381e74bb6a1a8b 100644 --- a/dumux/flux/cctpfa/forchheimerslaw.hh +++ b/dumux/flux/cctpfa/forchheimerslaw.hh @@ -39,7 +39,7 @@ namespace Dumux { // forward declarations -template<class TypeTag, class ForchheimerVelocity, DiscretizationMethod discMethod> +template<class TypeTag, class ForchheimerVelocity, class DiscretizationMethod> class ForchheimersLawImplementation; /*! @@ -60,7 +60,7 @@ class CCTpfaForchheimersLaw; * \note Forchheimer's law is specialized for network and surface grids (i.e. if grid dim < dimWorld) */ template <class TypeTag, class ForchheimerVelocity> -class ForchheimersLawImplementation<TypeTag, ForchheimerVelocity, DiscretizationMethod::cctpfa> +class ForchheimersLawImplementation<TypeTag, ForchheimerVelocity, DiscretizationMethods::CCTpfa> : public CCTpfaForchheimersLaw<GetPropType<TypeTag, Properties::Scalar>, GetPropType<TypeTag, Properties::GridGeometry>, ForchheimerVelocity, @@ -157,8 +157,9 @@ class CCTpfaForchheimersLaw<ScalarType, GridGeometry, ForchheimerVelocity, /*isN //! state the scalar type of the law using Scalar = ScalarType; + using DiscretizationMethod = DiscretizationMethods::CCTpfa; //! state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::cctpfa; + static constexpr DiscretizationMethod discMethod{}; //! state the type for the corresponding cache using Cache = TpfaForchheimersLawCache<ThisType, GridGeometry>; diff --git a/dumux/flux/cctpfa/fourierslaw.hh b/dumux/flux/cctpfa/fourierslaw.hh index 90fa112ac94a112037a00600cd9c365f7957a89b..ac3b95b99cd5c2b2440d963fe3bbf0ab1b8d9889 100644 --- a/dumux/flux/cctpfa/fourierslaw.hh +++ b/dumux/flux/cctpfa/fourierslaw.hh @@ -34,7 +34,7 @@ namespace Dumux { // forward declaration -template<class TypeTag, DiscretizationMethod discMethod> +template<class TypeTag, class DiscretizationMethod> class FouriersLawImplementation; /*! @@ -42,9 +42,9 @@ class FouriersLawImplementation; * \brief Fourier's law for cell-centered finite volume schemes with two-point flux approximation */ template <class TypeTag> -class FouriersLawImplementation<TypeTag, DiscretizationMethod::cctpfa> +class FouriersLawImplementation<TypeTag, DiscretizationMethods::CCTpfa> { - using Implementation = FouriersLawImplementation<TypeTag, DiscretizationMethod::cctpfa>; + using Implementation = FouriersLawImplementation<TypeTag, DiscretizationMethods::CCTpfa>; using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Problem = GetPropType<TypeTag, Properties::Problem>; using GridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; @@ -103,8 +103,9 @@ class FouriersLawImplementation<TypeTag, DiscretizationMethod::cctpfa> }; public: + using DiscretizationMethod = DiscretizationMethods::CCTpfa; //! state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::cctpfa; + static constexpr DiscretizationMethod discMethod{}; //! export the type for the corresponding cache using Cache = TpfaFouriersLawCache; diff --git a/dumux/flux/cctpfa/fourierslawnonequilibrium.hh b/dumux/flux/cctpfa/fourierslawnonequilibrium.hh index cf0dc419c7ecfe3fc6398a84d92e936ee26e4c1f..a2ddb1e83d8db26a494b14825936567240d26660 100644 --- a/dumux/flux/cctpfa/fourierslawnonequilibrium.hh +++ b/dumux/flux/cctpfa/fourierslawnonequilibrium.hh @@ -33,7 +33,7 @@ namespace Dumux { // forward declaration -template<class TypeTag, DiscretizationMethod discMethod> +template<class TypeTag, class DiscretizationMethod> class FouriersLawNonEquilibriumImplementation; /*! @@ -41,9 +41,9 @@ class FouriersLawNonEquilibriumImplementation; * \brief Fourier's law for cell-centered finite volume schemes with two-point flux approximation */ template <class TypeTag> -class FouriersLawNonEquilibriumImplementation<TypeTag, DiscretizationMethod::cctpfa> +class FouriersLawNonEquilibriumImplementation<TypeTag, DiscretizationMethods::CCTpfa> { - using Implementation = FouriersLawNonEquilibriumImplementation<TypeTag, DiscretizationMethod::cctpfa>; + using Implementation = FouriersLawNonEquilibriumImplementation<TypeTag, DiscretizationMethods::CCTpfa>; using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Problem = GetPropType<TypeTag, Properties::Problem>; using GridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; @@ -66,8 +66,9 @@ class FouriersLawNonEquilibriumImplementation<TypeTag, DiscretizationMethod::cct static constexpr auto sPhaseIdx = ModelTraits::numFluidPhases(); public: + using DiscretizationMethod = DiscretizationMethods::CCTpfa; //! state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::cctpfa; + static constexpr DiscretizationMethod discMethod{}; using Cache = FluxVariablesCaching::EmptyHeatConductionCache; diff --git a/dumux/flux/cctpfa/maxwellstefanslaw.hh b/dumux/flux/cctpfa/maxwellstefanslaw.hh index 87b3fd4717b0a6e69db2633229219068aa3b94cb..89f3a1a48a61850a5f84341a24eec32c20edf1aa 100644 --- a/dumux/flux/cctpfa/maxwellstefanslaw.hh +++ b/dumux/flux/cctpfa/maxwellstefanslaw.hh @@ -40,7 +40,7 @@ namespace Dumux { // forward declaration -template <class TypeTag, DiscretizationMethod discMethod, ReferenceSystemFormulation referenceSystem> +template <class TypeTag, class DiscretizationMethod, ReferenceSystemFormulation referenceSystem> class MaxwellStefansLawImplementation; /*! @@ -48,7 +48,7 @@ class MaxwellStefansLawImplementation; * \brief Specialization of Maxwell Stefan's Law for the CCTpfa method. */ template <class TypeTag, ReferenceSystemFormulation referenceSystem> -class MaxwellStefansLawImplementation<TypeTag, DiscretizationMethod::cctpfa, referenceSystem > +class MaxwellStefansLawImplementation<TypeTag, DiscretizationMethods::CCTpfa, referenceSystem > { using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Problem = GetPropType<TypeTag, Properties::Problem>; @@ -78,8 +78,10 @@ class MaxwellStefansLawImplementation<TypeTag, DiscretizationMethod::cctpfa, ref using ReducedComponentMatrix = Dune::FieldMatrix<Scalar, numComponents-1, numComponents-1>; public: + using DiscretizationMethod = DiscretizationMethods::CCTpfa; // state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::cctpfa; + static constexpr DiscretizationMethod discMethod{}; + //return the reference system static constexpr ReferenceSystemFormulation referenceSystemFormulation() { return referenceSystem; } diff --git a/dumux/flux/darcyslaw_fwd.hh b/dumux/flux/darcyslaw_fwd.hh index 9cba7efb4f19fca6af8b270dbe9bd32579184ff3..f69444c70212d1a3b7bf1e64c921f28e74306ab7 100644 --- a/dumux/flux/darcyslaw_fwd.hh +++ b/dumux/flux/darcyslaw_fwd.hh @@ -33,7 +33,7 @@ namespace Dumux { // declaration of primary template -template <class TypeTag, DiscretizationMethod discMethod> +template <class TypeTag, class DiscretizationMethod> class DarcysLawImplementation; /*! @@ -43,7 +43,7 @@ class DarcysLawImplementation; * These specializations are found in the headers included below. */ template <class TypeTag> -using DarcysLaw = DarcysLawImplementation<TypeTag, GetPropType<TypeTag, Properties::GridGeometry>::discMethod>; +using DarcysLaw = DarcysLawImplementation<TypeTag, typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod>; } // end namespace Dumux diff --git a/dumux/flux/effectivestresslaw_fwd.hh b/dumux/flux/effectivestresslaw_fwd.hh index 75e66af3e307fce9f031bad623572af9927b014b..9b2092081d550fc5d494a4b1cecc0a96676d0b3c 100644 --- a/dumux/flux/effectivestresslaw_fwd.hh +++ b/dumux/flux/effectivestresslaw_fwd.hh @@ -35,7 +35,7 @@ namespace Dumux { * \note Specializations are provided for the different discretization methods. * These specializations are found in the headers included below. */ -template <class StressType, class GridGeometry, DiscretizationMethod dm = GridGeometry::discMethod> +template <class StressType, class GridGeometry, class DiscretizationMethod = typename GridGeometry::DiscretizationMethod> class EffectiveStressLaw; } // end namespace Dumux diff --git a/dumux/flux/fickslaw_fwd.hh b/dumux/flux/fickslaw_fwd.hh index 265c964c03004205a1bceabef2f79f461873ae43..8264f2c6c5b8a1dd7ee694eb939b8f1ffd119840 100644 --- a/dumux/flux/fickslaw_fwd.hh +++ b/dumux/flux/fickslaw_fwd.hh @@ -34,7 +34,7 @@ namespace Dumux { // declaration of primary template -template <class TypeTag, DiscretizationMethod discMethod, ReferenceSystemFormulation referenceSystem> +template <class TypeTag, class DiscretizationMethod, ReferenceSystemFormulation referenceSystem> class FicksLawImplementation; /*! @@ -42,7 +42,7 @@ class FicksLawImplementation; * \brief Evaluates the diffusive mass flux according to Fick's law */ template <class TypeTag, ReferenceSystemFormulation referenceSystem = ReferenceSystemFormulation::massAveraged> -using FicksLaw = FicksLawImplementation<TypeTag, GetPropType<TypeTag, Properties::GridGeometry>::discMethod, referenceSystem>; +using FicksLaw = FicksLawImplementation<TypeTag, typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod, referenceSystem>; } // end namespace Dumux diff --git a/dumux/flux/forchheimerslaw_fwd.hh b/dumux/flux/forchheimerslaw_fwd.hh index fe008ed2ffa765e96147b7c6a03b12222a46d219..9e45d2165ec61b9db701d7f2b880bba45b7a079a 100644 --- a/dumux/flux/forchheimerslaw_fwd.hh +++ b/dumux/flux/forchheimerslaw_fwd.hh @@ -34,12 +34,13 @@ namespace Dumux { // definition of primary template -template <class TypeTag, class VelocityLaw, DiscretizationMethod discMethod> +template <class TypeTag, class VelocityLaw, class DiscretizationMethod> class ForchheimersLawImplementation { static_assert( - discMethod == DiscretizationMethod::cctpfa || discMethod == DiscretizationMethod::box, - "Forchheimer only implemented for cctpfa or box!" + GetPropType<TypeTag, Properties::GridGeometry>::discMethod == DiscretizationMethods::cctpfa || + GetPropType<TypeTag, Properties::GridGeometry>::discMethod == DiscretizationMethods::box, + "Forchheimer only implemented for cctpfa or box!") ); }; @@ -57,7 +58,7 @@ using ForchheimersLaw = ForchheimersLawImplementation< GetPropType<TypeTag, Properties::GridGeometry>, GetPropType<TypeTag, Properties::FluxVariables> >, - GetPropType<TypeTag, Properties::GridGeometry>::discMethod + typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod >; } // end namespace Dumux diff --git a/dumux/flux/fourierslaw_fwd.hh b/dumux/flux/fourierslaw_fwd.hh index 1658102bfa92d39423d33d82ece65204658459f4..ef6da70c5570b009f7b6a88457b70c1493489e3b 100644 --- a/dumux/flux/fourierslaw_fwd.hh +++ b/dumux/flux/fourierslaw_fwd.hh @@ -32,7 +32,7 @@ namespace Dumux { // declaration of primary template -template <class TypeTag, DiscretizationMethod discMethod> +template <class TypeTag, class DiscretizationMethod> class FouriersLawImplementation; /*! @@ -40,7 +40,7 @@ class FouriersLawImplementation; * \brief Evaluates the heat conduction flux according to Fouriers's law */ template <class TypeTag> -using FouriersLaw = FouriersLawImplementation<TypeTag, GetPropType<TypeTag, Properties::GridGeometry>::discMethod>; +using FouriersLaw = FouriersLawImplementation<TypeTag, typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod>; } // end namespace Dumux diff --git a/dumux/flux/fourierslawnonequilibrium_fwd.hh b/dumux/flux/fourierslawnonequilibrium_fwd.hh index a940df1c0d4246f65e250347bf2f95e9a8316f57..77969c91d2d1f6c78b6f653c23ddd5a8a2a10669 100644 --- a/dumux/flux/fourierslawnonequilibrium_fwd.hh +++ b/dumux/flux/fourierslawnonequilibrium_fwd.hh @@ -31,7 +31,7 @@ namespace Dumux { // forward declaration -template <class TypeTag, DiscretizationMethod discMethod> +template <class TypeTag, class DiscretizationMethod> class FouriersLawNonEquilibriumImplementation; /*! @@ -39,7 +39,7 @@ class FouriersLawNonEquilibriumImplementation; * \brief Evaluates the heat conduction flux according to Fouriers's law */ template <class TypeTag> -using FouriersLawNonEquilibrium = FouriersLawNonEquilibriumImplementation<TypeTag, GetPropType<TypeTag, Properties::GridGeometry>::discMethod>; +using FouriersLawNonEquilibrium = FouriersLawNonEquilibriumImplementation<TypeTag, typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod>; } // end namespace Dumux diff --git a/dumux/flux/hookeslaw_fwd.hh b/dumux/flux/hookeslaw_fwd.hh index 2ee6c30c7ad8c85826c97be4d7c286b5516db698..e3cc7c4982575904e50aea2126601c84cbb59676 100644 --- a/dumux/flux/hookeslaw_fwd.hh +++ b/dumux/flux/hookeslaw_fwd.hh @@ -35,7 +35,7 @@ namespace Dumux { * \note Specializations are provided for the different discretization methods. * These specializations are found in the headers included below. */ -template <class Scalar, class GridGeometry, DiscretizationMethod dm = GridGeometry::discMethod> +template <class Scalar, class GridGeometry, class DiscretizationMethod = typename GridGeometry::DiscretizationMethod> class HookesLaw; } // end namespace Dumux diff --git a/dumux/flux/maxwellstefanslaw_fwd.hh b/dumux/flux/maxwellstefanslaw_fwd.hh index fad0ea05a8935cc5e3d954f362127aa30938ce17..f320dd1aa8bae1a2e2873cf0d2757b376dd6ac07 100644 --- a/dumux/flux/maxwellstefanslaw_fwd.hh +++ b/dumux/flux/maxwellstefanslaw_fwd.hh @@ -32,7 +32,7 @@ namespace Dumux { // forward declaration -template <class TypeTag, DiscretizationMethod discMethod, ReferenceSystemFormulation referenceSystem> +template <class TypeTag, class DiscretizationMethod, ReferenceSystemFormulation referenceSystem> class MaxwellStefansLawImplementation; /*! @@ -40,7 +40,7 @@ class MaxwellStefansLawImplementation; * \brief Evaluates the diffusive mass flux according to Maxwell Stefan's law */ template <class TypeTag, ReferenceSystemFormulation referenceSystem = ReferenceSystemFormulation::massAveraged> -using MaxwellStefansLaw = MaxwellStefansLawImplementation<TypeTag, GetPropType<TypeTag, Properties::GridGeometry>::discMethod, referenceSystem>; +using MaxwellStefansLaw = MaxwellStefansLawImplementation<TypeTag, typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod, referenceSystem>; } // end namespace Dumux diff --git a/dumux/flux/staggered/freeflow/fickslaw.hh b/dumux/flux/staggered/freeflow/fickslaw.hh index a1a36d25ae7f758df2bb91ef11acb0dac4452af9..146b025e1147b29e612dcb4b7fd9f3cc73a58135 100644 --- a/dumux/flux/staggered/freeflow/fickslaw.hh +++ b/dumux/flux/staggered/freeflow/fickslaw.hh @@ -42,7 +42,7 @@ namespace Dumux { // forward declaration -template<class TypeTag, DiscretizationMethod discMethod, ReferenceSystemFormulation referenceSystem> +template<class TypeTag, class DiscretizationMethod, ReferenceSystemFormulation referenceSystem> class FicksLawImplementation; /*! @@ -50,7 +50,7 @@ class FicksLawImplementation; * \brief Specialization of Fick's Law for the staggered free flow method. */ template <class TypeTag, ReferenceSystemFormulation referenceSystem> -class FicksLawImplementation<TypeTag, DiscretizationMethod::staggered, referenceSystem> +class FicksLawImplementation<TypeTag, DiscretizationMethods::Staggered, referenceSystem> { using Scalar = GetPropType<TypeTag, Properties::Scalar>; using GridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; @@ -72,8 +72,10 @@ class FicksLawImplementation<TypeTag, DiscretizationMethod::staggered, reference static_assert(ModelTraits::numFluidPhases() == 1, "Only one phase supported!"); public: + using DiscretizationMethod = DiscretizationMethods::Staggered; // state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::staggered; + static constexpr DiscretizationMethod discMethod{}; + //return the reference system static constexpr ReferenceSystemFormulation referenceSystemFormulation() { return referenceSystem; } diff --git a/dumux/flux/staggered/freeflow/fourierslaw.hh b/dumux/flux/staggered/freeflow/fourierslaw.hh index 578777bda0751d287e8e7693171b308bd524eb9b..1221ec07c1674065d305e775aa9e53da13ed41b6 100644 --- a/dumux/flux/staggered/freeflow/fourierslaw.hh +++ b/dumux/flux/staggered/freeflow/fourierslaw.hh @@ -34,7 +34,7 @@ namespace Dumux { // forward declaration -template<class TypeTag, DiscretizationMethod discMethod> +template<class TypeTag, class DiscretizationMethod> class FouriersLawImplementation; /*! @@ -42,7 +42,7 @@ class FouriersLawImplementation; * \brief Specialization of Fourier's Law for the staggered free flow method. */ template <class TypeTag> -class FouriersLawImplementation<TypeTag, DiscretizationMethod::staggered> +class FouriersLawImplementation<TypeTag, DiscretizationMethods::Staggered> { using Scalar = GetPropType<TypeTag, Properties::Scalar>; using GridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; @@ -54,8 +54,9 @@ class FouriersLawImplementation<TypeTag, DiscretizationMethod::staggered> using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; public: + using DiscretizationMethod = DiscretizationMethods::Staggered; // state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::staggered; + static constexpr DiscretizationMethod discMethod{}; //! state the type for the corresponding cache //! We don't cache anything for this law diff --git a/dumux/flux/staggered/freeflow/maxwellstefanslaw.hh b/dumux/flux/staggered/freeflow/maxwellstefanslaw.hh index d74deb75234d4300dc7b79fc1e8f618704710d7a..d6408f78930a02e9d68cfe80a23ef9175446d173 100644 --- a/dumux/flux/staggered/freeflow/maxwellstefanslaw.hh +++ b/dumux/flux/staggered/freeflow/maxwellstefanslaw.hh @@ -38,7 +38,7 @@ namespace Dumux { // forward declaration -template <class TypeTag, DiscretizationMethod discMethod, ReferenceSystemFormulation referenceSystem> +template <class TypeTag, class DiscretizationMethod, ReferenceSystemFormulation referenceSystem> class MaxwellStefansLawImplementation; /*! @@ -46,7 +46,7 @@ class MaxwellStefansLawImplementation; * \brief Specialization of Maxwell Stefan's Law for the Staggered method. */ template <class TypeTag, ReferenceSystemFormulation referenceSystem> -class MaxwellStefansLawImplementation<TypeTag, DiscretizationMethod::staggered, referenceSystem> +class MaxwellStefansLawImplementation<TypeTag, DiscretizationMethods::Staggered, referenceSystem> { using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Problem = GetPropType<TypeTag, Properties::Problem>; @@ -75,8 +75,10 @@ class MaxwellStefansLawImplementation<TypeTag, DiscretizationMethod::staggered, static_assert(referenceSystem == ReferenceSystemFormulation::massAveraged, "only the mass averaged reference system is supported for the Maxwell-Stefan formulation"); public: + using DiscretizationMethod = DiscretizationMethods::Staggered; // state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::staggered; + static constexpr DiscretizationMethod discMethod{}; + //return the reference system static constexpr ReferenceSystemFormulation referenceSystemFormulation() { return referenceSystem; } diff --git a/dumux/multidomain/boundary/stokesdarcy/couplingdata.hh b/dumux/multidomain/boundary/stokesdarcy/couplingdata.hh index a4afec061fa211a6ee35338d0109621601d47c7d..25f6a562a4047df4a4fd14fb59ec438b849802a4 100644 --- a/dumux/multidomain/boundary/stokesdarcy/couplingdata.hh +++ b/dumux/multidomain/boundary/stokesdarcy/couplingdata.hh @@ -100,7 +100,7 @@ struct IsSameFluidSystem<FS, FS> }; // forward declaration -template <class TypeTag, DiscretizationMethod discMethod, ReferenceSystemFormulation referenceSystem> +template <class TypeTag, class DiscretizationMethod, ReferenceSystemFormulation referenceSystem> class FicksLawImplementation; /*! @@ -116,8 +116,8 @@ struct IsFicksLaw : public std::false_type {}; * \brief This structs indicates that Fick's law is used for diffusion. * \tparam DiffLaw The diffusion law. */ -template<class T, DiscretizationMethod discMethod, ReferenceSystemFormulation referenceSystem> -struct IsFicksLaw<FicksLawImplementation<T, discMethod, referenceSystem>> : public std::true_type {}; +template<class T, class DiscretizationMethod, ReferenceSystemFormulation referenceSystem> +struct IsFicksLaw<FicksLawImplementation<T, DiscretizationMethod, referenceSystem>> : public std::true_type {}; /*! * \ingroup StokesDarcyCoupling @@ -194,11 +194,11 @@ struct IndexHelper<stokesIdx, darcyIdx, FFFS, true> }; //! forward declare -template <class TypeTag, DiscretizationMethod discMethod> +template <class TypeTag, class DiscretizationMethod> class DarcysLawImplementation; //! forward declare -template <class TypeTag, DiscretizationMethod discMethod> +template <class TypeTag, class DiscretizationMethod> class ForchheimersLawImplementation; @@ -241,8 +241,8 @@ class StokesDarcyCouplingDataImplementationBase static constexpr auto darcyIdx = CouplingManager::darcyIdx; using AdvectionType = GetPropType<SubDomainTypeTag<darcyIdx>, Properties::AdvectionType>; - using DarcysLaw = DarcysLawImplementation<SubDomainTypeTag<darcyIdx>, GridGeometry<darcyIdx>::discMethod>; - using ForchheimersLaw = ForchheimersLawImplementation<SubDomainTypeTag<darcyIdx>, GridGeometry<darcyIdx>::discMethod>; + using DarcysLaw = DarcysLawImplementation<SubDomainTypeTag<darcyIdx>, typename GridGeometry<darcyIdx>::DiscretizationMethod>; + using ForchheimersLaw = ForchheimersLawImplementation<SubDomainTypeTag<darcyIdx>, typename GridGeometry<darcyIdx>::DiscretizationMethod>; static constexpr bool adapterUsed = ModelTraits<darcyIdx>::numFluidPhases() > 1; using IndexHelper = Dumux::IndexHelper<stokesIdx, darcyIdx, FluidSystem<stokesIdx>, adapterUsed>; diff --git a/dumux/multidomain/facet/box/fickslaw.hh b/dumux/multidomain/facet/box/fickslaw.hh index 6ae5704709e0ab406bd5ab7d7b20017a7dc72f55..075aa5f17520f2a376f3c15a8ab073f600c57121 100644 --- a/dumux/multidomain/facet/box/fickslaw.hh +++ b/dumux/multidomain/facet/box/fickslaw.hh @@ -49,9 +49,9 @@ namespace Dumux { */ template<class TypeTag, ReferenceSystemFormulation referenceSystem = ReferenceSystemFormulation::massAveraged> class BoxFacetCouplingFicksLaw -: public FicksLawImplementation<TypeTag, DiscretizationMethod::box, referenceSystem> +: public FicksLawImplementation<TypeTag, DiscretizationMethods::Box, referenceSystem> { - using ParentType = FicksLawImplementation<TypeTag, DiscretizationMethod::box, referenceSystem>; + using ParentType = FicksLawImplementation<TypeTag, DiscretizationMethods::Box, referenceSystem>; using GridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GridGeometry::LocalView; diff --git a/dumux/multidomain/facet/box/fourierslaw.hh b/dumux/multidomain/facet/box/fourierslaw.hh index e492a8b3d733d2d78c1003cdd039cf0118b8929b..a6363228c35c4ab4448f953534fe9227a5e43ccc 100644 --- a/dumux/multidomain/facet/box/fourierslaw.hh +++ b/dumux/multidomain/facet/box/fourierslaw.hh @@ -50,9 +50,9 @@ namespace Dumux { */ template<class TypeTag> class BoxFacetCouplingFouriersLaw -: public FouriersLawImplementation<TypeTag, DiscretizationMethod::box> +: public FouriersLawImplementation<TypeTag, DiscretizationMethods::Box> { - using ParentType = FouriersLawImplementation<TypeTag, DiscretizationMethod::box>; + using ParentType = FouriersLawImplementation<TypeTag, DiscretizationMethods::Box>; using Scalar = GetPropType<TypeTag, Properties::Scalar>; using GridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; diff --git a/dumux/multidomain/facet/cellcentered/tpfa/darcyslaw.hh b/dumux/multidomain/facet/cellcentered/tpfa/darcyslaw.hh index 937c76b9a344204df9d6ad625ab350c68b536956..05c4ec5d7abb274ae2604eda9af6ccbfd265baec 100644 --- a/dumux/multidomain/facet/cellcentered/tpfa/darcyslaw.hh +++ b/dumux/multidomain/facet/cellcentered/tpfa/darcyslaw.hh @@ -155,7 +155,8 @@ class CCTpfaFacetCouplingDarcysLawImpl<ScalarType, GridGeometry, /*isNetwork*/fa //! state the scalar type of the law using Scalar = ScalarType; //! export the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::cctpfa; + using DiscretizationMethod = DiscretizationMethods::CCTpfa; + static constexpr DiscretizationMethod discMethod{}; //! export the type for the corresponding cache using Cache = CCTpfaFacetCouplingDarcysLawCache<ThisType, GridGeometry, /*isNetwork*/false>; //! export the type used to store transmissibilities @@ -428,7 +429,8 @@ class CCTpfaFacetCouplingDarcysLawImpl<ScalarType, GridGeometry, /*isNetwork*/tr //! state the scalar type of the law using Scalar = ScalarType; //! state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::cctpfa; + using DiscretizationMethod = DiscretizationMethods::CCTpfa; + static constexpr DiscretizationMethod discMethod{}; //! state the type for the corresponding cache using Cache = CCTpfaFacetCouplingDarcysLawCache<ThisType, GridGeometry, /*isNetwork*/true>; //! export the type used to store transmissibilities diff --git a/dumux/multidomain/facet/cellcentered/tpfa/fickslaw.hh b/dumux/multidomain/facet/cellcentered/tpfa/fickslaw.hh index e009f41b12401a59929f2d71a0a88988f57dfb6e..f56365cb5e5347557f0588b544f0ce5b49cfabf1 100644 --- a/dumux/multidomain/facet/cellcentered/tpfa/fickslaw.hh +++ b/dumux/multidomain/facet/cellcentered/tpfa/fickslaw.hh @@ -67,10 +67,10 @@ using CCTpfaFacetCouplingFicksLaw = */ template<class TypeTag, ReferenceSystemFormulation referenceSystem> class CCTpfaFacetCouplingFicksLawImpl<TypeTag, referenceSystem, /*isNetwork*/false> -: public FicksLawImplementation<TypeTag, DiscretizationMethod::cctpfa, referenceSystem> +: public FicksLawImplementation<TypeTag, DiscretizationMethods::CCTpfa, referenceSystem> { using Implementation = CCTpfaFacetCouplingFicksLawImpl<TypeTag, referenceSystem, false>; - using ParentType = FicksLawImplementation<TypeTag, DiscretizationMethod::cctpfa, referenceSystem>; + using ParentType = FicksLawImplementation<TypeTag, DiscretizationMethods::CCTpfa, referenceSystem>; using GridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GridGeometry::LocalView; @@ -150,8 +150,9 @@ public: //! export the type for the corresponding cache using Cache = FacetCouplingFicksLawCache; + using DiscretizationMethod = DiscretizationMethods::CCTpfa; //! state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::cctpfa; + static constexpr DiscretizationMethod discMethod{}; //! Return the reference system static constexpr ReferenceSystemFormulation referenceSystemFormulation() @@ -306,10 +307,10 @@ public: */ template<class TypeTag, ReferenceSystemFormulation referenceSystem> class CCTpfaFacetCouplingFicksLawImpl<TypeTag, referenceSystem, /*isNetwork*/true> -: public FicksLawImplementation<TypeTag, DiscretizationMethod::cctpfa, referenceSystem> +: public FicksLawImplementation<TypeTag, DiscretizationMethods::CCTpfa, referenceSystem> { using Implementation = CCTpfaFacetCouplingFicksLawImpl<TypeTag, referenceSystem, true>; - using ParentType = FicksLawImplementation<TypeTag, DiscretizationMethod::cctpfa, referenceSystem>; + using ParentType = FicksLawImplementation<TypeTag, DiscretizationMethods::CCTpfa, referenceSystem>; using GridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GridGeometry::LocalView; @@ -384,8 +385,9 @@ public: //! export the type for the corresponding cache using Cache = FacetCouplingFicksLawCache; + using DiscretizationMethod = DiscretizationMethods::CCTpfa; //! state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::cctpfa; + static constexpr DiscretizationMethod discMethod{}; //! Return the reference system static constexpr ReferenceSystemFormulation referenceSystemFormulation() diff --git a/dumux/multidomain/facet/cellcentered/tpfa/fourierslaw.hh b/dumux/multidomain/facet/cellcentered/tpfa/fourierslaw.hh index 6e43c638be04d57de0f6d65139e056f6b629f580..4c979da2c29d307c6993360c4d08f88966597fbb 100644 --- a/dumux/multidomain/facet/cellcentered/tpfa/fourierslaw.hh +++ b/dumux/multidomain/facet/cellcentered/tpfa/fourierslaw.hh @@ -64,10 +64,10 @@ using CCTpfaFacetCouplingFouriersLaw = */ template<class TypeTag> class CCTpfaFacetCouplingFouriersLawImpl<TypeTag, /*isNetwork*/false> -: public FouriersLawImplementation<TypeTag, DiscretizationMethod::cctpfa> +: public FouriersLawImplementation<TypeTag, DiscretizationMethods::CCTpfa> { using Implementation = CCTpfaFacetCouplingFouriersLawImpl<TypeTag, false>; - using ParentType = FouriersLawImplementation<TypeTag, DiscretizationMethod::cctpfa>; + using ParentType = FouriersLawImplementation<TypeTag, DiscretizationMethods::CCTpfa>; using Scalar = GetPropType<TypeTag, Properties::Scalar>; using GridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; @@ -137,7 +137,8 @@ public: using Cache = FacetCouplingFouriersLawCache; //! state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::cctpfa; + using DiscretizationMethod = DiscretizationMethods::CCTpfa; + static constexpr DiscretizationMethod discMethod{}; //! Compute the conductive heat flux template< class Problem, class ElementVolumeVariables, class ElementFluxVarsCache > @@ -270,10 +271,10 @@ public: */ template<class TypeTag> class CCTpfaFacetCouplingFouriersLawImpl<TypeTag, /*isNetwork*/true> -: public FouriersLawImplementation<TypeTag, DiscretizationMethod::cctpfa> +: public FouriersLawImplementation<TypeTag, DiscretizationMethods::CCTpfa> { using Implementation = CCTpfaFacetCouplingFouriersLawImpl<TypeTag, true>; - using ParentType = FouriersLawImplementation<TypeTag, DiscretizationMethod::cctpfa>; + using ParentType = FouriersLawImplementation<TypeTag, DiscretizationMethods::CCTpfa>; using Scalar = GetPropType<TypeTag, Properties::Scalar>; using GridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; @@ -338,7 +339,8 @@ public: using Cache = FacetCouplingFouriersLawCache; //! state the discretization method this implementation belongs to - static const DiscretizationMethod discMethod = DiscretizationMethod::cctpfa; + using DiscretizationMethod = DiscretizationMethods::CCTpfa; + static constexpr DiscretizationMethod discMethod{}; //! Compute the conductive heat flux template< class Problem, class ElementVolumeVariables, class ElementFluxVarsCache >