Some Questions Regarding Meshing Software

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