36 void Foam::CFCFaceToCellStencil::calcFaceBoundaryData
50 label facei =
pp.start();
60 globFaces.
setSize(cFaces.size()-1);
65 if (cFaces[j] != facei)
76 else if (isA<emptyPolyPatch>(
pp))
94 void Foam::CFCFaceToCellStencil::calcCellStencil
108 calcFaceBoundaryData(neiGlobal);
120 if (isA<emptyPolyPatch>(
pp))
125 validBFace[bFacei++] =
false;
134 DynamicList<label> allGlobalFaces(100);
136 globalCellFaces.setSize(
mesh().nCells());
137 forAll(globalCellFaces, celli)
139 const cell& cFaces =
mesh().
cells()[celli];
141 allGlobalFaces.
clear();
144 for (
const label facei : cFaces)
148 mesh().isInternalFace(facei)
149 || validBFace[facei-
mesh().nInternalFaces()]
152 allGlobalFaces.append(globalNumbering().toGlobal(facei));
157 for (
const label facei : cFaces)
159 if (
mesh().isInternalFace(facei))
161 label nbrCelli = own[facei];
162 if (nbrCelli == celli)
164 nbrCelli = nei[facei];
166 const cell& nbrFaces =
mesh().
cells()[nbrCelli];
168 for (
const label nbrFacei : nbrFaces)
172 mesh().isInternalFace(nbrFacei)
173 || validBFace[nbrFacei-
mesh().nInternalFaces()]
176 label nbrGlobali = globalNumbering().toGlobal(nbrFacei);
188 for (
const label nbrGlobali : nbrGlobalFaces)
196 globalCellFaces[celli] = allGlobalFaces;
216 faceToCellStencil(
mesh)
219 calcCellStencil(*
this);
CFCFaceToCellStencil(const polyMesh &)
Construct from mesh.
virtual const labelList & faceNeighbour() const
Return face neighbour.
const globalIndex & globalNumbering() const
Global numbering for faces.
label appendUniq(const T &val)
Append an element if not already in the list.
const cellList & cells() const
List< labelList > labelListList
List of labelList.
#define forAll(list, i)
Loop across all elements in list.
void setSize(const label n)
Alias for resize()
void clear()
Clear the list, i.e. set size to zero.
const polyBoundaryMesh & boundaryMesh() const noexcept
Return boundary mesh.
virtual const labelList & faceOwner() const
Return face owner.
label nInternalFaces() const noexcept
Number of internal faces.
const polyMesh & mesh() const
label toGlobal(const label i) const
From local to global index.
const polyBoundaryMesh & patches
List< label > labelList
A List of labels.
label nBoundaryFaces() const noexcept
Number of boundary faces (== nFaces - nInternalFaces)
List< bool > boolList
A List of bools.
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())