30 void Foam::blockMesh::check(
const polyMesh& bm,
const dictionary&
dict)
const
36 label nBoundaryFaces = 0;
39 nBoundaryFaces +=
cells[celli].nFaces();
42 nBoundaryFaces -= 2*bm.nInternalFaces();
44 label nDefinedBoundaryFaces = 0;
52 Info<<
nl <<
"Basic statistics" <<
nl
53 <<
" Number of internal faces : "
54 << bm.nInternalFaces() <<
nl
55 <<
" Number of boundary faces : "
56 << nBoundaryFaces <<
nl
57 <<
" Number of defined boundary faces : "
58 << nDefinedBoundaryFaces <<
nl
59 <<
" Number of undefined boundary faces : "
60 << nBoundaryFaces - nDefinedBoundaryFaces <<
nl;
62 if (nBoundaryFaces - nDefinedBoundaryFaces > 0)
64 Info<<
" (Warning : only leave undefined the front "
65 <<
"and back planes of 2D planar geometries!)" <<
endl;
76 for (
label cej=cei+1; cej<edges_.
size(); cej++)
78 if (edges_[cei].compare(edges_[cej]) != 0)
80 oss <<
" Curved edge #" << cei <<
' ';
81 edges_[cei].write(oss,
dict);
82 oss <<
" is a duplicate of curved edge #" << cej <<
' ';
83 edges_[cej].write(oss,
dict);
115 oss <<
" Curved edge #" << cei <<
' ';
116 edges_[cei].write(oss,
dict);
117 oss <<
" does not correspond to a block edge" <<
endl;
126 for (
label cfj=cfi+1; cfj<faces_.
size(); cfj++)
128 if (faces_[cfi].compare(faces_[cfj]) != 0)
130 oss <<
" Curved face #" << cfi <<
' ';
131 faces_[cfi].write(oss,
dict);
132 oss <<
" is a duplicate of curved face #" << cfj <<
' ';
133 faces_[cfj].write(oss,
dict);
153 oss <<
" Curved face #" << cfi <<
' ';
154 faces_[cfi].write(oss,
dict);
155 oss <<
" does not correspond to a block face" <<
endl;
166 const face& patchFace = Patch[patchFacei];
167 bool patchFaceOK =
false;
173 forAll(cellFaces, cellFacei)
175 if (patchFace ==
faces[cellFaces[cellFacei]])
187 oss <<
" Face #" << patchFacei <<
' '
188 << patchFace <<
" of patch #" <<
patchi <<
' '
198 oss <<
" Face #" << patchFacei <<
' ' << patchFace
200 <<
" does not match any block faces" <<
endl;
205 if (!oss.str().empty())
#define forAll(list, i)
Loop across all elements in list.
void size(const label)
Override size to be inconsistent with allocated storage.
label size() const
Return the number of elements in the UPtrList.
const blockEdgeList & edges() const
Return the curved edges.
const faceListList & patches() const
Return the patch face lists.
const blockFaceList & faces() const
Return the curved faces.
const cellShapeList & cells() const
Return cell shapes list.
const pointField & points() const
The points for the entire mesh.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
errorManipArg< error, int > exit(error &err, const int errNo=1)
List< label > labelList
A List of labels.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
List< cell > cellList
list of cells
Ostream & endl(Ostream &os)
Add newline and flush stream.
vectorField pointField
pointField is a vectorField.
PtrList< block > blockList
A PtrList of blocks.
PtrList< polyPatch > polyPatchList
container classes for polyPatch