From 8847f6da59969ef1362cf7f3c78b74fd65cae33c Mon Sep 17 00:00:00 2001
From: Felix Schindler <felix.schindler@wwu.de>
Date: Thu, 8 Aug 2019 22:16:54 +0200
Subject: [PATCH] drop all DD SubdomainGrid related stuff

---
 dune/xt/functions/interfaces/flux-function.hh |  1 -
 dune/xt/functions/interfaces/grid-function.hh |  1 -
 python/dune/xt/functions/ESV2007.bindings.hh  | 28 +------------
 python/dune/xt/functions/checkerboard.hh      | 16 +------
 python/dune/xt/functions/constant.hh          | 15 -------
 python/dune/xt/functions/expression.hh        |  1 -
 .../dune/xt/functions/function-interface.hh   | 42 -------------------
 .../xt/functions/gridfunction-interface.hh    | 40 +-----------------
 python/dune/xt/functions/indicator.hh         | 20 ++-------
 python/dune/xt/functions/spe10.hh             | 18 +-------
 10 files changed, 8 insertions(+), 174 deletions(-)

diff --git a/dune/xt/functions/interfaces/flux-function.hh b/dune/xt/functions/interfaces/flux-function.hh
index 275a55cc0..467013b4e 100644
--- a/dune/xt/functions/interfaces/flux-function.hh
+++ b/dune/xt/functions/interfaces/flux-function.hh
@@ -28,7 +28,6 @@
 #include <dune/xt/common/filesystem.hh>
 #include <dune/xt/common/memory.hh>
 #include <dune/xt/common/type_traits.hh>
-#include <dune/xt/grid/dd/subdomains/grid.hh>
 #include <dune/xt/grid/grids.hh>
 #include <dune/xt/grid/layers.hh>
 #include <dune/xt/grid/view/from-part.hh>
diff --git a/dune/xt/functions/interfaces/grid-function.hh b/dune/xt/functions/interfaces/grid-function.hh
index 1b310e681..d187c61ef 100644
--- a/dune/xt/functions/interfaces/grid-function.hh
+++ b/dune/xt/functions/interfaces/grid-function.hh
@@ -28,7 +28,6 @@
 #include <dune/xt/common/filesystem.hh>
 #include <dune/xt/common/memory.hh>
 #include <dune/xt/common/type_traits.hh>
-#include <dune/xt/grid/dd/subdomains/grid.hh>
 #include <dune/xt/grid/grids.hh>
 #include <dune/xt/grid/layers.hh>
 #include <dune/xt/grid/view/from-part.hh>
diff --git a/python/dune/xt/functions/ESV2007.bindings.hh b/python/dune/xt/functions/ESV2007.bindings.hh
index 2ec038c6d..6e8ab44da 100644
--- a/python/dune/xt/functions/ESV2007.bindings.hh
+++ b/python/dune/xt/functions/ESV2007.bindings.hh
@@ -15,7 +15,6 @@
 #include <dune/pybindxi/pybind11.h>
 
 #include <dune/xt/common/string.hh>
-#include <dune/xt/grid/dd/subdomains/grid.hh>
 #include <dune/xt/grid/gridprovider/provider.hh>
 #include <python/dune/xt/grid/grids.bindings.hh>
 #include <dune/xt/grid/type_traits.hh>
