You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 PUMIPicPICpart 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.
The text was updated successfully, but these errors were encountered:
Documenting this here for future reference:
PUMIPic
when the mesh is not distributed.omega_h
mesh adaptation, particles are deleted in the mesh and newPICpart
is created from the adapted mesh.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 adaptedparallelly
between different processes.PUMIPic
PICpart
distributed mesh. InPICpart
, mesh from different processes are anindependent
copy of thecore
mesh part and thebuffer
mesh part. When callingomega_h
to perform mesh adaptation, mesh of eachPICpart
is treatedserially
, and the mesh adaptation on each process does not insure that the mesh from different processes are consistent.The text was updated successfully, but these errors were encountered: