Applications for the tet-dominant algorithm

Example meshes created with TetDominant algorithm

Example applications and meshes for the Tet-Dominant meshing algorithm

The meshing algorithm tet-dominant enables the creating of quick and automated tetrahedral meshes but it also allows very complex meshing setups including local refinements and prismatic boundary layers. The element sizing control can be selected as automatic, where local properties are adjusted automatically based on the geometrical estimations or a manual sizing can be applied where minimal and maximal edge length as well as growth rate and number of elements per edge or radius may be defined.

With the standard setup this algorithm creates only triangular surface and tetrahedral volume elements, but with quadrangular surface elements being allowed also pyramids will be created, if prismatic layers are added, also wedges and hexahedral elements might be created.

This is an all-round meshing algorithm mostly dedicated to structural mechanics, but it can also be used to generate tetrahedral meshes with boundary layers for fluid flow analyses.

Furthermore, as most parameters are non-dimensional, no detailed knowledge of the dimensions of each geometry component is needed to set up a high-quality mesh and the resulting mesh will not change if the geometry is scaled.


Global settings

The global settings are valid on the whole meshing domain and might be overridden locally by mesh refinements.

  • Element sizing:

    The element sizing defines how fine the discretization of the input geometry will be. For the automatic sizing only a global mesh fineness needs to be set and all additional parameters will be set automatically according to the geometry features and the chosen fineness. Its value defines basically the characteristic element size for each solid, ranging from 1 - very coarse to 5 - very fine. A fine mesh will result in a better resolution of small geometry features, but will also increase computation time and memory demand of the derived simulation run. The standard setting 2 - coarse will in most cases result in a discretization that represents a good compromise between accuracy and resource consumption and should be chosen for a first trial. For mesh independence or convergence studies the sizing might be refined in later stages.

    Comparison of the generated meshes for fineness *1 - very coarse* (left) and *5 - very fine* (right) for a simple box with hole

    Comparison of the generated meshes for fineness 1 - very coarse (left) and 5 - very fine (right) for a simple box with hole

    With the manual sizing the user gains full control over all details of the element sizing setup. This option provides a global minimal and maximal element edge length and the mesh grading settings. The mesh grading specifies how fine details of the geometry are resolved and it also influences the quality of the resulting elements. Ranging from 1 - very coarse to 5 - very fine you use a set of preset parameter values that represent reasonable values for the requested fineness level. For full control over the underlying parameters number of segments per edge, number of segments per radius and growth rate you can choose the 6 - custom mesh grading option.

    The growth rate determines how large the allowable difference in element size between neighbouring elements is. For example a value of 0.2 allows the edges of neighbouring elements to differ by 20%. If a large value is chosen, features requiring a finer mesh, like holes or fillets, will have a very local influence on the element size whereas for a small mesh grading those features will influence the element sizes in a wider area around them. Choosing a smaller value will thus lead to a higher number of elements but also result in a better overall mesh quality.

    Comparison of the generated meshes for growth rates of *2* (left) and *0.2* (right)

    Comparison of the generated meshes for growth rates of 2 (left) and 0.2 (right)

    The number of segments per edge defines the minimum number of elements along a geometry edge. The number of segments per radius defines the minimum number of elements along a geometry radius.


If you intent to use the mesh later for a CFD analysis, make sure you set the mesh order to first order, as second order* meshes are currently not allowed for CFD simulations.

  • Allow quadrangular surface elements:

    This parameter determines if the mesher shall be allowed to use quadrangular surface elements. If this option is disabled, only triangles surfaces and tetrahedral volume elements will be used. Having quadrangular surface elements allowed will also enable pyramidal volume elements for the transition between the quadrangular surface elements and the internal tetrahedral volume elements.

    Comparison of the generated meshes with quadrangular surface elements disallowed (left) and enabled (right)

    Comparison of the generated meshes with quadrangular surface elements disallowed (left) and enabled (right)


Meshing with triangles only is usually more robust while quadrangular elements may lead to better results, for example on contact surfaces. If you experience meshing errors, especially negative volume errors, please try with this option disabled.

  • Mesh order (only global parameter):

    The mesh order defines the shape and the number of nodes of the discretization elements. First order elements have straight edges, whereas second order elements may have curved edges which enables a more accurate representation of curved geometries. Additionally it influences which finite elements are used in the latter structural analysis.

  • Number of computing cores (only global parameter):

    The number of computing cores used for the meshing run can be defined. Depending on the chosen value, the calculation is carried out on different machines with varying specifications, for more details see here.


Currently the Tet-Dominant meshing is not carried out fully in parallel, but nevertheless a larger machine might be beneficial to ensure sufficient memory resources for the meshing process.

Mesh refinements

Mesh refinements can be used to refine (or coarsen) the mesh locally and only where it is needed. This enables the generation of very efficient meshes with respect to the result accuracy versus computational resource demand.


Local settings will always override the global setup for the assigned entities. If multiple refinements of the same type are defined on the same entities this might lead to conflicts and thus is not allowed. A local element size and a layer inflation refinement are allowed to be defined on the same entities unless they have conflicting settings for allowing quadrangular surface elements.

  • Local element size:

    The refinement type local element size allows the definition of local element sizings on particular faces or solids. This can be used to increase the mesh efficiency by using smaller elements only where needed, for example on contact surfaces, fillets or other regions with potentially large stress gradients. The parameters element sizing and allow quadrangular surface elements have the same meaning as in the global settings and override the global setup on the specified entities.

    The figure shows a mesh of a bolted connection with local refinements on the contact surfaces

    The figure shows a mesh of a bolted connection with local refinements on the contact surfaces

  • Layer inflation:

    The refinement type layer inflation allows the creation of prismatic boundary layers for certain mesh regions. Prismatic layers are mostly used in CFD simulations on no-slip walls in order to efficiently capture the boundary layer velocity profile, but they may be also used in certain structural simulations like stamping or deep-drawing processes. With the total layer thickness the overall thickness of the generated boundary layer refinement is controlled. This value must be smaller than the minimal geometry thickness at the specified locations, otherwise the meshing will fail. The number of layers defines how many prismatic layers should be generated and the stretch factor the rate with which consecutive layer thicknesses will increase from the boundary towards the inside.

    The figure shows a sample mesh with boundary layers added

    The figure shows a sample mesh with boundary layers added


In some cases the layer inflation might fail, most of the time due to the demanded total layer thickness not being reached. In order to at least provide a valid mesh to the user for further analysis, the meshing is then automatically recovered without activating the layer inflation for the particular solids where it failed initially and a warning message is shown in th event log, stating on which solids the layer addition failed, but meshing will proceed.

Restrictions of the algorithm

This algorithm is only capable of handling solid body geometries from the geometry file formats STEP, IGES and BREP. STL geometries are currently not supported. Please be aware that 3D-geometries are often represented as shells in CAD-programs. You have to build solids from these shells in order to apply the meshing operation. Check the Geometry Event Log for information on the dimension of your uploaded file. It will also display an error message if you try to create a 3D tetrahedral mesh on a 2D geometry.

Geometry information as provided by the event log

Geometry information as provided by the event log

Step-by-step tutorial

Find a short how-to in the Tet-dominant tutorial.

Bearing block mesh generated with coarse automatic mesh sizing

Bearing block mesh generated with coarse automatic mesh sizing