From 5d82413347f09b1d3b95af86ef90c961289164ef Mon Sep 17 00:00:00 2001
From: Jonathan Youett <youett@math.fu-berlin.de>
Date: Fri, 11 Jul 2014 14:36:59 +0200
Subject: [PATCH] Store hasObstacle information for each component now to
 increase flexibility.

---
 dune/solvers/iterationsteps/mmgstep.cc | 4 ++--
 dune/solvers/iterationsteps/mmgstep.hh | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/dune/solvers/iterationsteps/mmgstep.cc b/dune/solvers/iterationsteps/mmgstep.cc
index e649092f..b3faa681 100644
--- a/dune/solvers/iterationsteps/mmgstep.cc
+++ b/dune/solvers/iterationsteps/mmgstep.cc
@@ -24,8 +24,8 @@ preprocess()
     hasObstacleHierarchy_.back() = hasObstacle_;
 
     for (int i=this->mgTransfer_.size()-1; i>=0; i--) {
-        hasObstacleHierarchy_[i] = new Dune::BitSetVector<1>();
-        this->mgTransfer_[i]->restrictScalarBitField(*hasObstacleHierarchy_[i+1], *hasObstacleHierarchy_[i]);
+        hasObstacleHierarchy_[i] = new Dune::BitSetVector<dim>();
+        this->mgTransfer_[i]->restrict(*hasObstacleHierarchy_[i+1], *hasObstacleHierarchy_[i]);
         for (size_t j=0; j<hasObstacleHierarchy_[i]->size(); j++)
             if ((*this->ignoreNodesHierarchy_[i])[j].any())
                 (*hasObstacleHierarchy_[i])[j][0]=false;
diff --git a/dune/solvers/iterationsteps/mmgstep.hh b/dune/solvers/iterationsteps/mmgstep.hh
index 3cbd0cb6..cd373fa0 100644
--- a/dune/solvers/iterationsteps/mmgstep.hh
+++ b/dune/solvers/iterationsteps/mmgstep.hh
@@ -51,7 +51,7 @@ public:
     ObstacleRestrictor<VectorType>* obstacleRestrictor_;
 
     //! Bitfield determining which fine grid nodes have an obstacle 
-    Dune::BitSetVector<1>* hasObstacle_;
+    Dune::BitSetVector<dim>* hasObstacle_;
 
     //! Vector containing the obstacle values of the fine grid nodes
     ObstacleVectorType * obstacles_;
@@ -62,7 +62,7 @@ public:
 
 protected:
     //! Bitfield hierarchy containing the coarse obstacle nodes
-    std::vector<Dune::BitSetVector<1>* > hasObstacleHierarchy_;
+    std::vector<Dune::BitSetVector<dim>* > hasObstacleHierarchy_;
 
     //! Hierarchy containing the obstacle values of the coarse obstacles
     std::vector<ObstacleVectorType*>  obstacleHierarchy_;
-- 
GitLab