Go to the documentation of this file.
35 void Foam::CFCCellToCellStencil::calcFaceBoundaryData
48 const polyPatch& pp =
patches[patchi];
49 label facei = pp.start();
61 else if (isA<emptyPolyPatch>(pp))
66 neiGlobal[bFacei] = -1;
86 void Foam::CFCCellToCellStencil::calcCellStencil
100 calcFaceBoundaryData(neiGlobal);
106 globalCellCells.setSize(
mesh().nCells());
107 forAll(globalCellCells, celli)
109 const cell& cFaces =
mesh().
cells()[celli];
111 labelList& cCells = globalCellCells[celli];
113 cCells.
setSize(cFaces.size()+1);
118 cCells[nNbr++] = globalNumbering().toGlobal(celli);
123 label facei = cFaces[i];
125 if (
mesh().isInternalFace(facei))
127 label nbrCelli = own[facei];
128 if (nbrCelli == celli)
130 nbrCelli = nei[facei];
132 cCells[nNbr++] = globalNumbering().toGlobal(nbrCelli);
139 cCells[nNbr++] = nbrCelli;
143 cCells.setSize(nNbr);
155 calcCellStencil(*
this);
List< label > labelList
A List of labels.
const polyMesh & mesh() const
label nInternalFaces() const
Number of internal faces.
const cellList & cells() const
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
Mesh consisting of general polyhedral cells.
#define forAll(list, i)
Loop across all elements in list.
const globalIndex & globalNumbering() const
Global numbering for cells and boundary faces.
virtual const labelList & faceOwner() const
Return face owner.
label nBoundaryFaces() const
Number of boundary faces (== nFaces - nInternalFaces)
List< labelList > labelListList
A List of labelList.
const polyBoundaryMesh & patches
void setSize(const label newSize)
Alias for resize(const label)
baseclass for extended cell centred addressing. Contains per cell a list of neighbouring cells and/or...
CFCCellToCellStencil(const polyMesh &mesh)
Construct from mesh.
virtual const labelList & faceNeighbour() const
Return face neighbour.
label toGlobal(const label i) const
From local to global index.