Skip to content

distributed mesh generation #97

@simbilod

Description

@simbilod

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 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions