54 for (
const label pointi : boundaryPoints)
56 bool updatePoint =
false;
59 for (
const label celli : pCells[pointi])
70 syncPoints.insert(pointi,
true);
86 void Foam::zoneCPCStencil::calcPointBoundaryData
91 Map<labelList>& neiGlobal
94 neiGlobal.resize(2*boundaryPoints.size());
98 for (
const label pointi : boundaryPoints)
106 mesh_.pointFaces()[pointi],
116 ListOps::unionEqOp(),
128 nonEmptyBoundaryPoints_(nonEmptyFacesPatch()().meshPoints()),
129 uptodate_(
mesh.nCells(), false)
132 validBoundaryFaces(isValidBFace_);
149 void Foam::zoneCPCStencil::calculateStencil
156 Map<bool> syncPoints = syncCoupledBoundaryPoints
159 nonEmptyBoundaryPoints_
162 labelList boundaryPoints(syncPoints.toc());
165 calcPointBoundaryData
175 for (
const label pointi : boundaryPoints)
177 const labelList& pGlobals = neiGlobal[pointi];
180 const labelList& pCells = mesh_.pointCells(pointi);
182 for (
const label celli : pCells)
185 if (
zone[celli] && !uptodate_[celli])
189 globalNumbering().toGlobal(celli),
191 globalCellCells[celli]
194 for (
const label gblIdx : globalCellCells[celli])
196 if (!globalNumbering().isLocal(gblIdx))
198 needComm_.insert(celli);
213 if (zone[celli] && !uptodate_[celli])
215 for (
const label pointi : cPoints[celli])
217 labelList pCells = mesh_.pointCells(pointi);
219 for (label& neiCelli : pCells)
221 neiCelli = globalNumbering().toGlobal(neiCelli);
224 if (!uptodate_[celli])
228 globalNumbering().toGlobal(celli),
230 globalCellCells[celli]
235 uptodate_[celli] =
true;