Products > Simulation Modeling Suite > MeshSim > Parallel MeshSim

Parallel MeshSim allows MeshSim to be used in parallel, MPI-based applications, taking advantage of multiple processors to generate very large meshes more quickly and to take advantage of the larger amount of memory available in a typical computational cluster. A distributed, partitioned mesh is used with interprocess links on the partitioned boundaries to enable all phases of mesh generation operate in parallel. In each phase of mesh generation, load balancing is automatically applied to ensure scalability of each algorithm.

There are parallel versions of each of the MeshSim modules:

  • Parallel MeshSim Core - Parallel surface and volume meshing
  • Parallel MeshSim Advanced - Parallel boundary layer mesh generation
  • Parallel MeshSim Adapt - Parallel refinement and coarsening of meshes
The API used for parallel meshing is the same MeshSim API used for serial meshing. The only difference is that a parallel, partitioned mesh object is created at the start and the API calls are made collectively in your MPI-based application.

A very simple example of a parallel generated mesh on 4 processors (as indicated by color) is shown below. Note that this is a much coarser mesh than would usually be generated in parallel as meshes with 10s of millions of elements are difficult to create good pictures of.

In surface meshing, the model faces provide a natural decomposition of the work to be done which is divided up between processors. Each processor meshes multiple faces to maintain overall load balance. Which processor meshes which faces is automatically determined by Parallel MeshSim.
For volume meshing a spatial decompostion of the domain which takes into consideration the work to be done is used. Based on this several different load balancing schemes are automatically applied in different phases of volume meshing to ensure good scalability in both time and memory.