Fill out the form to download

Required field
Required field
Not a valid email address
Required field


The meshing algorithm tet-dominant enables the creation of quick and automated tetrahedral meshes. It also allows advanced meshing setups including local refinements and prismatic boundary layers for flow simulations.

With the standard setup, this algorithm creates only triangular surface and tetrahedral volume elements. When enabling quadrangular surface elements or adding prismatic boundary layers also pyramids, wedges and hexahedral elements might be created close to the boundary faces.

This is a generic meshing algorithm mostly dedicated to solid 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.

Global settings

The global settings refer to all settings displayed in the meshing panel. Those settings are valid on the entire meshing domain and might be overridden locally by mesh refinements.

Default meshing panel state in the SimScale Platform
Global mesh settings panel. The currently assigned mesh is displayed in the top. All mesh settings displayed relate to the currently selected mesh.

The entire meshing tree, as well as the settings displayed in the settings panel, always relate to the currently selected mesh.


The Sizing defines how coarse or fine the discretization of the input geometry will be. The sizing control can be set to automatic, where the local fineness is adjusted automatically based on geometrical properties 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.

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 basically defines 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 geometric 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 can be refined in later stages.

comparison of a coarse and a fine mesh
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 minimum and maximum element edge length setting for cells of the mesh as well as 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 the automatic grading uses parameter values that represent reasonable values for the requested fineness level. For full control over the underlying parameters number of segments per edgenumber of segments per radius and growth rate you can choose the Manual mesh grading option.

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.

The growth rate determines how large the allowed difference in element size between neighboring elements is. For example a value of 0.2 allows the edges of neighboring 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 between a mesh with low mesh growth rate and a mesh with high mesh growth rate
Comparison of the generated meshes for growth rates of 2 (left) and 0.2 (right)


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 later solid mechanics analysis.

First order simulations need less time and computing costs, but are more susceptible to locking effects in finite element analyses.


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

Allow quadrangles

This toggle determines if the mesher shall be allowed to use quadrangular surface elements. If this option is disabled, only triangles surface 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 between two meshes. One with and one without quadrangular surface elements allowed
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 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 considerations about result accuracy versus computational resource demand.

A mesh refinement can be added via the Refinements node in the meshing tree. Current mesh refinement types allowed are Layer inflation and Local element size.

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 should be avoided. 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.

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 also be used in certain structural simulations like stamping or deep-drawing processes. With the total 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 specifies the rate with which consecutive layer thicknesses will increase from the boundary towards the inside.

Example of a meshed pipe with inflated layer refinement
The figure shows a sample mesh with boundary layers added. Boundary layers help to better resolve the flow conditions close to walls.


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 entities where it failed initially and a warning message is shown in the event log, stating on which solids the layer addition failed, but meshing will proceed.

Local element size

The refinement type local element size allows the definition of local element sizing on particular faces or solids. It 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 follow the same definition as in the global settings (above) and override the global setup on the specified entities.

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

Restrictions of the algorithm

This algorithm is only capable of meshing solid regions of parametric geometries. Faceted models, as defined for example by STL files, are currently not supported. Please be aware that 3D-geometries are often represented as surface data in CAD-programs. It is therefore recommended to always try and solidify all parts of the geometry before importing. Surface parts that can be automatically sewed and form closed shells are solidified on upload though. Check the Geometry Event Log for information on the dimensions of the bodies within of the uploaded file. When starting the mesh a validation rule will also inform you in case surface data is still present and block the operation in case there is no solid part to mesh at all.

Last updated: July 28th, 2020

See public projects that can be used as templates

What's Next

part of: Meshing in SimScale

Data Privacy