45 label nGlobalInsert = 0;
71 label elem = listA[i];
73 if (elem != global0 && elem != global1)
90 result[resultI++] = global0;
94 result[resultI++] = global1;
101 label elem = listB[i];
103 if (elem != global0 && elem != global1)
105 result[resultI++] = elem;
113 label elem = listA[i];
115 if (elem != global0 && elem != global1)
119 result[resultI++] = elem;
124 if (resultI != result.size())
145 if (cCells[i] != globalI)
147 set.insert(cCells[i]);
153 if (pGlobals[i] != globalI)
155 set.insert(pGlobals[i]);
161 cCells[n++] = globalI;
165 cCells[n++] = iter.key();
180 if (pp.
coupled() || isA<emptyPolyPatch>(pp))
185 isValidBFace[bFaceI++] =
false;
205 nCoupled += pp.size();
217 label faceI = pp.
start();
221 coupledFaces[nCoupled++] = faceI++;
241 void Foam::cellToFaceStencil::unionEqOp::operator()
268 const label exclude0,
269 const label exclude1,
280 label faceI = faceLabels[i];
282 label globalOwn = globalNumbering().toGlobal(own[faceI]);
283 if (globalOwn != exclude0 && globalOwn != exclude1)
285 globals.
insert(globalOwn);
288 if (
mesh().isInternalFace(faceI))
290 label globalNei = globalNumbering().toGlobal(nei[faceI]);
291 if (globalNei != exclude0 && globalNei != exclude1)
293 globals.
insert(globalNei);
300 if (isValidBFace[bFaceI])
302 label globalI = globalNumbering().toGlobal
308 if (globalI != exclude0 && globalI != exclude1)
336 return globals.
toc();
348 const label nBnd = mesh_.nFaces()-mesh_.nInternalFaces();
349 const labelList& own = mesh_.faceOwner();
350 const labelList& nei = mesh_.faceNeighbour();
363 label faceI = pp.
start();
367 neiGlobalCellCells[faceI-mesh_.nInternalFaces()] =
368 globalCellCells[own[faceI]];
380 faceStencil.
setSize(mesh_.nFaces());
384 for (label faceI = 0; faceI < mesh_.nInternalFaces(); faceI++)
386 faceStencilSet.
clear();
388 const labelList& ownCCells = globalCellCells[own[faceI]];
389 label globalOwn = ownCCells[0];
393 faceStencilSet.
insert(ownCCells[i]);
396 const labelList& neiCCells = globalCellCells[nei[faceI]];
397 label globalNei = neiCCells[0];
401 faceStencilSet.
insert(neiCCells[i]);
407 faceStencil[faceI][n++] = globalOwn;
408 faceStencil[faceI][n++] = globalNei;
411 if (iter.key() != globalOwn && iter.key() != globalNei)
413 faceStencil[faceI][n++] = iter.key();
422 label faceI = pp.
start();
428 faceStencilSet.
clear();
430 const labelList& ownCCells = globalCellCells[own[faceI]];
431 label globalOwn = ownCCells[0];
434 faceStencilSet.
insert(ownCCells[i]);
439 neiGlobalCellCells[faceI-mesh_.nInternalFaces()];
440 label globalNei = neiCCells[0];
443 faceStencilSet.
insert(neiCCells[i]);
449 faceStencil[faceI][n++] = globalOwn;
450 faceStencil[faceI][n++] = globalNei;
453 if (iter.key() != globalOwn && iter.key() != globalNei)
455 faceStencil[faceI][n++] = iter.key();
466 else if (!isA<emptyPolyPatch>(pp))
470 faceStencilSet.
clear();
472 const labelList& ownCCells = globalCellCells[own[faceI]];
473 label globalOwn = ownCCells[0];
476 faceStencilSet.
insert(ownCCells[i]);
482 faceStencil[faceI][n++] = globalOwn;
485 if (iter.key() != globalOwn)
487 faceStencil[faceI][n++] = iter.key();
507 globalNumbering_(mesh_.nCells()+mesh_.nFaces()-mesh_.nInternalFaces())