 |
 |
(a) |
(b) |
Figure 3.
The geometry approximation angle θ is shown
as the maximum deviation between the tangent plane at
A and the plane of a triangle at A.
Figure 4.
Demonstrates the effect of the geometry approximation
angle set on the volume. Triangle sizes on the interior
of surfaces will be adjusted to better capture curvature.
Global Tetmesher Options
The user may set options that control the operation
of the tet-meshing algorithms. These tetmesher options
are global settings and apply to all tetmeshes generated
when the scheme is set to TetMesh until the option
is changed by the user.
[Set]
Tetmesher Optimize Level <level>
The Tetmesher Optimize Level command allows the
user to control the degree of optimization used to automatically
improve element quality following the initial generation
of tetrahedra. The optimization level is an integer in
the range 0 to 6, which represent how aggressively the
algorithm will attempt to improve element quality by automatically
adjusting element connectivity and smoothing. The integers
0 to 6 can also be represented as none (0), light (1),
medium (2), standard (3), strong (4), heavy (5), and extreme
(6). Greater values will result in greater computation
time, however may result in improved mesh quality. The
default is 3 or standard optimization.
[Set]
Tetmesher Optimize Overconstrained {on|OFF}
In some cases, the default mesh generated with the TetMesh
scheme may result in cases where more than one triangle
face of a single tetrahedra lies on the same geometric
surface. This condition may not be desirable for some
FEA analysis. Setting the optimize overconstrained
value to ON will do additional processing on the
mesh to ensure this case does not exist, resulting in
slightly more time to generate the mesh. The default for
optimize overconstrained is OFF
[Set]
Tetmesher Optimize Sliver {on|OFF}
A sliver tetrahedra is one in which the four nodes of
the tet are nearly co-planar. Sliver tets are a common
occurrence when using the Delaunay method, but are normally
removed by standard optimization. In some cases, sliver
tets may still remain even after optimization. To facilitate
removal of all sliver-shaped tets, the optimize sliver
option may be set to ON. In this event, additional
processing will be done on the mesh to attempt to identify
and remove all sliver-shaped tets from the mesh. Since
this step may take additional time, and in most cases
is not needed, the default setting is OFF.
[Set]
Tetmesher Optimize Default
The Tetmesher Optimize Default command restores
the default optimization values: level = 3 (standard),
overconstrained = off, and sliver = off.
[Set]
Tetmesher Boundary Recovery {on|OFF}
The TetMesh scheme includes a specialized module
known as Boundary Recovery. Normally if the quality
of the surface mesh is good, the boundary recovery module
is not used and the resulting tet mesh will conform exactly
to the triangles defined on the surfaces without additional
processing. In some cases where the surface mesh contains
triangles that are of poor quality (ie. highly stretched
or sliver shaped triangles) the tet mesher is unable to
generate sufficiently good quality elements. When this
occurs, the boundary recovery module is automatically
invoked. This module does additional processing to temporarily
modify boundary triangles so that reasonable quality tets
may be inserted. The boundary adjustment is normally done
just as an intermediate phase and in most cases the boundary
triangulation remains unchanged following meshing. The
TetMesh scheme in Cube-it will automatically invoke
the boundary recovery module if the minimum surface mesh
quality drops below a condition number of 0.2. However,
if the boundary recovery option is set to ON, the
tet mesher will use the boundary recovery module regardless
of surface mesh quality. Turning this setting ON
will normally increase the time to generate the mesh,
but may result in improved mesh quality. The default setting
is OFF
[Set]
Tetmesher Interior Points {ON|off}
Infrequently, the user desires a model with as few interior
points as possible. The Interior Points command
allows the user to enable or disable, or turn OFF
the insertion of interior points. If interior points are
disabled, the tetmesher will attempt to mesh the volume
using only the exterior points. This may not be possible
and a few points will be inserted to allow tet-meshing
to complete. The default setting is ON, meaning
that interior points will be inserted according to the
specified element size.
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.
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.
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 node 12 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, to respect a point at (1.0, 0.0, -1.0)
in your model, enter the command
volume 1 tetmesh
respect location 1 0 -1
This is much simpler than creating the vertex, meshing
it, and then respecting it.
If the model has many points that must be respected,
use the file version of the command. First generate a
file with all of the points, edges, and triangles that
should be 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, the following command
is used 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 the model has a lot of data
to be respected, it is best to put it in a file or keep
a journal file that can be edited.
Controlling the gradation of the mesh size inside the
volume
Volume
<id_range> Tetmesh growth_factor <value 1.0 to
10.0 = 1.0>
The growth_factor option controls how fast the
tetrahedra sizes can change when transitioning from small
to larger sizes within the volume. For example a value
of 1.5 will attempt to limit the change in element size
of adjacent tets to no greater than a factor of 1.5. Valid
values for gradation should be greater than or equal to
1.0 and usually less than 2 or 3. The larger the value,
the faster the transition resulting in fewer total elements.
Likewise, values closer to 1.0 can result in significantly
more elements, especially when small features are present.
The default setting for growth_factor is 1.0, so
that tet sizes should be roughly constant throughout the
volume.
Gradation of the triangles on the surfaces can also
be controlled independently using the global settings
[set] trimesher surface
gradation and [set]
trimesher volume gradation.
Generating a Tetmesh from a Skin of Triangles
Tetmesh
Tri <range> [Make {Block|Group} [<id>]]
Tetmesh
Tri <range> {Add|Replace} {Block|Group} <id>
The Tetmesh Tri command generates a tetrahedral
mesh from the list of triangles entered. The triangles
must form a closed surface. The command fails if they
do not. The list of triangles may be a skin,
and thus a command such as tetmesh tri in block 1
would be acceptable, should block 1 be a previously defined
skin.
The first command form has optional arguments. If the
make option and its arguments are present,
then the specified object receives the tet mesh. The command
fails if an object with the optional identifier exists.
If the object identifier is omitted, the identifier is
set to the next available block.
The second command form has two options, add
and replace. Each option has a required,
associated identifier. If the identifier is missing or
invalid, the command fails. The add option
appends the tet mesh to the object. The replace
option removes any existing mesh from the object before
adding the tet mesh.
|