diff --git a/dune/gfe/parallel/globalp1mapper.hh b/dune/gfe/parallel/globalp1mapper.hh index 0ad3d7a0d838b7b268d442c334ec911764b64cb9..af880708d308dcbb80b1c012cc811cb8b3c11b9f 100644 --- a/dune/gfe/parallel/globalp1mapper.hh +++ b/dune/gfe/parallel/globalp1mapper.hh @@ -76,6 +76,15 @@ namespace Dune { return localGlobalMap_.find(localIndex)->second; } + template <class Entity> + bool contains(const Entity& entity, uint i, uint codim, Index& result) const + { + if (codim != GridView::dimension) + return false; + result = subIndex(entity,i,codim); + return true; + } + Index localIndex(const int& globalIndex) const { return globalLocalMap_.find(globalIndex)->second; } diff --git a/dune/gfe/parallel/globalp2mapper.hh b/dune/gfe/parallel/globalp2mapper.hh index 5dc676b5127855ca66d0da95dfa9577383a2e8cd..789ad77f603bf10a6316d819608b01e891f2b948 100644 --- a/dune/gfe/parallel/globalp2mapper.hh +++ b/dune/gfe/parallel/globalp2mapper.hh @@ -108,6 +108,16 @@ namespace Dune { return localGlobalMap_.find(localIndex)->second; } + template <class Entity> + bool contains(const Entity& entity, uint i, uint codim, Index& result) const + { + Index localIndex; + if (not p2Mapper_.contains(entity, i, codim,localIndex)) + return false; + result = localGlobalMap_.find(localIndex)->second; + return true; + } + Index localIndex(const int& globalIndex) const { return globalLocalMap_.find(globalIndex)->second; }