haung
August 1, 2025, 6:37pm
1
Dear Developers:
In the current PyLith documentation, both Cubit and Gmsh are supported for mesh generation during the model setup process.
In earlier releases, PyLith relied solely on Cubit , while Gmsh , an open-source alternative, was introduced in subsequent versions.
I would like to understand the respective strengths and use cases of these two meshing tools.
Thanks
Cubit and Gmsh are both mature mesh generation tools suitable for a wide variety of applications.
Installation
Gmsh is open source, and we include it in the PyLith binary package. It can be installed via pip.
Cubit is commercial software and requires a license. Support for macOS has been dropped (only Linux and Windows are currently supported).
Interface
Cubit has a more intuitive GUI interface/
Gmsh has a more intuitive Python interface.
Geometry engines
Gmsh supports both a built-in geometry engine and a subset of OpenCascade. It is easier to embed faults in a domain using Gmsh.
Cubit uses a CAD geometry engine. In many cases, faults must extend through a volume in Cubit.
Meshing algorithms
The meshing algorithms for triangles and tetrahedra are similar.
Gmsh supports quad and hex meshes only by converting tri and tet meshes.
Cubit has algorithms for unstructured quad and hex meshing.
Gmsh seems to be a bit faster in generating meshes for complex geometry.
Both Cubit and Gmsh can now discretize domains with the cell size set to increase with distance from geometry entities.
1 Like