34 void Foam::CFCFaceToCellStencil::calcFaceBoundaryData
47 const polyPatch& pp = patches[patchI];
48 label faceI = pp.start();
58 globFaces.
setSize(cFaces.size()-1);
63 if (cFaces[j] != faceI)
74 else if (isA<emptyPolyPatch>(pp))
89 void Foam::CFCFaceToCellStencil::calcCellStencil(
labelListList& globalCellFaces)
101 calcFaceBoundaryData(neiGlobal);
111 const polyPatch& pp = patches[patchI];
113 if (isA<emptyPolyPatch>(pp))
118 validBFace[bFaceI++] =
false;
127 DynamicList<label> allGlobalFaces(100);
129 globalCellFaces.setSize(
mesh().nCells());
130 forAll(globalCellFaces, cellI)
132 const cell& cFaces =
mesh().
cells()[cellI];
134 allGlobalFaces.
clear();
139 label faceI = cFaces[i];
143 mesh().isInternalFace(faceI)
144 || validBFace[faceI-
mesh().nInternalFaces()]
147 allGlobalFaces.append(globalNumbering().toGlobal(faceI));
154 label faceI = cFaces[i];
156 if (
mesh().isInternalFace(faceI))
158 label nbrCellI = own[faceI];
159 if (nbrCellI == cellI)
161 nbrCellI = nei[faceI];
163 const cell& nbrFaces =
mesh().
cells()[nbrCellI];
167 label nbrFaceI = nbrFaces[j];
171 mesh().isInternalFace(nbrFaceI)
172 || validBFace[nbrFaceI-
mesh().nInternalFaces()]
175 label nbrGlobalI = globalNumbering().toGlobal(nbrFaceI);
178 if (
findIndex(allGlobalFaces, nbrGlobalI) == -1)
180 allGlobalFaces.append(nbrGlobalI);
192 label nbrGlobalI = nbrGlobalFaces[j];
195 if (
findIndex(allGlobalFaces, nbrGlobalI) == -1)
197 allGlobalFaces.append(nbrGlobalI);
203 globalCellFaces[cellI] = allGlobalFaces;
226 calcCellStencil(*
this);