Netgen is a multi-platform automatic mesh generation tool written in C++ capable of generating meshes in two and three dimensions. The program is open source, and is distributed under the conditions of the LGPL. Netgen is available for the Unix/Linux, Windows NT/XP/Vista as well as the MacOS platforms for both 32-bit and 64-bit architectures, and comes in two primary forms:
A Stand-alone Program with its own Graphical User Interface (GUI) implemented using Tcl/Tk. A C++ library (Nglib) which can be linked into other applications functioning as the backend mesh generation kernel.
Netgen generates triangular or quadrilateral meshes in 2D, and tetrahedral meshes in 3D. The input for 2D is described by spline curves, and the input for 3D problems can be defined by Constructive Solid Geometry (CSG), the standard STL file format, or via Boundary Representations (BRep/IGES/STEP) when compiled with OpenCascade support. NETGEN provides modules for automated mesh optimization and hierarchical mesh refinement. Curved elements or arbitrary order are supported.
See the official website: Netgen