From 2ecef2c7b95686b63294755399be878fa1526897 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 23 May 2011 16:07:00 +0100 Subject: [PATCH] BUG: globalPoints: handling shared points on V-cyclics --- .../polyMesh/globalMeshData/globalPoints.C | 129 +++++++++--------- 1 file changed, 66 insertions(+), 63 deletions(-) diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.C index 9a1954c507f..0b12acd728b 100644 --- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.C +++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.C @@ -613,80 +613,83 @@ void Foam::globalPoints::receivePatchPoints label meshPointA = meshPoints[i]; label meshPointB = coupledMeshPoints[i]; - //Pout<< "Connection between point " << meshPointA - // << " at " << mesh_.points()[meshPointA] - // << " and " << meshPointB - // << " at " << mesh_.points()[meshPointB] << endl; + if (meshPointA != meshPointB) + { + //Pout<< "Connection between point " << meshPointA + // << " at " << mesh_.points()[meshPointA] + // << " and " << meshPointB + // << " at " << mesh_.points()[meshPointB] << endl; - label localA = meshToLocalPoint - ( - meshToPatchPoint, - meshPointA - ); - label localB = meshToLocalPoint - ( - meshToPatchPoint, - meshPointB - ); + label localA = meshToLocalPoint + ( + meshToPatchPoint, + meshPointA + ); + label localB = meshToLocalPoint + ( + meshToPatchPoint, + meshPointB + ); - // Do we have information on pointA? - Map<label>::iterator procPointA = - meshToProcPoint_.find(localA); + // Do we have information on pointA? + Map<label>::iterator procPointA = + meshToProcPoint_.find(localA); - labelPairList infoA; - if (procPointA != meshToProcPoint_.end()) - { - infoA = addSendTransform - ( - cycPatch.index(), - procPoints_[procPointA()] - ); - } + labelPairList infoA; + if (procPointA != meshToProcPoint_.end()) + { + infoA = addSendTransform + ( + cycPatch.index(), + procPoints_[procPointA()] + ); + } - // Same for info on pointB - Map<label>::iterator procPointB = - meshToProcPoint_.find(localB); + // Same for info on pointB + Map<label>::iterator procPointB = + meshToProcPoint_.find(localB); - labelPairList infoB; - if (procPointB != meshToProcPoint_.end()) - { - infoB = addSendTransform - ( - cycPatch.neighbPatchID(), - procPoints_[procPointB()] - ); - } + labelPairList infoB; + if (procPointB != meshToProcPoint_.end()) + { + infoB = addSendTransform + ( + cycPatch.neighbPatchID(), + procPoints_[procPointB()] + ); + } - if (infoA.size()) - { - if (mergeInfo(infoA, localB)) + if (infoA.size()) { - //Pout<< " Combined info at point " - // << mesh_.points()[meshPointB] - // << " now " << endl; - //printProcPoints - //( - // patchToMeshPoint, - // procPoints_[meshToProcPoint_[localB]] - //); - changedPoints.insert(localB); + if (mergeInfo(infoA, localB)) + { + //Pout<< " Combined info at point " + // << mesh_.points()[meshPointB] + // << " now " << endl; + //printProcPoints + //( + // patchToMeshPoint, + // procPoints_[meshToProcPoint_[localB]] + //); + changedPoints.insert(localB); + } } - } - if (infoB.size()) - { - if (mergeInfo(infoB, localA)) + if (infoB.size()) { - //Pout<< " Combined info at point " - // << mesh_.points()[meshPointA] - // << " now " << endl; - //printProcPoints - //( - // patchToMeshPoint, - // procPoints_[meshToProcPoint_[localA]] - //); - changedPoints.insert(localA); + if (mergeInfo(infoB, localA)) + { + //Pout<< " Combined info at point " + // << mesh_.points()[meshPointA] + // << " now " << endl; + //printProcPoints + //( + // patchToMeshPoint, + // procPoints_[meshToProcPoint_[localA]] + //); + changedPoints.insert(localA); + } } } } -- GitLab