TetMesh

Applies to: Volumes

Summary: Automatically meshes a volume with an unstructured tetrahedral mesh.

Syntax:

Volume <range> Scheme {TetMesh|TetINRIA}

Related Commands:

THex Volume All

Volume <volume_id> Tetmesh Respect {Face|Tri|Edge|Node} <range>

Volume <volume_id> Tetmesh Respect Clear

Volume <volume_id> Tetmesh Respect File '<filename>'

Volume <volume_id> Tetmesh Respect Location (options)

Discussion:

The TetMesh scheme fills and arbitrary three-dimensional volume with tetrahedral elements. The surfaces are first triangulated with one of the triangle schemes (TriMesh or TriAdvance) or a quadrilateral scheme with the quadrilaterals being split into two triangles.

The Simulog/INRIA tet-mesher is included in CUBIT. This is a robust and fast tetrahedral mesher developed in France at INRIA and distributed by Simulog. Figure 1 shows a volume filled with tetrahedra by this algorithm. You can specify this scheme for a volume by giving either scheme TetMesh or TetINRIA, as these two scheme names are synonymous.

Using tets as the basis of an unstructured hexahedral mesh

Tet meshing can be used to generate hexahedral meshes using the THex command. Each of the tetrahedron can be converted into 4 hexes, producing a fully conformal hexahedral mesh, albeit of poorer quality. These meshes can often be used in codes that are less sensitive to mesh quality and mesh directionality. The THex command requires that all tets in the model be converted to hexahedra with the same command.

Figure 1. Tetrahedral Mesh generated with the TetInria scheme. Surface meshing was performed with the TriAdvance scheme.

Conforming the tetmesh to internal features

In some cases it is necessary for the finite element mesh to conform to internal features of the model. The tetmesh scheme provides this capability provided the tetmesh respect command has been previously issued to define the features that will be respected.

Volume <volume_id> Tetmesh Respect {Face|Tri|Edge|Node} <range>

The tetmesh respect command allows the user to specify mesh entities that will be part of a tetrahedral mesh. These faces, triangles, edges, or nodes are inside the volume since all surface mesh features will appear in the final tetrahedral mesh by default. These mesh entities specified to be respected can be generated from other meshing commands on free vertices, curves, or surfaces.

Figure 2. Example of using tetmesh respect to ensure node 9 is captured in the tetmesh.

For example, Figure 2 is an example of using the tetmesh respect command to enforce a node at the center of a cube. Node 9 in this example was generated by first creating a free vertex at the center location and meshing the vertex. (mesh vertex 9). The following commands would then be used to generate the tetmesh that respected node 9.

volume 1 scheme tetmesh
tetmesh respect node 9
mesh volume 1

The tetmesh respect command can also be used to enforce multiple mesh entities. To accomplish this, the tetmesh respect command may be issued multiple times. For example, If node12 and a triangle 2 inside volume 3 was to appear in the volumetric mesh, the following commands could be used:

volume 3 scheme tetmesh
volume 3 tetmesh respect node 12
volume 3 tetmesh respect tri 2
mesh volume 1

Unlike the tetmesh respect command described above, the tetmesh respect file and tetmesh respect location commands do not require underlying geometry.

Volume <volume_id> Tetmesh Respect File '<filename>'

Volume <volume_id> Tetmesh Respect Location (options)

These two commands create mesh data that only the tetmesher knows about. Thus if you want to respect a point at (1.0, 0.0, -1.0) in your model, you need only enter the command

volume 1 tetmesh respect location 1 0 -1

This is much simplier than creating the vertex, meshing it, and then respecting it.

If you have many points that must be respected, then you may wish to use the file version of the command. First generate a file with all of the points, edges, and triangles that you want respected. The format of the file is the format used by the facet file. Now, use the following command to respect all of the information in the file for the given volume.

volume 2 tetmesh respect file 'my_points.facet'

Finally, we need a command to remove the respected data from an entity.

Volume <volume_id> Tetmesh Respect Clear

The tetmesh respect clear command is the only way to remove respected data from a volume without deleting the volume. Unfortunately, it removes all respected data from the volume. Therefore, if you have a lot of data to be respected, it is best to put it in a file that you may edit or keep journal file that you may also edit. Rereading the file is much easier than retyping all of the data.