The Octree Method

The Octree mesh method is based on the following spatial subdivision algorithm: This algorithm ensures refinement of the mesh where necessary, but maintains larger elements where possible, enabling faster computation. Once the "root" tetrahedron, which encloses the entire geometry, has been initialized, Tetra subdivides the root tetrahedron until all element size requirements are met.

Figure 16: Initial Geometry Input to Tetra

Initial Geometry Input to Tetra

At this point, the Tetra mesher balances the mesh so that elements sharing an edge or face do not differ in size by more than a factor of 2.

Figure 17: Tetra Enclosing the Full Geometry

Tetra Enclosing the Full Geometry

Figure 18: Tetra Enclosing the Full Geometry in Wire Frame Mode

Tetra Enclosing the Full Geometry in Wire Frame Mode

Figure 19: Cross-Section of the Initial Meshing

Cross-Section of the Initial Meshing

After this is done, Tetra makes the mesh conformal (that is, it guarantees that each pair of adjacent elements will share an entire face). The mesh does not yet match the given geometry, so the mesher next rounds the nodes of the mesh to the prescribed points, prescribed curves, or model surfaces. Tetra then "cuts away" all of the mesh that cannot be reached by a user-defined material point without intersection of a surface.

Figure 20: Mesh after Tetra Captures Surfaces and Separates the Useful Volume

Mesh after Tetra Captures Surfaces and Separates the Useful Volume

Figure 21: Final Mesh before Smoothing

Final Mesh before Smoothing

Finally, the mesh is smoothed by moving nodes, merging nodes, swapping edges and in some cases, deleting bad elements.

Figure 22: Final Mesh after Smoothing

Final Mesh after Smoothing