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

Mesh adaptation on distributed mesh in PUMIPic #137

Open
zhangchonglin opened this issue Jan 21, 2025 · 0 comments
Open

Mesh adaptation on distributed mesh in PUMIPic #137

zhangchonglin opened this issue Jan 21, 2025 · 0 comments
Labels
enhancement New feature or request mesh creation

Comments

@zhangchonglin
Copy link
Contributor

Documenting this here for future reference:

  • Through some tests, I was able to perform mesh adaptation for both 2D and 3D meshes in PUMIPic when the mesh is not distributed.
    • After omega_h mesh adaptation, particles are deleted in the mesh and new PICpart is created from the adapted mesh.
    • More time efficient approach will be to keep the particle data and assign the particles to newly adapted mesh elements based on particle positions.
  • However, PUMIPic currently does not support mesh adaptation on distributed mesh, primarily due to the following reasons (without considering copying particle data from old to new mesh):
    • If starting with an omega_h distributed mesh (with limited number of buffer cell layers), it can adapt (refine/coarsen) the mesh properly, including ensuring the adapted buffer cells residing on different processes are consistently generated (according to the adapted mesh in the core region, communications involved): the mesh elements from different processes are the same across the processes. This can be thought of as: mesh is adapted parallelly between different processes.
    • This, however, cannot be guaranteed in PUMIPic PICpart distributed mesh. In PICpart, mesh from different processes are an independent copy of the core mesh part and the buffer mesh part. When calling omega_h to perform mesh adaptation, mesh of each PICpart is treated serially, and the mesh adaptation on each process does not insure that the mesh from different processes are consistent.
    • See for example the below image, where some edges (in the buffer region) for from 2 processes are created differently.

Image

@zhangchonglin zhangchonglin added enhancement New feature or request mesh creation labels Jan 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request mesh creation
Projects
None yet
Development

No branches or pull requests

1 participant