Hi, I got some strange reblanced partitioning results in dynamic AMR. Here are some pictures.
It looks okay initially.

Then the grid is changed slightly on the fly.

But its rebalanced partitioning looks funny:

For instance

However, even with the strange partitioning, the code seems to be okay and produce solutions consistent with my serial AMR code.
My code looks like this:
//---Update fespace and interpolation---
AMRUpdate(vx, vx_old, fe_offset, phi, psi, w, j);
pmesh->Rebalance();
//---Update fespace and interpolation---
AMRUpdate(vx, vx_old, fe_offset, phi, psi, w, j);
//Update time dependent operator and update/assemble bilinear forms
oper.UpdateProblem();
Let me know what I am missing.
Thanks,
Qi
Hi @tangqi, I'm not sure what exactly you are referring to, but here are two comments:
The funny "hook"-shaped protrusions are an artifact of the Hilbert space-filling curve partitioning algorithm and cannot be easily avoided.
The partitions are not continuous. This happens when the initial (coarse) mesh is not ordered along a space-filling curve. To avoid disconnected partitions, the elements of the coarse mesh should be ordered as a sequence of face-neighbors (you also need a recent (master) version of MFEM). In your case the coarse mesh could also be just a single quad, which would also make the partitions continuous.
Hope that helps,
Jakub
Hi @jakubcerveny, thanks for your very helpful comments. Indeed, I was wrongly expecting a continuous partitioning, which was observed in my code on uniform meshes. Since this is expected, I am less worried. The parallel AMR code is very robust with those discontinuous partitions. Thanks again for your impressive work. --Qi
Most helpful comment
Hi @tangqi, I'm not sure what exactly you are referring to, but here are two comments:
The funny "hook"-shaped protrusions are an artifact of the Hilbert space-filling curve partitioning algorithm and cannot be easily avoided.
The partitions are not continuous. This happens when the initial (coarse) mesh is not ordered along a space-filling curve. To avoid disconnected partitions, the elements of the coarse mesh should be ordered as a sequence of face-neighbors (you also need a recent (master) version of MFEM). In your case the coarse mesh could also be just a single quad, which would also make the partitions continuous.
Hope that helps,
Jakub