From f1e7cae6469c753042200d12a6c853646c7cfb4b Mon Sep 17 00:00:00 2001 From: mattijs Date: Mon, 12 Apr 2010 11:48:04 +0100 Subject: [PATCH] ENH: Have edge addressing from coupledPatch to mesh --- .../polyMesh/globalMeshData/globalMeshData.C | 42 +++++++++++++++++++ .../polyMesh/globalMeshData/globalMeshData.H | 11 +++++ 2 files changed, 53 insertions(+) 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