Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

distributed mesh generation #97

Open
simbilod opened this issue Dec 3, 2024 · 1 comment
Open

distributed mesh generation #97

simbilod opened this issue Dec 3, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@simbilod
Copy link
Owner

simbilod commented Dec 3, 2024

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

@simbilod simbilod added the enhancement New feature or request label Dec 3, 2024
@simbilod
Copy link
Owner Author

simbilod commented Dec 3, 2024

Non-straight buffers (sidewalls) can be handled by extending the polygons a bit before buffered extrusion, followed by OCC cuts at the boundaries

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant