Hi,
I am trying to generate a very large mesh for a highly resolved simulation in FEniCS. I ran out of memory while generating the mesh in serial using gmsh. I do have access to my university’s cluster and I am wondering if there’s a way to create an unstructured mesh for FEniCS simulations in parallel using MPI?
Hi,
I think Gmsh
can be compiled from source on your cluster. See this. Many other open source mesh generators support mesh refinement in parallel (e.g. Netgen). So you can generate a course mesh in serial and then refine it in parallel.
1 Like
Thank you for the answer. On the link for gmsh compilation, it said in the the ENABLE_MPI option that it is not used for meshing. Does that mean that gmsh can only refine the mesh in parallel?
Gmsh
as far as I know has experimental support for parallel meshing. I have never used it so can’t comment on the specifics.
Doing a quick search renders this which suggests that it indeed supports multi-threaded meshing. Also the reference manual states:
-
If your version of Gmsh is compiled with OpenMP support (see Compiling the source code), most of the meshing steps can be performed in parallel:
-
1D and 2D meshing is parallelized using a coarse-grained approach, i.e. curves (resp. surfaces) are each meshed sequentially, but several curves (resp. surfaces) can be meshed at the same time.
-
3D meshing using HXT is parallelized using a fine-grained approach, i.e. the actual meshing procedure for a single volume is done is parallel.*
You could ask on Gmsh forum to know more about it