Read and Write GMSH Mesh files
is a FORTRAN77 library which
can read and write the files used by the GMSH meshing program.
The computer code and data files made available on this
web page are distributed under
the GNU LGPL license.
GMSH_IO is available in
a C version and
a C++ version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
a Python program which
can convert a mesh file from Gmsh, MEDIT, METIS or SCOTCH format to an
XML format suitable for use by DOLFIN or FENICS,
by Anders Logg.
a FORTRAN77 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.
illustrate the use of the Gmsh program,
a 1D, 2D or 3D mesh generator that can create meshes
suitable for use by the finite element method (FEM).
a FORTRAN77 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.
a data directory of examples of MSH files,
the native 3D mesh format used by Gmsh.
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.
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:
List of Routines:
CH_CAP capitalizes a single character.
CH_EQI is a case insensitive comparison of two characters for equality.
CH_TO_DIGIT returns the integer value of a base 10 digit.
GET_UNIT returns a free FORTRAN unit number.
GMSH_DATA_READ reads sizes from a GMSH file.
GMSH_SIZE_READ reads sizes from a GMSH file.
GMSH_MESH1D_WRITE writes 1D mesh data as a Gmsh file.
GMSH_MESH2D_ELEMENT_DATA_EXAMPLE returns element data for the 2D example.
GMSH_MESH2D_ELEMENT_SIZE_EXAMPLE returns element sizes for the 2D example.
GMSH_MESH2D_NODE_DATA_EXAMPLE returns node data for the 2D example.
GMSH_MESH2D_NODE_SIZE_EXAMPLE returns node sizes for the 2D example.
GMSH_MESH2D_WRITE writes 2D mesh data as a Gmsh file.
GMSH_MESH3D_WRITE writes 3D mesh data as a Gmsh file.
I4MAT_COPY copies an I4MAT.
I4MAT_TRANSPOSE_PRINT prints an I4MAT, transposed.
I4MAT_TRANSPOSE_PRINT_SOME prints some of the transpose of an I4MAT.
R8MAT_COPY copies an R8MAT.
R8MAT_TRANSPOSE_PRINT prints an R8MAT, transposed.
R8MAT_TRANSPOSE_PRINT_SOME prints some of an R8MAT, transposed.
S_EQI is a case insensitive comparison of two strings for equality.
S_TO_I4 reads an I4 from a string.
S_TO_R8 reads an R8 from a string.
TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to
the FORTRAN77 source codes.
Last revised on 16 October 2014.