-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Labels
Description
Documenting this here for future reference:
- Through some tests, I was able to perform mesh adaptation for both 2D and 3D meshes in
PUMIPicwhen the mesh is not distributed.- After
omega_hmesh adaptation, particles are deleted in the mesh and newPICpartis 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.
- After
- 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_hdistributed 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 adaptedparallellybetween different processes. - This, however, cannot be guaranteed in
PUMIPicPICpartdistributed mesh. InPICpart, mesh from different processes are anindependentcopy of thecoremesh part and thebuffermesh part. When callingomega_hto perform mesh adaptation, mesh of eachPICpartis treatedserially, 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.
- If starting with an
