for prism-only and polysurface meshes, it should be easy to split the model into submodels and treat them completely independently e.g. as different MPI processes
This could be done as follows:
Define subdomains (some regular grid in xy is simplest)
Each subdomain is treated in its own subprocess / MPI rank. For each subdomain:
Take the e.g. top and left interface to the neighbouring subdomain, and mesh it in 3D (make the size of the interfacial region some factor of the largest element size). Use additive entities to split the interface region into two halves meeting at the actual interface.
Save the mesh points at the interface of the two halves.
Communicate the relevant interface point data to each subdomain from other calculations (bottom, right)
Mesh the subdomains, enforcing the interfacial meshes
GMSH merge the subdomain meshes into one .msh file, taking care that the physical groups have consistent numbering
For large complicated meshes, this should allow distributed memory scaling of the initial CAD + meshing procedure
for prism-only and polysurface meshes, it should be easy to split the model into submodels and treat them completely independently e.g. as different MPI processes
This could be done as follows:
For large complicated meshes, this should allow distributed memory scaling of the initial CAD + meshing procedure