35 bool Foam::starMesh::starEqualFace
37 const face& boundaryFace,
45 bool cellFaceHappy =
false;
49 forAll(cellFace, cellFaceLabelI)
51 const label curCellFaceLabel = cellFace[cellFaceLabelI];
53 forAll(boundaryFace, bouFaceLabelI)
55 if (boundaryFace[bouFaceLabelI] == curCellFaceLabel)
70 bool boundaryFaceHappy =
true;
72 forAll(boundaryFace, bouFaceLabelI)
74 const label curBouFaceLabel = boundaryFace[bouFaceLabelI];
78 forAll(cellFace, cellFaceLabelI)
80 if (curBouFaceLabel == cellFace[cellFaceLabelI])
87 boundaryFaceHappy = boundaryFaceHappy &&
found;
90 return (cellFaceHappy && boundaryFaceHappy);
94 void Foam::starMesh::markBoundaryFaces()
108 curBoundaryCellIDs.
setSize(patchFaces.size());
109 curBoundaryCellFaceIDs.setSize(patchFaces.size());
117 const face& curFace = patchFaces[facei];
120 forAll(facePoints, pointi)
123 PointCells[facePoints[pointi]];
125 forAll(facePointCells, celli)
127 const label curCellIndex = facePointCells[celli];
130 cellFaces_[curCellIndex];
132 forAll(curCellFaces, cellFacei)
134 if (starEqualFace(curFace, curCellFaces[cellFacei]))
140 curBoundaryCellIDs[facei] = curCellIndex;
141 curBoundaryCellFaceIDs[facei] = cellFacei;
153 <<
" does not have neighbour cell." 154 <<
" Face : " <<
endl << curFace <<
endl 155 <<
"PROSTAR Command: vset,news,vlis";
159 if (curFace[spI] > -1 && curFace[spI] < starPointID_.
size())
161 Info<<
"," << starPointID_[curFace[spI]];
170 <<
" $ bset,add,vset,all" 178 void Foam::starMesh::collectBoundaryFaces()
180 Info<<
"Collecting boundary faces" <<
endl;
187 const labelList& curBoundaryCellFaceIDs = boundaryCellFaceIDs_[
patchi];
189 forAll(curBoundaryCellIDs, facei)
192 cellFaces_[curBoundaryCellIDs[facei]]
193 [curBoundaryCellFaceIDs[facei]];
197 Info<<
"Finished collecting boundary faces" <<
endl;
List< labelList > labelListList
A List of labelList.
#define forAll(list, i)
Loop across all elements in list.
FvWallInfoData< WallInfo, label > label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
void size(const label)
Override size to be inconsistent with allocated storage.
Ostream & endl(Ostream &os)
Add newline and flush stream.
List< label > labelList
A List of labels.
errorManip< error > abort(error &err)
void setSize(const label)
Reset size of List.