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.

Reply via email to