Gmsh is a popular cross platform and open source mesh generation software. Gmsh supports many CAD file formats such as STEP, IGES, and STL, as well as also includes a variety of integrated mesh generation algorithms, such as from Triangle, Tetgen, and Netgen, Gmsh can be used together with FEATool to allow for more complex geometries and models to be meshed than the built-in grid generator.
Although FEATool Multiphysics features built-in support for importing and meshing CAD geometries, more control of the process can be achieved by performing the import steps manually. This can for instance be useful for more difficult geometries which need to be repaired to allow simulation. In the following it is therefore described how Gmsh can be used to manually import a CAD geometry from a STEP file, and to generate a mesh which can be imported and used with FEATool.
Gmsh CAD File Import and Mesh Generation Tutorial
This is a tutorial example showing how to import STEP model into Gmsh, and generate a 3D volume finite element mesh. The STEP file CAD model used in the example can be downloaded from the link below
1. Start Gmsh (using version 2 Mesh File Format)
FEATool currently only supports Gmsh mesh file format version 2 (default in Gmsh versions 2-3), which was replaced with an incompatible format in Gmsh version 4.0 and later. To ensure that Gmsh v4 saves and exports meshes in version 2 format one can either start Gmsh with the command line argument -format msh2, for example
gmsh.exe -format msh2
or set the following option in the general or mesh specific Gmsh .opt file
Mesh.MshFileVersion = 2;
The option files can be generated by selecting
Save Options As Default in the
If there are issues importing the mesh into FEATool one can also
optionally try to add the -save_all command line argument which
corresponds to the
Mesh.SaveAll = 1; .opt file option.
2. CAD Model Import with the Merge Operation
The second step is to use the Gmsh
Merge option, found in
File menu. This opens a file selection dialog box
where the CAD file to import can be chosen. Select the spanner.step
file and press Open to automatically let Gmsh load, import, and
construct edges and faces for the geometry. If the model has been
imported successfully it should be displayed and shown in the GUI CAD
window where it can be inspected.
3. Setting Mesh Options and Specifying Grid Size
Gmsh supports several options to specify mesh and grid sizes. One can
for example prescribe sizes at points, and define mesh size
functions. Here the Min/Max Element Size option is used to set a
global maximum mesh size of 6 mm (as the model units is defined in
millimeters). This option is found on the
Mesh > General
tab of the
Options dialog box. A description of the
available mesh options is available in the
Gmsh reference guide.
4. 3D Mesh and Grid Generation
To generate a 3D volume mesh, first click on the [+] Mesh node in the left hand side tree list to expand it, then click to the 3D node option to call the selected mesh generation algorithm. If everything goes correctly the final mesh should be displayed in the Gmsh GUI window.
5. Mesh Info, Saving and Mesh Export
Progress information and messages are displayed in the bottom line of the Gmsh GUI. Clicking on this line also opens the message and log window where one can see information about the mesh generation process.
Once a mesh has been generated it can be saved in the Gmsh ASCII file
format by using the
Save Mesh option from the
File menu (the file will be saved in the same directory
and name as the imported CAD file but with the .msh file extension).
FEATool-Gmsh Mesh Import and Export Function
To import and use a Gmsh grid file with FEATool GUI one can either use
Import Grid > Gmsh Format option found under the
Grid mode menu.
Alternatively, the impexp_gmsh function can be used directly on the MATLAB command line, with for example the following commands
grid = impexp_gmsh( 'spanner.msh', 'import' ) plotgrid( grid ) plotbdr( grid )
How to import the CAD model in FEATool, define and set up simulations is explained in the following parametric structural mechanics simulation, and stress and displacement analysis tutorial.