Mesh Topology Check

The ability to check for non-manifold topology among mesh entities is given with the following command.

Quality Check Topology [[Hex <range>] [Tet <range>] [Face <range>] [Tri <range>]]

If no entity list is given, it will check the entire model. Multiple element types are also allowed. The command checks for non-manifold boundaries (edges) in the element set entered. For quads and tris the command lists and highlights all edges that have more than two tris or faces connected.

Figure 1. Topology check for quads and tris

For hexes and tets it looks for edges with two or more elements connected that do not share common faces.

Figure 2. Topology check for hexes and tets

 

Additional topology checks fall into three categories:

Model Edge Check

The model edge check will find edges with adjoining quadrilaterals or triangles whose angles between the surface normals exceed a specified value. The default angle is 40 degrees.

The following commands check for model edges:

Topology check model edge {group|volume|surface|curve} <id_range> [angle <value>] DRAW|nodraw|highlight] [BRIEF|verbose] [RESULT GROUP[{<name>|{<id>}|nogroup]

Topology check model edge {block|sideset|nodeset} <id_range> [angle <value>] DRAW|nodraw|highlight] [BRIEF|verbose] [RESULT GROUP[{<name>|{<id>}|nogroup]

Topology check model edge {hex|tet|face|tri|edge} <id_range> [angle <value>] DRAW|nodraw|highlight] [BRIEF|verbose] [RESULT GROUP[{<name>|{<id>}|nogroup]

The optional angle parameter allows the user to specify a custom angle value against which the check will be performed. The default angle is 40 degrees.

By default, the command will draw the model edges.

By default, very little information is output to the command line. The optional verbose parameter will output a list of the flagged model edges.

By default, the model edges will be written to the group ‘model_edges’. Optionally, the user may specify no grouping, or the user may specify the name or id of an existing group into which the model edges will be written. The contents of the existing group will be replaced by the model edges.

Interface Checks

Cubit will verify the interfaces between sections of a model. The existence of coincident nodes, for example, may not necessarily be an error in the model if the nodes are in sliding contact or are constrained by some type of multi-point constraint.  The existence of coincident quadrilaterals or triangles may indicate that the model is not correctly joined.

The following commands check for coincident nodes.

Topology check coincident node {group|volume|surface|curve|vertex} <id_range> [tolerance <value>] DRAW|nodraw|highlight] [BRIEF|verbose] [RESULT GROUP[{<name>|{<id>}|nogroup]

Topology check coincident node {block|sideset|nodeset} <id_range> [tolerance <value>] DRAW|nodraw|highlight] [BRIEF|verbose] [RESULT GROUP[{<name>|{<id>}|nogroup]

Topology check coincident node {hex|tet|face|tri|edge|node} <id_range> [tolerance <value>] DRAW|nodraw|highlight] [BRIEF|verbose] [RESULT GROUP[{<name>|{<id>}|nogroup]

The optional tolerance parameter allows the user to specify a custom tolerance value against which the check will be performed. The default tolerance is 1.0 e-6.

The default group name is ‘coincident_nodes.’

All other options behave similarly to those described above under Model Edge Check.

The following commands check for coincident quadrilaterals.

Topology check coincident quad {group|volume|surface} <id_range> [tolerance <value>] DRAW|nodraw|highlight] [BRIEF|verbose] [RESULT GROUP[{<name>|{<id>}|nogroup]

Topology check coincident quad {block|sideset|nodeset} <id_range> [tolerance <value>] DRAW|nodraw|highlight] [BRIEF|verbose] [RESULT GROUP[{<name>|{<id>}|nogroup]

Topology check coincident quad {hex|tet|face} <id_range> [tolerance <value>] DRAW|nodraw|highlight] [BRIEF|verbose] [RESULT GROUP[{<name>|{<id>}|nogroup]

The default group name is ‘coincident_quads.’

All other optional parameters behave similarly to those described above.

The following commands check for coincident triangles.

Topology check coincident tri {group|volume|surface} <id_range> [tolerance <value>] DRAW|nodraw|highlight] [BRIEF|verbose] [RESULT GROUP[{<name>|{<id>}|nogroup]

Topology check coincident tri {block|sideset|nodeset} <id_range> [tolerance <value>] DRAW|nodraw|highlight] [BRIEF|verbose] [RESULT GROUP[{<name>|{<id>}|nogroup]

Topology check coincident tri {hex|tet|face|tri} <id_range> [tolerance <value>] DRAW|nodraw|highlight] [BRIEF|verbose] [RESULT GROUP[{<name>|{<id>}|nogroup]

The default group name is ‘coincident_tris.’

All other optional parameters behave similarly to those described above.