SMESH — Salome MESH — is the mesh module of SALOME that provides a wide range of meshing algorithms particularly suited for finite element and finite volume methods. A mesh can be enriched with groups/labels to distinguish different regions of the geometry. This allows to differentiate the properties of the meshes or even the types of meshes (hexahedral or tetrahedral). These groups/labels also allow to identify the boundaries to apply the boundary conditions. They facilitate mesh visualization and post-processing operations.
Transformations can be applied to produce complex meshes or compounds: rotation, symmetry, change of scale, etc. Meshing operations can be fully managed by Python scripts to ensure complete reproducibility and parameterization of the simulation process. The SMESH module includes various mesh quality control functions. Additionally, editing a mesh in order to delete, add, or transform a few or several of its mesh elements is also possible via the easy-to-use GUI of SALOME.
The SMESH module contains:
- its own meshing tools for quadrangles, hexahedra, boundary-layer meshing, etc.;
- open-source meshing tools: NETGEN and Gmsh;
- commercial meshing tools from the MeshGems suite: MG-CADSurf, MG-Tetra, MG-Hybrid, MG-Hexa, published by 3DS Spatial and require a commercial license.
These powerful meshing tools are based on different algorithms and properties (local size, growth rate, forced vertices, etc.) that can be adjusted to obtain the best mesh quality for each specific numerical simulation.
These different meshing algorithms can be combined in SALOME. For non-trivial meshing, a versatile feature of SMESH is that it allows to combine different meshing algorithms if needed, this often leads to a quality mesh.
The SMESH module is complemented by the HOMARD® module which performs the local mesh adaptations required by the numerical codes to meet the accuracy and performance requirements. HOMARD® allows refinement operations to adapt the mesh, depending on the numerical error of the simulation, to ensure an efficient compromise between a fine mesh and a low computational cost.