34 void Foam::CFCCellToCellStencil::calcFaceBoundaryData
48 label facei =
pp.start();
60 else if (isA<emptyPolyPatch>(
pp))
65 neiGlobal[bFacei] = -1;
85 void Foam::CFCCellToCellStencil::calcCellStencil
99 calcFaceBoundaryData(neiGlobal);
105 globalCellCells.setSize(
mesh().nCells());
106 forAll(globalCellCells, celli)
108 const cell& cFaces =
mesh().
cells()[celli];
110 labelList& cCells = globalCellCells[celli];
112 cCells.
setSize(cFaces.size()+1);
117 cCells[nNbr++] = globalNumbering().toGlobal(celli);
122 label facei = cFaces[i];
124 if (
mesh().isInternalFace(facei))
126 label nbrCelli = own[facei];
127 if (nbrCelli == celli)
129 nbrCelli = nei[facei];
131 cCells[nNbr++] = globalNumbering().toGlobal(nbrCelli);
138 cCells[nNbr++] = nbrCelli;
142 cCells.setSize(nNbr);
151 cellToCellStencil(
mesh)
154 calcCellStencil(*
this);
virtual const labelList & faceNeighbour() const
Return face neighbour.
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()
const polyBoundaryMesh & boundaryMesh() const noexcept
Return boundary mesh.
virtual const labelList & faceOwner() const
Return face owner.
label nInternalFaces() const noexcept
Number of internal faces.
label toGlobal(const label proci, const label i) const
From local to global on proci.
CFCCellToCellStencil(const polyMesh &mesh)
Construct from mesh.
const polyBoundaryMesh & patches
const globalIndex & globalNumbering() const
Global numbering for cells and boundary faces.
const polyMesh & mesh() const
List< label > labelList
A List of labels.
label nBoundaryFaces() const noexcept
Number of boundary faces (== nFaces - nInternalFaces)
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())