Alex:

You've hit on one of those bugs that every once in a while someone trips over, but that nobody really ever takes/has the time to fully debug. For sure, we would love to get some help with this issue, and the github bug report already contains a relatively small test case that should make debugging not too painful. The right approach is likely to use this test case, see what inputs deal.II is calling p4est's mesh creation routine, and then generate a stand-alone test case that only uses p4est to trigger the problem. I would expect this can be done in 200 or so lines.

I believe that at the core of the problem lies a mismatch of what we think p4est wants, and what p4est really expects. This also illustrates the problem with debugging the issue: Those of us who know deal.II don't know p4est, and the other way around. It requires someone willing to create such a stand-alone test case, and then talk to the p4est folks about why this is wrong. Once we understand why the input is wrong/unacceptable to p4est, it should be relatively straightforward to come up with a way to give p4est what it wants. The *understanding* of the problem is the key step.


Can you help me out by answering a couple questions?

  * Is there a work-around for this issue?

No.

      o Is there an alternative to p4est?

In the long run, the p4est people are working on a library called tetcode that extends p4est. But I don't think any of us have ever tried to see what it would take to replace p4est by tetcode.


      o Are there modifications I can make to my mesh/program to avoid this 
issue?

Not sure. Absent an understanding of why p4est is upset, any modifications would just be poking in the dark.


  * What would be involved with fixing the bug?

See above.


On a possibly related issue:

  * What is needed to allow for simplex meshes with parallel::distributed?  Is
    this also a connectivity issue?

p::d::Triangulation builds on p4est, which is exclusively for quad/hex meshes. Switching to tetcode would allow for the use of other cell types as well, but I don't think any of us have given substantial thought to what such a switch would require.

There is the parallel::fullydistributed::Triangulation class, which I *think* works with simplex meshes. It is not covered by tutorial programs yet, though.

Best
 W.

--
------------------------------------------------------------------------
Wolfgang Bangerth          email:                 bange...@colostate.edu
                           www: http://www.math.colostate.edu/~bangerth/


--
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/d631cb01-b9fa-42d7-8901-321fa2e25010%40colostate.edu.

Reply via email to