Go to the documentation of this file.
40 int main(
int argc,
char *argv[])
61 const scalar distTol = SMALL * bb.
mag();
69 Info <<
"\nSurface mesh consists of " << nManifolds
70 <<
" manifolds!!" <<
endl;
71 Info <<
"You cannot mesh geometries consisting of more than"
72 <<
" one domain, and it must not contain baffles"
73 <<
" in the domain which shall be meshed." <<
endl;
77 Info <<
"\nSurface mesh consists of a single manifold." <<
endl;
85 Info <<
"\nSurface mesh has open boundaries!!" <<
endl;
86 Info <<
"This indicates that there may be some holes in the surface"
87 <<
" mesh. Holes in the mesh must be smaller than the specified"
88 <<
" cell size at this location. In addition, please avoid"
89 <<
" using the automatic refinement procedure."
90 <<
" Please avoid using the minCellSize option." <<
endl;
94 Info <<
"No open edges found in the surface mesh." <<
endl;
102 Info <<
"\nSurface mesh has non-manifold edges!!" <<
endl;
103 Info <<
"This indicates that the surface mesh consists of multiple"
104 <<
" domains and/or baffles. Please make sure that they are not"
105 <<
" in the domain which shall be meshed." <<
endl;
109 Info <<
"Surface does not have any non-manifold edges." <<
endl;
117 Info <<
"\nSurface mesh consists of disconnected parts!!" <<
endl;
118 Info <<
"This is not a problem if there exists a region surrounding"
119 <<
" all other regions! In other case, the mesher will generate"
120 <<
" the mesh in the domains with most cells." <<
endl;
124 Info <<
"Surface mesh consists of a single region." <<
endl;
132 Info <<
"\nSurface mesh has some bad-quality triangles with"
133 <<
" angles smaller than 1.0 deg!!" <<
endl;
134 Info <<
"This may cause problems to the automatic refinement"
135 <<
" procedure. Please avoid using the minCellSize option."
140 Info <<
"No sliver triangles found." <<
endl;
156 Info <<
"\nFound self-intersecting parts in the surface mesh!!" <<
endl;
157 Info <<
"This causes problems to the automatic refinement procedure"
158 <<
" Please avoid using the minCellSize option."
159 <<
" It can also cause problems to the boundary layer"
160 <<
" generation procedure." <<
endl;
164 Info <<
"No self-intersections found." <<
endl;
181 Info <<
"\nFound overlapping parts in the surface mesh!!" <<
endl;
182 Info <<
"This causes problems to the automatic refinement procedure."
183 <<
" Please avoid using the minCellSize option." <<
endl;
199 Info <<
"\nFound collocated points in the surface mesh!!" <<
endl;
200 Info <<
"This causes problems to the automatic refinement procedure."
201 <<
" Please avoid using the minCellSize option." <<
endl;
208 Info <<
"\nFound " << nFailed
209 <<
" checks indicating potential problems." <<
endl;
210 Info <<
"However, it does not mean that you cannot generate"
211 <<
" a valid mesh.\n" <<
endl;
217 Info <<
"\nSurface passes all checks.\n" <<
endl;
static SLList< string > validArgs
A list of valid (mandatory) arguments.
scalar mag() const
The magnitude of the bounding box span.
const stringList & args() const
Return arguments.
A class for handling file names.
Extract command arguments and options from the supplied argc and argv parameters.
Ostream & endl(Ostream &os)
Add newline and flush stream.
void calculateBoundingBox(const triSurf &surf, boundBox &bb)
calculate bounding box of the surface mesh
label nPoints() const
return the number of points
label nFeatureEdges() const
return the number of feature edges
label checkForHoles(const triSurf &surf, labelLongList &badTriangles)
check for existence of holes in the surface 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.
const geometricSurfacePatchList & patches() const
access to patches
label checkCollocatedPoints(const triSurf &surf, labelLongList &collocatedPoints, const scalar distTol)
check existence of collocated points
label checkSelfIntersections(const triSurf &surf, labelLongList &badFaces, const scalar tol)
check if there exist any self-intersections
label checkSurfaceManifolds(const triSurf &surf, labelLongList &triangleInManifold)
check for existence of boudary and non-manifold edges
label checkDisconnectedParts(const triSurf &surf, labelLongList &triangleInRegion)
check for disconnected surface parts
label size() const
return the number of triangles
void writeSurface(const fileName &) const
A bounding box defined in terms of the points at its extremities.
label checkAngles(const triSurf &surf, labelLongList &badTriangles, const scalar angleTol)
void size(const label)
Override size to be inconsistent with allocated storage.
label checkOverlaps(const triSurf &surf, labelLongList &badFaces, const scalar tol, const scalar angleTol)
check if there exist any overlaps
static void noParallel()
Remove the parallel options.
label checkForNonManifoldEdges(const triSurf &surf, labelLongList &badTriangles)
check for existence of non-manifold edges
Foam::argList args(argc, argv)
int main(int argc, char *argv[])