3D Finite Element Method Mesh Generator

GMSH: examples which illustrate the use of GMSH, which is a 1D, 2D or 3D mesh generator that can create meshes suitable for use by the finite element method (FEM).

GMSH allows the user to work with a visual interface, or with script files. The examples given here use the GMSH scripting language, specifying a "geo" geometry file that GMSH processes to create an "msh" mesh file.

Meshes created by GMSH can be used by the FENICS or DOLFIN finite element programs after being converted to an XML format using DOLFIN-CONVERT.

The meshes can be saved in any of the following formats:

Web Site:


The computer code and data files made available on this web page are distributed under the GNU LGPL license.

Related Data and Programs:

BAMG, examples which illustrate the use of BAMG, a program for generating 2D meshes that can be used to define the geometry for the the finite element package FREEFEM++.

DOLFIN-CONVERT, a Python program which can convert mesh file from Gmsh, MEDIT, METIS or SCOTCH format to an XML format suitable for use by DOLFIN or FENICS, by Anders Logg.

FEM_TO_GMSH, a C program which reads FEM files definining a 1D, 2D or 3D mesh, namely a file of node coordinates and a file of elements defined by node indices, and creates a Gmsh mesh file.

FENICS, programs which illustrate the use of a collection of free software with an extensive list of features for automated, efficient solution of differential equations.

GMSH_TO_FEM, a FORTRAN90 program which reads a mesh data file created by the GMSH program and writes a pair of node and element files that correspond to the FEM format.

MESHLAB, examples which illustrate the use of the meshlab program, an advanced mesh processing system for automatic or user-assisted editing, cleaning, filtering, converting and rendering of large unstructured 3D triangular meshes. MESHLAB can read and write 3DS, OBJ, OFF, PLY, and STL graphics files.

MSH, a data directory of examples of MSH files, the native 3D mesh format used by gmsh.

TETGEN, examples of the use of TETGEN, a program which can compute the convex hull and Delaunay tetrahedralization of a set of 3D points, or can start with a 3D region defined by its boundaries, and construct a boundary-constrained conforming quality Delaunay mesh, by Hang Si.

TETHEX, examples which illustrate the use of TETHEX, a C++ program which can read a Gmsh file defining a mesh of triangles or tetrahedrons, and subdivide the mesh into quadrilaterals or hexahedrons, which are suitable for use by the DEALII finite element program, by Mikhail Artemiev.


  1. Christophe Geuzaine, Jean-Francois Remacle,
    Gmsh: a three-dimensional finite element mesh generator with built-in pre- and post-processing facilities,
    International Journal for Numerical Methods in Engineering,
    Volume 79, Number 11, pages 1309-1331, 2009.

Examples and Tests:

AIRFOIL_EXTERIOR is a 2D region that models the outer surface of an airfoil in a rectangular box.

AIRFOIL_INTERIOR is a 2D region that models the inner volume of an airfoil.

CHEBY9 is a 1D region, extending over [-1,+1], using 9 Chebyshev points.

ELL is a 2D L-shaped region. The mesh has 26 nodes and 56 "elements" (including vertices and lines).

PINCH is a 2D channel formed by starting with a long rectangular channel and creating a narrow neck by removing elliptical portions from the top and bottom. The resulting mesh has 4,325 nodes and 8,656 elements.

T2 is a tall thin slanted quadrilateral with 347 nodes and 689 elements.

TEST02 is an upside-down 2D L-shaped region, using 124 vertices and 206 cells, for the Mitchell test problem #2.

TEST03 is the square [-1,+1]x[-1,+1] with a slit from (0,0) to (1,0), for the Mitchell test problem #3.

TEST05 is the 2D battery problem, with internal contstraint lines, for the Mitchell test problem #5. GMSH fails when I try to mesh this region!

You can go up one level to the EXAMPLES directory.

Last revised on 21 June 2016.