Hi Doug! Hi Wolfgang! On Sunday, August 25, 2019 at 3:25:06 AM UTC+2, Wolfgang Bangerth wrote: > > On 8/23/19 6:32 PM, Marc Fehling wrote: > > > > Your scenario indeed revealed a bug: Currently, we set and send > > `active_fe_indices` based on the refinement flags on the Triangulation > object. > > However, p4est has the last word on deciding which cells will be refined > > That's ultimately true, but we try to match what p4est expects in the > Triangulation::prepare_coarsening_and_refinement() function. Are you > calling > this function after you decide which cells *you* want to refine/coarsen > and > before you execute the refinement/coarsening? >
We've set all refinement and coarsening flags on the p::d::Triangulation, called prepare_coarsening_and_refinement(), and then executed refinement. The transfer of active_fe_indices will be prepared during the pre_distributed_refinement signal, but is executed later after p4est performed refinement on its forest. We utilize the CellStatus flags for transfer. In the scenario provided by Doug, there are neighboring cells that are either flagged for coarsening or for refinement. I would guess that there are differences in enforcing 2:1 hanging node conditions between p4est and deal.II. I came up with a fix for this issue in the following PR #8637 <https://github.com/dealii/dealii/pull/8637> that uses the CellStatus flags to determine active_fe_indices while coarsening. Marc -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/02c3cb9e-fc13-47d7-bd16-1505afc7eac8%40googlegroups.com.