From afe604a2dbfbda99c95e73faf51f0f94b719c936 Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Wed, 5 Nov 2014 08:48:43 +0000 Subject: [PATCH] Don't try and compute localToGlobal map for subentities that don't have dofs [[Imported from SVN: r9956]] --- dune/gfe/parallel/matrixcommunicator.hh | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/dune/gfe/parallel/matrixcommunicator.hh b/dune/gfe/parallel/matrixcommunicator.hh index 90293bf1..f73b4c14 100644 --- a/dune/gfe/parallel/matrixcommunicator.hh +++ b/dune/gfe/parallel/matrixcommunicator.hh @@ -128,13 +128,15 @@ private: for (int codim = 0; codim <= GridView::dimension; codim++) for (size_t i=0; i<it->subEntities(codim); i++) { - typename GUIndex::Index localIdx = localMapper1_.map(*it,i,codim); - typename GUIndex::Index globalIdx = guIndex1_.subIndex(*it,i,codim); - localToGlobal1_[localIdx] = globalIdx; - - localIdx = localMapper2_.map(*it,i,codim); - globalIdx = guIndex2_.subIndex(*it,i,codim); - localToGlobal2_[localIdx] = globalIdx; + typename GUIndex::Index localIdx; + typename GUIndex::Index globalIdx; + if (localMapper1_.contains(*it,i,codim,localIdx) + and guIndex1_.contains(*it,i,codim,globalIdx)) + localToGlobal1_[localIdx] = globalIdx; + + if (localMapper2_.contains(*it,i,codim,localIdx) + and guIndex2_.contains(*it,i,codim,globalIdx)) + localToGlobal2_[localIdx] = globalIdx; } -- GitLab