55 std::map<label, labelLongList> selectedNegativeNodes;
57 selectedNegativeNodes.insert
62 forAll(pAtParallelBoundaries, i)
64 const label nI = pAtParallelBoundaries[i];
66 if( !negativeNode[nI] )
73 const label neiProc = pProcs(nI, procI);
78 selectedNegativeNodes[neiProc].append(globalPointLabel[nI]);
86 negativeNode[globalToLocal[receivedNodes[i]]] =
true;
96 const labelLongList& globalPointLabel = tetMesh_.globalPointLabel();
97 const VRWGraph& pProcs = tetMesh_.pointAtProcs();
98 const Map<label>& globalToLocal = tetMesh_.globalToLocalPointAddressing();
100 tetMesh_.pointsAtProcessorBoundaries();
107 std::map<label, LongList<parPartTet> > exchangeData;
116 forAll(pAtParallelBoundaries, i)
118 const label pI = pAtParallelBoundaries[i];
121 if( negativeNodePtr && !(*negativeNodePtr)[pI] )
130 const partTet& tet = tets[tetI];
133 for(
label i=0;i<4;++i)
135 const label vI = tet[i];
141 if( negativeNodePtr && !(*negativeNodePtr)[vI] )
162 if( sendToProcs.
size() != 0 )
165 forAll(sendToProcs, procI)
167 const label neiProc = sendToProcs[procI];
171 exchangeData[neiProc].
append
193 for(
label i=0;i<4;++i)
195 const label gpI = tet[i].pointLabel();
198 globalToLocal.found(gpI) &&
227 forAll(bufferLayerPoints, pI)
229 const label pointI = bufferLayerPoints[pI];
233 const label neiProc = pProcs(pointI, i);
267 const VRWGraph& pProcs = tetMesh_.pointAtProcs();
268 const Map<label>& globalToLocal = tetMesh_.globalToLocalPointAddressing();
269 const labelLongList& globalPointLabel = tetMesh_.globalPointLabel();
272 tetMesh_.pointsAtProcessorBoundaries();
275 std::map<label, LongList<labelledPoint> > exchangeData;
283 std::map<label, labelledPoint> parallelBndPoints;
284 forAll(pAtParallelBoundaries, i)
286 const label pI = pAtParallelBoundaries[i];
293 if( negativeNodePtr && !(*negativeNodePtr)[pI] )
298 const label neiProc = pProcs(pI, procI);
302 exchangeData[neiProc].append
318 std::map<label, labelledPoint>::iterator iter =
319 parallelBndPoints.find(globalToLocal[lp.
pointLabel()]);
321 if( iter == parallelBndPoints.end() )
324 ++iter->second.pointLabel();
331 std::map<label, labelledPoint>::iterator it=parallelBndPoints.begin();
332 it!=parallelBndPoints.end();
336 const label pI = it->first;
338 const point newP = it->second.coordinates() / it->second.pointLabel();
339 tetMesh_.updateVertex(pI, newP);