OpenFOAM is supplied with its own simple esh generator, blockMesh, and a
range of other mesh generation tools.
OpenFOAM applications handle unstructured meshes of mixed polyhedra with
any number of faces: hexahedra, tetrahedra, degenerate cells, basically
anything.
Mesh generation is made simple by the fact that a cell is simply represented as
a list of faces and a face as a list of vertices: this makes mesh handling very easy
even for complex meshes with, say, embedded refinement or complex shapes near
the boundary.