33 void Foam::CFCFaceToCellStencil::calcFaceBoundaryData
46 const polyPatch& pp = patches[
patchi];
47 label facei = pp.start();
57 globFaces.
setSize(cFaces.size()-1);
62 if (cFaces[j] != facei)
73 else if (isA<emptyPolyPatch>(pp))
91 void Foam::CFCFaceToCellStencil::calcCellStencil
105 calcFaceBoundaryData(neiGlobal);
115 const polyPatch& pp = patches[
patchi];
117 if (isA<emptyPolyPatch>(pp))
122 validBFace[bFacei++] =
false;
131 DynamicList<label> allGlobalFaces(100);
133 globalCellFaces.setSize(
mesh().nCells());
134 forAll(globalCellFaces, celli)
136 const cell& cFaces =
mesh().
cells()[celli];
138 allGlobalFaces.
clear();
143 label facei = cFaces[i];
147 mesh().isInternalFace(facei)
148 || validBFace[facei-
mesh().nInternalFaces()]
158 label facei = cFaces[i];
160 if (
mesh().isInternalFace(facei))
162 label nbrCelli = own[facei];
163 if (nbrCelli == celli)
165 nbrCelli = nei[facei];
167 const cell& nbrFaces =
mesh().
cells()[nbrCelli];
171 label nbrFacei = nbrFaces[j];
175 mesh().isInternalFace(nbrFacei)
176 || validBFace[nbrFacei-
mesh().nInternalFaces()]
182 if (
findIndex(allGlobalFaces, nbrGlobalI) == -1)
184 allGlobalFaces.append(nbrGlobalI);
196 label nbrGlobalI = nbrGlobalFaces[j];
199 if (
findIndex(allGlobalFaces, nbrGlobalI) == -1)
201 allGlobalFaces.append(nbrGlobalI);
207 globalCellFaces[celli] = allGlobalFaces;
230 calcCellStencil(*
this);
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
List< labelList > labelListList
A List of labelList.
#define forAll(list, i)
Loop across all elements in list.
CFCFaceToCellStencil(const polyMesh &)
Construct from mesh.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
label nInternalFaces() const
virtual const labelList & faceNeighbour() const
Return face neighbour.
const globalIndex & globalNumbering() const
Global numbering for faces.
baseclass for extended cell centred addressing. Contains per cell a list of neighbouring faces in glo...
const cellList & cells() const
List< bool > boolList
Bool container classes.
void clear()
Clear the list, i.e. set size to zero.
virtual const labelList & faceOwner() const
Return face owner.
List< label > labelList
A List of labels.
const polyMesh & mesh() const
label findIndex(const ListType &, typename ListType::const_reference, const label start=0)
Find first occurrence of given element and return index,.
void setSize(const label)
Reset size of List.
label toGlobal(const label i) const
From local to global.
Mesh consisting of general polyhedral cells.