diff --git a/dumux/linear/linearsolvertraits.hh b/dumux/linear/linearsolvertraits.hh index 99eca749c190a7dae29a9f473dd0a876e1fc5997..146e63b40c12484f80ea3de5e37e287056311ff6 100644 --- a/dumux/linear/linearsolvertraits.hh +++ b/dumux/linear/linearsolvertraits.hh @@ -37,12 +37,12 @@ namespace Dumux { //! The implementation is specialized for the different discretizations -template<class GridGeometry, DiscretizationMethod discMethod> +template<class GridGeometry, class DiscretizationMethod> struct LinearSolverTraitsImpl; //! The type traits required for using the IstlFactoryBackend template<class GridGeometry> -using LinearSolverTraits = LinearSolverTraitsImpl<GridGeometry, GridGeometry::discMethod>; +using LinearSolverTraits = LinearSolverTraitsImpl<GridGeometry, typename GridGeometry::DiscretizationMethod>; //! sequential solver traits template<class MType, class VType> @@ -109,7 +109,7 @@ struct LinearSolverTraitsBase //! Box: use overlapping or non-overlapping model depending on the grid template<class GridGeometry> -struct LinearSolverTraitsImpl<GridGeometry, DiscretizationMethod::box> +struct LinearSolverTraitsImpl<GridGeometry, DiscretizationMethods::Box> : public LinearSolverTraitsBase<GridGeometry> { using DofMapper = typename GridGeometry::VertexMapper; @@ -124,7 +124,7 @@ struct LinearSolverTraitsImpl<GridGeometry, DiscretizationMethod::box> //! Cell-centered tpfa: use overlapping model template<class GridGeometry> -struct LinearSolverTraitsImpl<GridGeometry, DiscretizationMethod::cctpfa> +struct LinearSolverTraitsImpl<GridGeometry, DiscretizationMethods::CCTpfa> : public LinearSolverTraitsBase<GridGeometry> { using DofMapper = typename GridGeometry::ElementMapper; @@ -139,7 +139,7 @@ struct LinearSolverTraitsImpl<GridGeometry, DiscretizationMethod::cctpfa> //! Face-centered staggered: use overlapping model template<class GridGeometry> -struct LinearSolverTraitsImpl<GridGeometry, DiscretizationMethod::fcstaggered> +struct LinearSolverTraitsImpl<GridGeometry, DiscretizationMethods::FCStaggered> : public LinearSolverTraitsBase<GridGeometry> { class DofMapper @@ -180,13 +180,13 @@ struct LinearSolverTraitsImpl<GridGeometry, DiscretizationMethod::fcstaggered> //! Cell-centered mpfa: use overlapping model template<class GridGeometry> -struct LinearSolverTraitsImpl<GridGeometry, DiscretizationMethod::ccmpfa> -: public LinearSolverTraitsImpl<GridGeometry, DiscretizationMethod::cctpfa> {}; +struct LinearSolverTraitsImpl<GridGeometry, DiscretizationMethods::CCMpfa> +: public LinearSolverTraitsImpl<GridGeometry, DiscretizationMethods::CCTpfa> {}; //! staggered: use overlapping model template<class GridGeometry> -struct LinearSolverTraitsImpl<GridGeometry, DiscretizationMethod::staggered> -: public LinearSolverTraitsImpl<GridGeometry, DiscretizationMethod::cctpfa> {}; +struct LinearSolverTraitsImpl<GridGeometry, DiscretizationMethods::Staggered> +: public LinearSolverTraitsImpl<GridGeometry, DiscretizationMethods::CCTpfa> {}; } // end namespace Dumux diff --git a/test/linear/test_linearsolver.cc b/test/linear/test_linearsolver.cc index 0893455a19f4b9936d60a74523ffaae286c72b67..67e51b91115836d082cfcff7d01013ed334ec356 100644 --- a/test/linear/test_linearsolver.cc +++ b/test/linear/test_linearsolver.cc @@ -31,7 +31,8 @@ struct MockGridGeometry using GridView = Dune::YaspGrid<2>::LeafGridView; using DofMapper = Dune::MultipleCodimMultipleGeomTypeMapper<GridView>; using VertexMapper = Dune::MultipleCodimMultipleGeomTypeMapper<GridView>; - static constexpr auto discMethod = DiscretizationMethod::box; + using DiscretizationMethod = DiscretizationMethods::Box; + static constexpr DiscretizationMethod discMethod{}; }; template<class M, class X, class V>