diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C index 88d02457de..17c8254387 100644 --- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C +++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C @@ -1122,6 +1122,9 @@ void Foam::globalMeshData::clearOut() deleteDemandDrivenData(sharedEdgeAddrPtr_); coupledPatchPtr_.clear(); + coupledPatchMeshEdgesPtr_.clear(); + coupledPatchMeshEdgeMapPtr_.clear(); + // Point globalPointNumberingPtr_.clear(); globalPointSlavesPtr_.clear(); @@ -1409,6 +1412,45 @@ const Foam::indirectPrimitivePatch& Foam::globalMeshData::coupledPatch() const } +const Foam::labelList& Foam::globalMeshData::coupledPatchMeshEdges() const +{ + if (!coupledPatchMeshEdgesPtr_.valid()) + { + coupledPatchMeshEdgesPtr_.reset + ( + new labelList + ( + coupledPatch().meshEdges + ( + mesh_.edges(), + mesh_.pointEdges() + ) + ) + ); + } + return coupledPatchMeshEdgesPtr_(); +} + + +const Foam::Map& Foam::globalMeshData::coupledPatchMeshEdgeMap() +const +{ + if (!coupledPatchMeshEdgeMapPtr_.valid()) + { + const labelList& me = coupledPatchMeshEdges(); + + coupledPatchMeshEdgeMapPtr_.reset(new Map