From 0822dd8b16f06db752ccf92c42254d2532f838df Mon Sep 17 00:00:00 2001
From: Timo Koch <timo.koch@iws.uni-stuttgart.de>
Date: Wed, 29 Nov 2017 14:18:29 +0100
Subject: [PATCH] [mpfa][helper] Make backwards compatible with dune 2.5

---
 .../cellcentered/mpfa/helper.hh               | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/dumux/discretization/cellcentered/mpfa/helper.hh b/dumux/discretization/cellcentered/mpfa/helper.hh
index 26fe069a77..84e0248bab 100644
--- a/dumux/discretization/cellcentered/mpfa/helper.hh
+++ b/dumux/discretization/cellcentered/mpfa/helper.hh
@@ -23,6 +23,7 @@
 #ifndef DUMUX_DISCRETIZATION_CC_MPFA_HELPER_HH
 #define DUMUX_DISCRETIZATION_CC_MPFA_HELPER_HH
 
+#include <dune/common/version.hh>
 #include <dune/geometry/type.hh>
 
 #include "methods.hh"
@@ -112,11 +113,19 @@ public:
      */
     static std::size_t getGlobalNumScvf(const GridView& gridView)
     {
+#if DUNE_VERSION_NEWER(DUNE_COMMON,2,6)
         assert(gridView.size(Dune::GeometryTypes::triangle)
                + gridView.size(Dune::GeometryTypes::quadrilateral) == gridView.size(0));
 
         return gridView.size(Dune::GeometryTypes::triangle)*6
                + gridView.size(Dune::GeometryTypes::quadrilateral)*8;
+#else
+        assert(gridView.size(Dune::GeometryType(Dune::GeometryType::simplex, 2))
+               + gridView.size(Dune::GeometryType(Dune::GeometryType::cube, 2)) == gridView.size(0));
+
+        return gridView.size(Dune::GeometryType(Dune::GeometryType::simplex, 2))*6
+               + gridView.size(Dune::GeometryType(Dune::GeometryType::cube, 2))*8;
+#endif
     }
 
     /*!
@@ -194,12 +203,21 @@ public:
      */
     static std::size_t getNumLocalScvfs(const Dune::GeometryType gt)
     {
+#if DUNE_VERSION_NEWER(DUNE_COMMON,2,6)
         if (gt == Dune::GeometryTypes::triangle)
             return 6;
         else if (gt == Dune::GeometryTypes::quadrilateral)
             return 8;
         else
             DUNE_THROW(Dune::NotImplemented, "Mpfa for 2d geometry type " << gt);
+#else
+        if (gt.isTriangle())
+            return 6;
+        else if (gt.isQuadrilateral())
+            return 8;
+        else
+            DUNE_THROW(Dune::NotImplemented, "Mpfa for 2d geometry type " << gt);
+#endif
     }
 };
 
@@ -334,6 +352,7 @@ public:
      */
     static std::size_t getGlobalNumScvf(const GridView& gridView)
     {
+#if DUNE_VERSION_NEWER(DUNE_COMMON,2,6)
         assert(gridView.size(Dune::GeometryTypes::tetrahedron)
                + gridView.size(Dune::GeometryTypes::pyramid)
                + gridView.size(Dune::GeometryTypes::prism)
@@ -343,6 +362,17 @@ public:
                + gridView.size(Dune::GeometryTypes::pyramid)*16
                + gridView.size(Dune::GeometryTypes::prism)*18
                + gridView.size(Dune::GeometryTypes::cube)*24;
+#else
+        assert(gridView.size(Dune::GeometryType(Dune::GeometryType::simplex, 3))
+               + gridView.size(Dune::GeometryType(Dune::GeometryType::pyramid, 3))
+               + gridView.size(Dune::GeometryType(Dune::GeometryType::prism, 3))
+               + gridView.size(Dune::GeometryType(Dune::GeometryType::cube, 3)) == gridView.size(0));
+
+        return gridView.size(Dune::GeometryType(Dune::GeometryType::simplex, 3))*12
+               + gridView.size(Dune::GeometryType(Dune::GeometryType::pyramid, 3))*16
+               + gridView.size(Dune::GeometryType(Dune::GeometryType::prism, 3))*18
+               + gridView.size(Dune::GeometryType(Dune::GeometryType::cube, 3))*24;
+#endif
     }
 
     /*!
-- 
GitLab