Meshing with PUMGen
PUMGen
pumgen -s simmodsuite -l SimModelerLib.lic --mesh "Mesh case 1" --analysis "Analysis case 1" test.smd test
The “Minimum insphere found” output of PUMgen allows checking the mesh quality. The minimum insphere of a quality mesh is about 1/10 or more of the minimum mesh size specified. Smaller values might impact your time step, and then your simulation time, but not so much if using local time stepping. Also note the –analyseAR option of PUMgen, allowing to produce a histogram of the mesh aspect ratios, similarly to SimModeler GUI.
pumgen test.neu test
pumgen -s netcdf test.nc test
Or to convert a gmsh mesh file (msh2) to the xmdf mesh format:
pumgen -s msh2 test.msh test
mpirun -n 4 pumgen -s netcdf test.nc test
Parametrizing PUMGen with an xml file
pumgen -s simmodsuite -l SimModelerLib.lic --xml meshAttributes.xml test.smd test
The GUI of SimModeler can be used to find the correspondence between region/surface and id.
Velocity-aware meshing
PUMGen supports automatic mesh refinement depending on the velocity structure specified in an easi file. PUMGen generates a mesh with a local element size that satisfies the specified number of elementsPerWaveLength
for the target frequency
within the VelocityRefinementCuboid
. As a rule of thumb, running SeisSol with -DORDER=6
resolves the target frequency when using two elements per wavelength (for details see Käser et al., 2008).
<VelocityAwareMeshing easiFile="material.yaml" elementsPerWaveLength="2">
<VelocityRefinementCuboid frequency="2.0" centerX="0" centerY="0" centerZ="0"
halfSizeX="1e5" halfSizeY="1e5" halfSizeZ="1e5"
bypassFindRegionAndUseGroup="1"/>
</VelocityAwareMeshing>