30 void Foam::blockMesh::check(
const polyMesh& bm,
const dictionary&
dict)
const
39 for (
label cej=cei+1; cej<edges_.
size(); cej++)
41 if (edges_[cei].compare(edges_[cej]) != 0)
43 Info<<
" Curved edge ";
45 Info<<
" is a duplicate of curved edge " << edges_[cei]
78 Info<<
" Curved edge ";
80 Info<<
" does not correspond to a block edge."
91 for (
label cfj=cfi+1; cfj<faces_.
size(); cfj++)
93 if (faces_[cfi].compare(faces_[cfj]) != 0)
95 Info<<
" Curved face ";
97 Info<<
" is a duplicate of curved face ";
119 Info<<
" Curved face ";
121 Info<<
" does not correspond to a block face." <<
endl;
130 label nBoundaryFaces = 0;
133 nBoundaryFaces +=
cells[celli].nFaces();
136 nBoundaryFaces -= 2*bm.nInternalFaces();
138 label nDefinedBoundaryFaces = 0;
148 <<
tab <<
tab <<
"Number of internal faces : "
149 << bm.nInternalFaces() <<
nl
150 <<
tab <<
tab <<
"Number of boundary faces : "
151 << nBoundaryFaces <<
nl
152 <<
tab <<
tab <<
"Number of defined boundary faces : "
153 << nDefinedBoundaryFaces <<
nl
154 <<
tab <<
tab <<
"Number of undefined boundary faces : "
155 << nBoundaryFaces - nDefinedBoundaryFaces <<
nl;
157 if ((nBoundaryFaces - nDefinedBoundaryFaces) > 0)
160 <<
"(Warning : only leave undefined the front and back planes "
161 <<
"of 2D planar geometries!)" <<
endl;
164 Info<<
tab <<
"Checking patch -> block consistency" <<
endl;
174 const face& patchFace = Patch[patchFacei];
175 bool patchFaceOK =
false;
181 forAll(cellFaces, cellFacei)
183 if (patchFace ==
faces[cellFaces[cellFacei]])
196 <<
"Face " << patchFacei
211 <<
"Face " << patchFacei
214 <<
" does not match any block faces" <<
endl;
229 <<
"Block mesh topology incorrect, stopping mesh generation!"
#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 FatalErrorInFunction
Report an error message using Foam::FatalError.
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