I am trying to code a scalable parallel AMR for unstructured grid. There seems to be three approaches for this

a) Store some global grid info on each processor and partition with parmetis (The easiest approach I am pursuing). I have never used ParMetis before (just metis) so I do not know how one would be able to read a given mesh file in parallel for partitioning, and then later on store the file in a format readable in parallel.

b) Store global grid on rank=0, use Metis and then scatter. I don't like this approach because it is more involved than (a), and you still need one node that is able to store the whole grid anyway.

c) Use an approach like p4est, which only works for structured quads/hexes. I am not sure how much global information is stored on each processor but it seems pretty scalable. Can the techniques used for the mesh encoding in p4est be used for unstructured grids as well. It seems to me even if one stores only one integer, say to indicate to which processor an element belongs, sooner or later scalability will be limited due to not being able to store that information one a node. What I think is done in p4est is to partition a coarse grid (able to be stored on each node), and do refinement after partitioning, but this approach can not be used for unstructured AMR, right ?

Thanks for any input.

  • 2
    $\begingroup$ Your comment about p4est is not entirely correct: It stores the entire coarse mesh on each processor, but the final, refined mesh is completely distributed. Furthermore, the coarse mesh can be an unstructured quad/hex mesh. It just needs to be small enough to fit onto each processor, which in practice means that the coarse mesh ought to have less than, say, 100,000 cells. $\endgroup$ Commented Apr 16, 2017 at 23:58
  • $\begingroup$ Thanks, I meant to say p4est can not handle unstructured grid with a mix of elements (tets, tri, quads, hexs) in the same grid. So what I am interested in is if p4est's encoding techniques can be used when the amr involves a general type of tree (not necessarily quad- or oct- tree), and still be highly scalable. $\endgroup$
    – danny
    Commented Apr 17, 2017 at 18:36
  • $\begingroup$ I bet it is possible to write something like p4est that is as highly scalable. I just don't know that anyone would have the time or interest to do so. $\endgroup$ Commented Apr 18, 2017 at 3:15
  • $\begingroup$ But I do know that Carsten Burstedde, one of the authors of p4est, is working on a tet version of it. $\endgroup$ Commented Apr 18, 2017 at 3:15
  • 1
    $\begingroup$ Well, DLR had the interest and implemented AMR of hybrid meshes (with many more features) into t8code. $\endgroup$ Commented Sep 14, 2023 at 15:53


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.