Commit 2ecef2c7 authored by mattijs's avatar mattijs
Browse files

BUG: globalPoints: handling shared points on V-cyclics

parent f206f572
......@@ -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);
}
}
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment