From 46aa85619a97a54921660e04b11c2c7dd217eb44 Mon Sep 17 00:00:00 2001
From: Kilian Weishaupt <kilian.weishaupt@iws.uni-stuttgart.de>
Date: Wed, 30 Nov 2016 14:29:41 +0100
Subject: [PATCH] [staggeredGrid][stencils] Do not use offset for faceDof
 indices

*Not needed since we use a multitype matrix
---
 dumux/discretization/staggered/stencils.hh | 12 ++++--------
 dumux/implicit/staggered/assembler.hh      |  4 ++--
 2 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/dumux/discretization/staggered/stencils.hh b/dumux/discretization/staggered/stencils.hh
index 0cc0b8aaf7..f977e8966b 100644
--- a/dumux/discretization/staggered/stencils.hh
+++ b/dumux/discretization/staggered/stencils.hh
@@ -200,7 +200,7 @@ public:
             {
                 faceStencils_[scvf.index()].update(problem, scvf);
 
-                const IndexType idx = scvf.dofIndexSelf() - numElements;
+                const IndexType idx = scvf.dofIndexSelf();
 
                 const auto& faceToCellCenterStencil = faceStencils_[scvf.index()].faceToCellCenterStencil();
                 fullFaceToCellCenterStencils[idx].insert(fullFaceToCellCenterStencils[idx].end(), faceToCellCenterStencil.begin(), faceToCellCenterStencil.end());
@@ -229,7 +229,7 @@ public:
     auto& get(const SubControlVolumeFace& scvFace) const
     {
         const IndexType numElements = problemPtr_->gridView().size(0);
-        return faceStencils_[scvFace.dofIndexSelf() - numElements];
+        return faceStencils_[scvFace.dofIndexSelf()];
     }
 
     /*!
@@ -237,10 +237,8 @@ public:
     */
     size_t fullFaceToCellCenterStencilSize(const int idx) const
     {
-//         const IndexType numElements = problemPtr_->gridView().size(0);
         assert(fullFaceToCellCenterStencils_ && "fullFaceToCellCenterStencils_ has already been called and deleted!");
-        return fullFaceToCellCenterStencils_.get()[0][idx/*-numElements*/].size();
-        // TODO: why does this not work?
+        return fullFaceToCellCenterStencils_.get()[0][idx].size();
     }
 
     /*!
@@ -248,10 +246,8 @@ public:
     */
     size_t fullfaceToFaceStencilSize(const int idx) const
     {
-//         const IndexType numElements = problemPtr_->gridView().size(0);
         assert(fullfaceToFaceStencils_ && "fullfaceToFaceStencils_ has already been called and deleted!");
-        return fullfaceToFaceStencils_.get()[0][idx/*-numElements*/].size();
-        // TODO: why does this not work?
+        return fullfaceToFaceStencils_.get()[0][idx].size();
     }
 
     /*!
diff --git a/dumux/implicit/staggered/assembler.hh b/dumux/implicit/staggered/assembler.hh
index e7a334f6e9..6609c9e4e2 100644
--- a/dumux/implicit/staggered/assembler.hh
+++ b/dumux/implicit/staggered/assembler.hh
@@ -160,7 +160,7 @@ private:
             for (auto&& globalJ : cellCenterToCellCenterStencil)
                 A11.addindex(globalI, globalJ);
             for (auto&& globalJ : cellCenterToFaceStencil)
-                A12.addindex(globalI, globalJ - this->gridView_().size(0));
+                A12.addindex(globalI, globalJ);
         }
         A11.endindices();
         A12.endindices();
@@ -185,7 +185,7 @@ private:
         for(const auto& stencil : fullfaceToFaceStencils)
         {
             for(auto&& globalJ : stencil)
-            A22.addindex(globalI, globalJ - this->gridView_().size(0));
+            A22.addindex(globalI, globalJ);
             ++globalI;
         }
 
-- 
GitLab