36void Foam::CFCFaceToCellStencil::calcFaceBoundaryData
38 labelListList& neiGlobal
49 const polyPatch& pp =
patches[patchi];
50 label facei = pp.
start();
60 globFaces.
setSize(cFaces.size()-1);
65 if (cFaces[j] != facei)
76 else if (isA<emptyPolyPatch>(pp))
94void Foam::CFCFaceToCellStencil::calcCellStencil
108 calcFaceBoundaryData(neiGlobal);
118 const polyPatch& pp =
patches[patchi];
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;
219 calcCellStencil(*
this);
void setSize(const label n)
Alias for resize()
label appendUniq(const T &val)
Append an element if not already in the list.
void clear()
Clear the list, i.e. set size to zero.
baseclass for extended cell centred addressing. Contains per cell a list of neighbouring faces in glo...
const polyMesh & mesh() const
const globalIndex & globalNumbering() const
Global numbering for faces.
label toGlobal(const label i) const
From local to global index.
label start() const noexcept
The start label of boundary faces in the polyMesh face list.
Mesh consisting of general polyhedral cells.
virtual const labelList & faceOwner() const
Return face owner.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
virtual const labelList & faceNeighbour() const
Return face neighbour.
label nBoundaryFaces() const noexcept
Number of boundary faces (== nFaces - nInternalFaces)
label nInternalFaces() const noexcept
Number of internal faces.
const cellList & cells() const
const polyBoundaryMesh & patches
List< label > labelList
A List of labels.
List< labelList > labelListList
A List of labelList.
List< bool > boolList
A List of bools.
#define forAll(list, i)
Loop across all elements in list.