@@ -82,7 +81,7 @@ class CutoffFunction
 
       const std::string make_name = "make_esv2007_cutoff_function";
       m.def(std::string(make_name + "_single_diffusion_to_1x1").c_str(),
-            [](const Grid::GridProvider<G, Grid::none_t>& /*grid*/,
+            [](const Grid::GridProvider<G>& /*grid*/,
                const ScalarFunction& diffusion,
                const R& poincare_constant,
                const std::string& name) { return type_single_diffusion(diffusion, poincare_constant, name); },
@@ -91,31 +90,8 @@ class CutoffFunction
             "poincare_constant"_a = 1.0 / (M_PIl * M_PIl),
             "name"_a = type_single_diffusion::static_id(),
             py::keep_alive<0, 2>());
-      m.def(std::string(make_name + "_single_diffusion_to_1x1").c_str(),
-            [](const Grid::GridProvider<G, XT::Grid::DD::SubdomainGrid<G>>& /*grid*/,
-               const ScalarFunction& diffusion,
-               const R& poincare_constant,
-               const std::string& name) { return type_single_diffusion(diffusion, poincare_constant, name); },
-            "grid_provider"_a,
-            "diffusion"_a,
-            "poincare_constant"_a = 1.0 / (M_PIl * M_PIl),
-            "name"_a = type_single_diffusion::static_id(),
-            py::keep_alive<0, 2>());
-      m.def(std::string(make_name + "_diffusion_factor_and_tensor_to_1x1").c_str(),
-            [](const Grid::GridProvider<G, Grid::none_t>& /*grid*/,
-               const ScalarFunction& diffusion_factor,
-               const TensorFunction& diffusion_tensor,
-               const R& poincare_constant,
-               const std::string& name) { return type(diffusion_factor, diffusion_tensor, poincare_constant, name); },
-            "grid_provider"_a,
-            "diffusion_factor"_a,
-            "diffusion_tesor"_a,
-            "poincare_constant"_a = 1.0 / (M_PIl * M_PIl),
-            "name"_a = type::static_id(),
-            py::keep_alive<0, 2>(),
-            py::keep_alive<0, 3>());
       m.def(std::string(make_name + "_diffusion_factor_and_tensor_to_1x1").c_str(),
-            [](const Grid::GridProvider<G, XT::Grid::DD::SubdomainGrid<G>>& /*grid*/,
+            [](const Grid::GridProvider<G>& /*grid*/,
                const ScalarFunction& diffusion_factor,
                const TensorFunction& diffusion_tensor,
                const R& poincare_constant,
diff --git a/python/dune/xt/functions/checkerboard.hh b/python/dune/xt/functions/checkerboard.hh
index dabe8661a..ed51f3f15 100644
--- a/python/dune/xt/functions/checkerboard.hh
+++ b/python/dune/xt/functions/checkerboard.hh
@@ -17,7 +17,6 @@
 
 #include <dune/xt/common/string.hh>
 
-#include <dune/xt/grid/dd/subdomains/grid.hh>
 #include <dune/xt/grid/type_traits.hh>
 #include <dune/xt/grid/gridprovider/provider.hh>
 
@@ -77,20 +76,7 @@ bind_CheckerboardFunction(pybind11::module& m, const std::string& grid_id)
 
   const std::string make_name = "make_checkerboard_function_" + Common::to_string(r) + "x" + Common::to_string(rC);
   m.def(std::string(make_name).c_str(),
-        [](const Grid::GridProvider<G, Grid::none_t>& /*grid_provider*/,
-           const Common::FieldVector<D, d>& lower_left,
-           const Common::FieldVector<D, d>& upper_right,
-           const Common::FieldVector<size_t, d>& num_elements,
-           const std::vector<typename C::RangeType>& values,
-           const std::string name) { return C(lower_left, upper_right, num_elements, values, name); },
-        "grid_provider"_a,
-        "lower_left"_a,
-        "upper_right"_a,
-        "num_elements"_a,
-        "values"_a,
-        "name"_a = C::static_id());
-  m.def(std::string(make_name).c_str(),
-        [](const Grid::GridProvider<G, Grid::DD::SubdomainGrid<G>>& /*grid_provider*/,
+        [](const Grid::GridProvider<G>& /*grid_provider*/,
            const Common::FieldVector<D, d>& lower_left,
            const Common::FieldVector<D, d>& upper_right,
            const Common::FieldVector<size_t, d>& num_elements,
diff --git a/python/dune/xt/functions/constant.hh b/python/dune/xt/functions/constant.hh
index 9ca002af6..4f87fe399 100644
--- a/python/dune/xt/functions/constant.hh
+++ b/python/dune/xt/functions/constant.hh
@@ -16,7 +16,6 @@
 #include <dune/pybindxi/pybind11.h>
 
 #include <dune/xt/common/string.hh>
-#include <dune/xt/grid/dd/subdomains/grid.hh>
 #include <dune/xt/grid/gridprovider/provider.hh>
 #include <dune/xt/grid/type_traits.hh>
 
@@ -68,13 +67,6 @@ typename pybind11::class_<ConstantFunction<d, r, rC, double>> bind_ConstantFunct
         "value"_a,
         "name"_a = C::static_id());
   //  m.def(std::string(make_name).c_str(),
-  //        [](const Grid::GridProvider<G, Grid::DD::SubdomainGrid<G>>& /*grid*/,
-  //           const typename C::RangeReturnType& value,
-  //           const std::string& name) { return C(value, name); },
-  //        "grid_provider"_a,
-  //        "value"_a,
-  //        "name"_a = C::static_id());
-  //  m.def(std::string(make_name).c_str(),
   //        [](const Grid::GridProvider<G>& /*grid*/, const typename C::RangeFieldType& value, const std::string& name)
   //        {
   //          return C(value, name);
@@ -82,13 +74,6 @@ typename pybind11::class_<ConstantFunction<d, r, rC, double>> bind_ConstantFunct
   //        "grid_provider"_a,
   //        "value"_a,
   //        "name"_a = C::static_id());
-  //  m.def(std::string(make_name).c_str(),
-  //        [](const Grid::GridProvider<G, Grid::DD::SubdomainGrid<G>>& /*grid*/,
-  //           const typename C::RangeFieldType& value,
-  //           const std::string& name) { return C(value, name); },
-  //        "grid_provider"_a,
-  //        "value"_a,
-  //        "name"_a = C::static_id());
 
   return c;
 } // ... bind_ConstantFunction(...)
diff --git a/python/dune/xt/functions/expression.hh b/python/dune/xt/functions/expression.hh
index 9809bebab..bf14606ab 100644
--- a/python/dune/xt/functions/expression.hh
+++ b/python/dune/xt/functions/expression.hh
@@ -17,7 +17,6 @@
 #include <dune/pybindxi/stl.h>
 
 #include <dune/xt/common/string.hh>
-#include <dune/xt/grid/dd/subdomains/grid.hh>
 #include <dune/xt/grid/type_traits.hh>
 #include <dune/xt/grid/gridprovider/provider.hh>
 #include <dune/xt/functions/expression.hh>
diff --git a/python/dune/xt/functions/function-interface.hh b/python/dune/xt/functions/function-interface.hh
index 000a45aa5..eece56817 100644
--- a/python/dune/xt/functions/function-interface.hh
+++ b/python/dune/xt/functions/function-interface.hh
@@ -18,7 +18,6 @@
 
 #include <python/dune/xt/common/bindings.hh>
 #include <python/dune/xt/grid/grids.bindings.hh>
-#include <dune/xt/grid/dd/subdomains/grid.hh>
 #include <dune/xt/grid/gridprovider/provider.hh>
 
 #include <dune/xt/functions/interfaces/function.hh>
@@ -202,47 +201,6 @@ pybind11::class_<FunctionInterface<d, r, rC, double>> bind_FunctionInterface(pyb
   //        "level"_a = -1,
   //        "path"_a,
   //        "subsampling"_a = true);
-  //  c.def("visualize",
-  //        [](const C& self,
-  //           const Grid::GridProvider<G, Grid::DD::SubdomainGrid<G>>& dd_grid_provider,
-  //           const std::string& layer,
-  //           const ssize_t lvl_or_sbdmn,
-  //           const std::string& path,
-  //           const bool subsampling) {
-  //          const auto level_or_subdomain = XT::Common::numeric_cast<int>(lvl_or_sbdmn);
-  //          if (layer == "leaf")
-  //            self.visualize(dd_grid_provider.leaf_view(), path, subsampling);
-  //          else if (layer == "level")
-  //            self.visualize(
-  //                dd_grid_provider.template layer<XT::Grid::Layers::level,
-  //                XT::Grid::Backends::view>(level_or_subdomain),
-  //                path,
-  //                subsampling);
-  //          else if (layer == "dd_subdomain")
-  //            self.visualize(dd_grid_provider.template layer<XT::Grid::Layers::dd_subdomain,
-  //            XT::Grid::Backends::view>(
-  //                               level_or_subdomain),
-  //                           path,
-  //                           subsampling);
-  //          else if (layer == "dd_subdomain_oversampled")
-  //            self.visualize(
-  //                dd_grid_provider.template layer<XT::Grid::Layers::dd_subdomain_oversampled,
-  //                XT::Grid::Backends::view>(
-  //                    level_or_subdomain),
-  //                path,
-  //                subsampling);
-  //          else
-  //            DUNE_THROW(
-  //                XT::Common::Exceptions::wrong_input_given,
-  //                "Given layer has to be one of ('leaf', 'level', 'dd_subdomain', 'dd_subdomain_oversampled'), is '"
-  //                    << layer
-  //                    << "'!");
-  //        },
-  //        "dd_grid_provider"_a,
-  //        "layer"_a = "leaf",
-  //        "level_or_subdomain"_a = -1,
-  //        "path"_a,
-  //        "subsampling"_a = true);
 
   // internal::Divergence<G>::addbind(m, c);
 
diff --git a/python/dune/xt/functions/gridfunction-interface.hh b/python/dune/xt/functions/gridfunction-interface.hh
index 4cb119bff..23e289dbb 100644
--- a/python/dune/xt/functions/gridfunction-interface.hh
+++ b/python/dune/xt/functions/gridfunction-interface.hh
@@ -18,7 +18,6 @@
 
 #include <python/dune/xt/common/bindings.hh>
 #include <python/dune/xt/grid/grids.bindings.hh>
-#include <dune/xt/grid/dd/subdomains/grid.hh>
 #include <dune/xt/grid/gridprovider/provider.hh>
 
 #include <dune/xt/functions/interfaces/grid-function.hh>
@@ -338,7 +337,7 @@ bind_GridFunctionInterface(pybind11::module& m, const std::string& grid_id)
 
   c.def("visualize",
         [](const C& self,
-           const Grid::GridProvider<G, Grid::none_t>& grid_provider,
+           const Grid::GridProvider<G>& grid_provider,
            const std::string& layer,
            const ssize_t lvl,
            const std::string& path,
@@ -359,43 +358,6 @@ bind_GridFunctionInterface(pybind11::module& m, const std::string& grid_id)
         "level"_a = -1,
         "path"_a,
         "subsampling"_a = true);
-  c.def("visualize",
-        [](const C& self,
-           const Grid::GridProvider<G, Grid::DD::SubdomainGrid<G>>& dd_grid_provider,
-           const std::string& layer,
-           const ssize_t lvl_or_sbdmn,
-           const std::string& path,
-           const bool subsampling) {
-          const auto level_or_subdomain = XT::Common::numeric_cast<int>(lvl_or_sbdmn);
-          if (layer == "leaf")
-            self.visualize(dd_grid_provider.leaf_view(), path, subsampling);
-          else if (layer == "level")
-            self.visualize(
-                dd_grid_provider.template layer<XT::Grid::Layers::level, XT::Grid::Backends::view>(level_or_subdomain),
-                path,
-                subsampling);
-          else if (layer == "dd_subdomain")
-            self.visualize(dd_grid_provider.template layer<XT::Grid::Layers::dd_subdomain, XT::Grid::Backends::view>(
-                               level_or_subdomain),
-                           path,
-                           subsampling);
-          else if (layer == "dd_subdomain_oversampled")
-            self.visualize(
-                dd_grid_provider.template layer<XT::Grid::Layers::dd_subdomain_oversampled, XT::Grid::Backends::view>(
-                    level_or_subdomain),
-                path,
-                subsampling);
-          else
-            DUNE_THROW(
-                XT::Common::Exceptions::wrong_input_given,
-                "Given layer has to be one of ('leaf', 'level', 'dd_subdomain', 'dd_subdomain_oversampled'), is '"
-                    << layer << "'!");
-        },
-        "dd_grid_provider"_a,
-        "layer"_a = "leaf",
-        "level_or_subdomain"_a = -1,
-        "path"_a,
-        "subsampling"_a = true);
 
   // internal::Divergence<G>::addbind(m, c);
 
diff --git a/python/dune/xt/functions/indicator.hh b/python/dune/xt/functions/indicator.hh
index a3bdbe8be..faec31b05 100644
--- a/python/dune/xt/functions/indicator.hh
+++ b/python/dune/xt/functions/indicator.hh
@@ -16,7 +16,6 @@
 #include <dune/pybindxi/pybind11.h>
 
 #include <dune/xt/common/string.hh>
-#include <dune/xt/grid/dd/subdomains/grid.hh>
 #include <dune/xt/grid/gridprovider/provider.hh>
 #include <dune/xt/grid/type_traits.hh>
 
@@ -58,33 +57,20 @@ bind_IndicatorGridFunction(pybind11::module& m, const std::string& grid_id)
 
   const std::string make_name = "make_indicator_function_" + Common::to_string(r) + "x" + Common::to_string(rC);
   m.def(std::string(make_name).c_str(),
-        [](const Grid::GridProvider<G, Grid::none_t>& /*grid*/, const CornerVector& values, const std::string& name) {
+        [](const Grid::GridProvider<G>& /*grid*/, const CornerVector& values, const std::string& name) {
           return C(values, name);
         },
         "grid_provider"_a,
         "values"_a,
         "name"_a = C::static_id());
   m.def(std::string(make_name).c_str(),
-        [](const Grid::GridProvider<G, Grid::DD::SubdomainGrid<G>>& /*grid*/,
-           const IntervalVector& value,
-           const std::string& name) { return C(value, name); },
-        "grid_provider"_a,
-        "values"_a,
-        "name"_a = C::static_id());
-  m.def(std::string(make_name).c_str(),
-        [](const Grid::GridProvider<G, Grid::none_t>& /*grid*/, const CornerVector& values, const std::string& name) {
+        [](const Grid::GridProvider<G>& /*grid*/, const CornerVector& values, const std::string& name) {
           return C(values, name);
         },
         "grid_provider"_a,
         "values"_a,
         "name"_a = C::static_id());
-  m.def(std::string(make_name).c_str(),
-        [](const Grid::GridProvider<G, Grid::DD::SubdomainGrid<G>>& /*grid*/,
-           const IntervalVector& value,
-           const std::string& name) { return C(value, name); },
-        "grid_provider"_a,
-        "values"_a,
-        "name"_a = C::static_id());
+
   return c;
 } // ... bind_IndicatorGridFunction(...)
 
diff --git a/python/dune/xt/functions/spe10.hh b/python/dune/xt/functions/spe10.hh
index 68728a343..95d16e178 100644
--- a/python/dune/xt/functions/spe10.hh
+++ b/python/dune/xt/functions/spe10.hh
@@ -17,7 +17,6 @@
 
 #include <dune/xt/common/string.hh>
 
-#include <dune/xt/grid/dd/subdomains/grid.hh>
 #include <dune/xt/grid/type_traits.hh>
 #include <dune/xt/grid/gridprovider/provider.hh>
 
@@ -96,22 +95,7 @@ bind_Spe10Model1Function(pybind11::module& m, const std::string& grid_id)
 
   const std::string make_name = "make_spe10_model1_function_" + Common::to_string(r) + "x" + Common::to_string(rC);
   m.def(std::string(make_name).c_str(),
-        [](const Grid::GridProvider<G, Grid::none_t>& /*grid*/,
-           const std::string& filename,
-           const Common::FieldVector<D, d>& lower_left,
-           const Common::FieldVector<D, d>& upper_right,
-           const R& min,
-           const R& max,
-           const std::string& name) { return C(filename, lower_left, upper_right, min, max, name); },
-        "grid_provider"_a,
-        "filename"_a,
-        "lower_left"_a,
-        "upper_right"_a,
-        "min"_a = Spe10::internal::model1_min_value,
-        "max"_a = Spe10::internal::model1_max_value,
-        "name"_a = C::static_id());
-  m.def(std::string(make_name).c_str(),
-        [](const Grid::GridProvider<G, Grid::DD::SubdomainGrid<G>>& /*grid*/,
+        [](const Grid::GridProvider<G>& /*grid*/,
            const std::string& filename,
            const Common::FieldVector<D, d>& lower_left,
            const Common::FieldVector<D, d>& upper_right,
-- 
GitLab