While the current status works, there is a major design aspect which has to be considered.
We should not let the user know explicitely that only one deal.II cell (the "master" one) of an agglomerate carries the DoFs. In our assembly routines, we effectively loop through all the master cells (i.e. all the polygons), but they are by all means simple deal.II cells. This continuous identification between polyongs and master cells is certainly confusing from a user's perspective.
The sequence of PRs above, together with the refactoring in #78, mostly addressed the issue. I'll keep this issue open until the distributed case is handled
While the current status works, there is a major design aspect which has to be considered.
We should not let the user know explicitely that only one deal.II cell (the "master" one) of an agglomerate carries the DoFs. In our assembly routines, we effectively loop through all the master cells (i.e. all the polygons), but they are by all means simple deal.II cells. This continuous identification between polyongs and master cells is certainly confusing from a user's perspective.
The cleanest solution would be to design an Accessors and Iterators classes in the spirit of the
Particles
namespace from deal.II (https://www.dealii.org/current/doxygen/deal.II/namespaceParticles.html).