Bidimensional Anisotropic Mesh Generator

BAMG is a directory of 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++

Note two things about using a BAMG mesh with FreeFem++:


bamg -g file_g.msh -o file_o.msh


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

Related Data and Programs:

BAMG, a data directory which contains examples of the geometry files that can be input to the BAMG meshing program.

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.

FREEFEM++, a directory of examples which illustrate the use of the FREEFEM++ package, a high-level integrated development environment for the numerical solution of nonlinear multiphysics partial differential equations in 2D and 3D.

FREEFEM++_MSH, a data directory which contains examples of the mesh files created by the FreeFem++ program, which use the extension ".msh".

FREEFEM++_MSH_IO, a FORTRAN90 library which can read and write files used by the FreeFem++ finite element program to store mesh information.

GMSH, examples which illustrate the use of the gmsh program, a 3D mesh generator for the finite element method (FEM).

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.

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.


  1. Frederic Hecht,
    BAMG: Bidimensional Anisotropic Mesh Generator,
    draft version v1.00, December 2006.

Examples and Tests:

The BATTERY example is a geometry with a compliciated set of internal walls. The buildmesh() function in FREEFEM++ cannot properly mesh this region.

The CIRCLE example defines a circle geometry.

The SQUARE example defines a square geometry.

The SQUARE_SPLIT example defines a square geometry with a slanted internal wall. BAMG produces a mesh which is constrained to define the internal wall with element edges. (I wanted to make this experiment before going on to the BATTERY example.)

You can go up one level to the Examples directory.

Last revised on 30 December 2014.