Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
integration-cfmesh
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Community
integration-cfmesh
Commits
0b9b34c5
Commit
0b9b34c5
authored
Mar 20, 2015
by
Franjo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
More verbose output messages.
parent
3d932ffe
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
104 additions
and
27 deletions
+104
-27
utilities/checkSurfaceMesh/checkSurfaceMesh.C
utilities/checkSurfaceMesh/checkSurfaceMesh.C
+104
-27
No files found.
utilities/checkSurfaceMesh/checkSurfaceMesh.C
View file @
0b9b34c5
...
...
@@ -44,7 +44,7 @@ int main(int argc, char *argv[])
argList
::
validArgs
.
append
(
"input surface file"
);
argList
args
(
argc
,
argv
);
fileName
inFileName
(
args
.
args
()[
1
]);
const
fileName
inFileName
(
args
.
args
()[
1
]);
triSurf
surf
(
inFileName
);
...
...
@@ -52,7 +52,13 @@ int main(int argc, char *argv[])
boundBox
bb
;
triSurfaceChecks
::
calculateBoundingBox
(
surf
,
bb
);
Info
<<
"Surface bounding box is "
<<
bb
<<
endl
;
Info
<<
"
\n
Number of points "
<<
surf
.
nPoints
()
<<
endl
;
Info
<<
"Number of triangles "
<<
surf
.
size
()
<<
endl
;
Info
<<
"Number of patches "
<<
surf
.
patches
().
size
()
<<
endl
;
Info
<<
"Number of feature edges "
<<
surf
.
nFeatureEdges
()
<<
endl
;
Info
<<
"Bounding box "
<<
bb
<<
nl
<<
nl
<<
endl
;
const
scalar
distTol
=
SMALL
*
bb
.
mag
();
//- calculate manifolds
const
label
nManifolds
=
triSurfaceChecks
::
checkSurfaceManifolds
(
surf
);
...
...
@@ -60,14 +66,15 @@ int main(int argc, char *argv[])
{
++
nFailed
;
Info
<<
"Surface mesh consists of "
<<
nManifolds
<<
" manifolds."
<<
endl
;
Warning
<<
"You cannot mesh geometries consisting of more than"
<<
" one domain, and it must not contain baffles."
<<
endl
;
Info
<<
"
\n
Surface mesh consists of "
<<
nManifolds
<<
" manifolds!!"
<<
endl
;
Info
<<
"You cannot mesh geometries consisting of more than"
<<
" one domain, and it must not contain baffles"
<<
" in the domain which shall be meshed."
<<
endl
;
}
else
{
Info
<<
"Surface mesh consists of a single manifold."
<<
endl
;
Info
<<
"
\n
Surface mesh consists of a single manifold."
<<
endl
;
}
//- find open boundary edges
...
...
@@ -75,15 +82,16 @@ int main(int argc, char *argv[])
{
++
nFailed
;
Info
<<
"Surface mesh has open boundaries!!"
<<
endl
;
Warning
<<
"This indicates that there may be some holes in the surface"
<<
" mesh. Holes in the mesh must be smaller than the specified"
<<
" cell size at this location. In addition, please avoid"
<<
" using automatic refinement (minCellSize)."
<<
endl
;
Info
<<
"
\n
Surface mesh has open boundaries!!"
<<
endl
;
Info
<<
"This indicates that there may be some holes in the surface"
<<
" mesh. Holes in the mesh must be smaller than the specified"
<<
" cell size at this location. In addition, please avoid"
<<
" using the automatic refinement procedure."
<<
" Please avoid using the minCellSize option."
<<
endl
;
}
else
{
Info
<<
"No
hol
es found in the surface mesh."
<<
endl
;
Info
<<
"No
open edg
es found in the surface mesh."
<<
endl
;
}
//- find non-manifold edges
...
...
@@ -91,10 +99,10 @@ int main(int argc, char *argv[])
{
++
nFailed
;
Info
<<
"Surface mesh has non-manifold edges!!"
<<
endl
;
Warning
<<
"This indicates that the surface mesh consists of multiple"
<<
" domains and/or baffles. Please make sure that they are not"
<<
" in the domain which shall be meshed."
<<
endl
;
Info
<<
"
\n
Surface mesh has non-manifold edges!!"
<<
endl
;
Info
<<
"This indicates that the surface mesh consists of multiple"
<<
" domains and/or baffles. Please make sure that they are not"
<<
" in the domain which shall be meshed."
<<
endl
;
}
else
{
...
...
@@ -106,10 +114,10 @@ int main(int argc, char *argv[])
{
++
nFailed
;
Info
<<
"
Surface mesh consists of disconnected parts.
"
<<
endl
;
Warning
<<
"This is not a problem if there exists a region surrounding"
<<
" the other one
s! In other case, the mesher will generate"
<<
" the mesh in the domains with most cells."
<<
endl
;
Info
<<
"
\n
Surface mesh consists of disconnected parts!!
"
<<
endl
;
Info
<<
"This is not a problem if there exists a region surrounding"
<<
" all other region
s! In other case, the mesher will generate"
<<
" the mesh in the domains with most cells."
<<
endl
;
}
else
{
...
...
@@ -121,24 +129,93 @@ int main(int argc, char *argv[])
{
++
nFailed
;
Info
<<
"Surface mesh has some bad-quality triangles."
<<
endl
;
Warning
<<
"This may cause problems to the automatic refinement"
<<
" procedure (minCellSize). "
<<
endl
;
Info
<<
"
\n
Surface mesh has some bad-quality triangles with"
<<
" angles smaller than 1.0 deg!!"
<<
endl
;
Info
<<
"This may cause problems to the automatic refinement"
<<
" procedure. Please avoid using the minCellSize option."
<<
endl
;
}
else
{
Info
<<
"No sliver triangles found."
<<
endl
;
}
//- find self-intersections in the surface mesh
if
(
triSurfaceChecks
::
checkSelfIntersections
(
surf
,
"selfIntersect"
,
distTol
)
)
{
++
nFailed
;
Info
<<
"
\n
Found self-intersecting parts in the surface mesh!!"
<<
endl
;
Info
<<
"This causes problems to the automatic refinement procedure"
<<
" Please avoid using the minCellSize option."
<<
" It can also cause problems to the boundary layer"
<<
" generation procedure."
<<
endl
;
}
else
{
Info
<<
"No self-intersections found."
<<
endl
;
}
//- find overlaps in the surface mesh
if
(
triSurfaceChecks
::
checkOverlaps
(
surf
,
"overlaps"
,
distTol
,
5
.
0
)
)
{
++
nFailed
;
Info
<<
"
\n
Found overlapping parts in the surface mesh!!"
<<
endl
;
Info
<<
"This causes problems to the automatic refinement procedure."
<<
" Please avoid using the minCellSize option."
<<
endl
;
}
//- check for existence of collocated points
if
(
triSurfaceChecks
::
checkCollocatedPoints
(
surf
,
"collocatedPoints"
,
distTol
)
)
{
++
nFailed
;
Info
<<
"
\n
Found collocated points in the surface mesh!!"
<<
endl
;
Info
<<
"This causes problems to the automatic refinement procedure."
<<
" Please avoid using the minCellSize option."
<<
endl
;
}
Info
<<
nl
<<
endl
;
if
(
nFailed
)
{
Warning
<<
"
Found "
<<
nFailed
Info
<<
"
\n
Found "
<<
nFailed
<<
" checks indicating potential problems."
<<
endl
;
Warning
<<
"This
does not mean that you cannot generate"
<<
" a valid mesh.
"
<<
endl
;
Info
<<
"However, it
does not mean that you cannot generate"
<<
" a valid mesh.
\n
"
<<
endl
;
surf
.
writeSurface
(
inFileName
);
}
else
{
Info
<<
"
\n
Surface passes all checks.
\n
"
<<
endl
;
}
Info
<<
"End
\n
"
<<
endl
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment