librelist archives

« back to archive

join_faces for faces sharing an edge

join_faces for faces sharing an edge

From:
Arndt, Daniel
Date:
2015-04-24 @ 21:13
Hey all,

at the moment I am implementing periodic boundary conditions for arbitrary
orientations of the coarse corresponding cells in deal.II.
So far this works quite well apart from one case in which I consider in 3D
one coarse cell and try to identify faces that share an edge. Take for 
example faces 0 and 4 using orientation 0. Then edge 0 and 8, 1 and 10, 5 
and 6 are identified and edge 4 is mapped onto itself.
When calling p4est_connectivity_is_valid at the end of this function, I 
run into the assertion at the end of p8est_find_edge_transform for edge 4.
Interestingly, I don't get this error in p8est_join_edges but only after 
tree_to_tree and tree_to_face have been updated.
Any ideas why this setting causes problems?

Best,
Daniel

Re: [p4est] join_faces for faces sharing an edge

From:
Tobin Isaac
Date:
2015-04-27 @ 03:22
Hi Daniel,

The line number of the assertion in p8est_fine_edge_transform() would
be useful for diagnosis.

Cheers,
  Toby

On Fri, Apr 24, 2015 at 09:13:21PM +0000, Arndt, Daniel wrote:
> Hey all,
> 
> at the moment I am implementing periodic boundary conditions for 
arbitrary orientations of the coarse corresponding cells in deal.II.
> So far this works quite well apart from one case in which I consider in 
3D one coarse cell and try to identify faces that share an edge. Take for 
example faces 0 and 4 using orientation 0. Then edge 0 and 8, 1 and 10, 5 
and 6 are identified and edge 4 is mapped onto itself.
> When calling p4est_connectivity_is_valid at the end of this function, I 
run into the assertion at the end of p8est_find_edge_transform for edge 4.
Interestingly, I don't get this error in p8est_join_edges but only after 
tree_to_tree and tree_to_face have been updated.
> Any ideas why this setting causes problems?
> 
> Best,
> Daniel

Re: [p4est] join_faces for faces sharing an edge

From:
Tobin Isaac
Date:
2015-04-27 @ 04:58
Ignore my previous e-mail: I've reproduced your error.

The problem is that the assertion you're triggering is too restrictive
to include the type of periodicity you're creating.  I think it should
be valid, so perhaps Carsten and I can discuss improving or removing
the assertion.

Cheers,
  Toby

On Fri, Apr 24, 2015 at 09:13:21PM +0000, Arndt, Daniel wrote:
> Hey all,
> 
> at the moment I am implementing periodic boundary conditions for 
arbitrary orientations of the coarse corresponding cells in deal.II.
> So far this works quite well apart from one case in which I consider in 
3D one coarse cell and try to identify faces that share an edge. Take for 
example faces 0 and 4 using orientation 0. Then edge 0 and 8, 1 and 10, 5 
and 6 are identified and edge 4 is mapped onto itself.
> When calling p4est_connectivity_is_valid at the end of this function, I 
run into the assertion at the end of p8est_find_edge_transform for edge 4.
Interestingly, I don't get this error in p8est_join_edges but only after 
tree_to_tree and tree_to_face have been updated.
> Any ideas why this setting causes problems?
> 
> Best,
> Daniel

Re: [p4est] join_faces for faces sharing an edge

From:
Daniel Arndt
Date:
2015-04-28 @ 11:41
Dear Toby,

In version 0.3.4.2 I commented out the lines 1976-1982 in
p4est_connectivity.c and lines 999-1000 in p8est_connectivity.c.
This gives me a partitioning that is suitable for applying the desired
kind of periodicity constraints.

Best,
Daniel

On 04/27/2015 06:58 AM, Tobin Isaac wrote:
> 
> Ignore my previous e-mail: I've reproduced your error.
> 
> The problem is that the assertion you're triggering is too restrictive
> to include the type of periodicity you're creating.  I think it should
> be valid, so perhaps Carsten and I can discuss improving or removing
> the assertion.
> 
> Cheers,
>   Toby
> 
> On Fri, Apr 24, 2015 at 09:13:21PM +0000, Arndt, Daniel wrote:
>> Hey all,
>>
>> at the moment I am implementing periodic boundary conditions for arbi
trary orientations of the coarse corresponding cells in deal.II.
>> So far this works quite well apart from one case in which I consider 
in 3D one coarse cell and try to identify faces that share an edge. Take
 for example faces 0 and 4 using orientation 0. Then edge 0 and 8, 1 and
 10, 5 and 6 are identified and edge 4 is mapped onto itself.
>> When calling p4est_connectivity_is_valid at the end of this function,
 I run into the assertion at the end of p8est_find_edge_transform for ed
ge 4. Interestingly, I don't get this error in p8est_join_edges but only
 after tree_to_tree and tree_to_face have been updated.
>> Any ideas why this setting causes problems?
>>
>> Best,
>> Daniel

Re: [p4est] join_faces for faces sharing an edge

From:
Daniel Arndt
Date:
2015-04-28 @ 17:00
Great, Toby! The fix in your branch works for me as well!

Daniel

On 04/28/2015 05:53 PM, Tobin Isaac wrote:
> 
> Daniel,
> 
> That works as a short term fix, but I've made a more complete fix in
> the fix-edge-transform branch on my github repo that addresses the
> underlying issue.  Hopefully we can get it integrated soon.
> 
>   Toby
> 
> On Tue, Apr 28, 2015 at 01:41:33PM +0200, Daniel Arndt wrote:
>> Dear Toby,
>>
>> In version 0.3.4.2 I commented out the lines 1976-1982 in
>> p4est_connectivity.c and lines 999-1000 in p8est_connectivity.c.
>> This gives me a partitioning that is suitable for applying the desired
>> kind of periodicity constraints.
>>
>> Best,
>> Daniel
>>
>> On 04/27/2015 06:58 AM, Tobin Isaac wrote:
>>>
>>> Ignore my previous e-mail: I've reproduced your error.
>>>
>>> The problem is that the assertion you're triggering is too restrictive
>>> to include the type of periodicity you're creating.  I think it should
>>> be valid, so perhaps Carsten and I can discuss improving or removing
>>> the assertion.
>>>
>>> Cheers,
>>>   Toby
>>>
>>> On Fri, Apr 24, 2015 at 09:13:21PM +0000, Arndt, Daniel wrote:
>>>> Hey all,
>>>>
>>>> at the moment I am implementing periodic boundary conditions for arbi
>> trary orientations of the coarse corresponding cells in deal.II.
>>>> So far this works quite well apart from one case in which I consider 
>> in 3D one coarse cell and try to identify faces that share an edge. Take
>>  for example faces 0 and 4 using orientation 0. Then edge 0 and 8, 1 and
>>  10, 5 and 6 are identified and edge 4 is mapped onto itself.
>>>> When calling p4est_connectivity_is_valid at the end of this function,
>>  I run into the assertion at the end of p8est_find_edge_transform for ed
>> ge 4. Interestingly, I don't get this error in p8est_join_edges but only
>>  after tree_to_tree and tree_to_face have been updated.
>>>> Any ideas why this setting causes problems?
>>>>
>>>> Best,
>>>> Daniel
>>
>>


-- 
Daniel Arndt
Institute for Numerical and Applied Mathematics
University of Goettingen
Lotzestr. 16-18
D-37083 Goettingen, Germany

Room 16
0551 - 39 4531

Re: [p4est] join_faces for faces sharing an edge

From:
Carsten Burstedde
Date:
2015-04-30 @ 12:17
Hi Daniel,

On Tue, Apr 28, 2015 at 07:00:32PM +0200, Daniel Arndt wrote:
> Great, Toby! The fix in your branch works for me as well!

thanks a lot for your report. 

I'd love to consider fixing/reevaluating the assertion logic.  May I ask
you to point me to a branch that has a minimal test program to reproduce
the error and the proposed fix on top of my current master or develop?
This would make it easiest for me to think it over.

Best regards,

Carsten

> Daniel
> 
> On 04/28/2015 05:53 PM, Tobin Isaac wrote:
> > 
> > Daniel,
> > 
> > That works as a short term fix, but I've made a more complete fix in
> > the fix-edge-transform branch on my github repo that addresses the
> > underlying issue.  Hopefully we can get it integrated soon.
> > 
> >   Toby
> > 
> > On Tue, Apr 28, 2015 at 01:41:33PM +0200, Daniel Arndt wrote:
> >> Dear Toby,
> >>
> >> In version 0.3.4.2 I commented out the lines 1976-1982 in
> >> p4est_connectivity.c and lines 999-1000 in p8est_connectivity.c.
> >> This gives me a partitioning that is suitable for applying the desired
> >> kind of periodicity constraints.
> >>
> >> Best,
> >> Daniel
> >>
> >> On 04/27/2015 06:58 AM, Tobin Isaac wrote:
> >>>
> >>> Ignore my previous e-mail: I've reproduced your error.
> >>>
> >>> The problem is that the assertion you're triggering is too restrictive
> >>> to include the type of periodicity you're creating.  I think it should
> >>> be valid, so perhaps Carsten and I can discuss improving or removing
> >>> the assertion.
> >>>
> >>> Cheers,
> >>>   Toby
> >>>
> >>> On Fri, Apr 24, 2015 at 09:13:21PM +0000, Arndt, Daniel wrote:
> >>>> Hey all,
> >>>>
> >>>> at the moment I am implementing periodic boundary conditions for arbi
> >> trary orientations of the coarse corresponding cells in deal.II.
> >>>> So far this works quite well apart from one case in which I consider 
> >> in 3D one coarse cell and try to identify faces that share an edge. Take
> >>  for example faces 0 and 4 using orientation 0. Then edge 0 and 8, 1 and
> >>  10, 5 and 6 are identified and edge 4 is mapped onto itself.
> >>>> When calling p4est_connectivity_is_valid at the end of this function,
> >>  I run into the assertion at the end of p8est_find_edge_transform for ed
> >> ge 4. Interestingly, I don't get this error in p8est_join_edges but only
> >>  after tree_to_tree and tree_to_face have been updated.
> >>>> Any ideas why this setting causes problems?
> >>>>
> >>>> Best,
> >>>> Daniel
> >>
> >>
> 
> 
> -- 
> Daniel Arndt
> Institute for Numerical and Applied Mathematics
> University of Goettingen
> Lotzestr. 16-18
> D-37083 Goettingen, Germany
> 
> Room 16
> 0551 - 39 4531
> 

Re: [p4est] join_faces for faces sharing an edge

From:
Tobin Isaac
Date:
2015-04-30 @ 13:22
On Thu, Apr 30, 2015 at 02:17:03PM +0200, Carsten Burstedde wrote:
> Hi Daniel,
> 
> On Tue, Apr 28, 2015 at 07:00:32PM +0200, Daniel Arndt wrote:
> > Great, Toby! The fix in your branch works for me as well!
> 
> thanks a lot for your report. 
> 
> I'd love to consider fixing/reevaluating the assertion logic.  May I ask
> you to point me to a branch that has a minimal test program to reproduce
> the error and the proposed fix on top of my current master or develop?
> This would make it easiest for me to think it over.

I added Daniel's test case to p8est_test_join in the fix-edge-tranform
branch.  If you keep the changes to that test but revert the changes to
the source, it should reproduce.

  Toby

> 
> Best regards,
> 
> Carsten
> 
> > Daniel
> > 
> > On 04/28/2015 05:53 PM, Tobin Isaac wrote:
> > > 
> > > Daniel,
> > > 
> > > That works as a short term fix, but I've made a more complete fix in
> > > the fix-edge-transform branch on my github repo that addresses the
> > > underlying issue.  Hopefully we can get it integrated soon.
> > > 
> > >   Toby
> > > 
> > > On Tue, Apr 28, 2015 at 01:41:33PM +0200, Daniel Arndt wrote:
> > >> Dear Toby,
> > >>
> > >> In version 0.3.4.2 I commented out the lines 1976-1982 in
> > >> p4est_connectivity.c and lines 999-1000 in p8est_connectivity.c.
> > >> This gives me a partitioning that is suitable for applying the desired
> > >> kind of periodicity constraints.
> > >>
> > >> Best,
> > >> Daniel
> > >>
> > >> On 04/27/2015 06:58 AM, Tobin Isaac wrote:
> > >>>
> > >>> Ignore my previous e-mail: I've reproduced your error.
> > >>>
> > >>> The problem is that the assertion you're triggering is too restrictive
> > >>> to include the type of periodicity you're creating.  I think it should
> > >>> be valid, so perhaps Carsten and I can discuss improving or removing
> > >>> the assertion.
> > >>>
> > >>> Cheers,
> > >>>   Toby
> > >>>
> > >>> On Fri, Apr 24, 2015 at 09:13:21PM +0000, Arndt, Daniel wrote:
> > >>>> Hey all,
> > >>>>
> > >>>> at the moment I am implementing periodic boundary conditions for arbi
> > >> trary orientations of the coarse corresponding cells in deal.II.
> > >>>> So far this works quite well apart from one case in which I consider 
> > >> in 3D one coarse cell and try to identify faces that share an edge. Take
> > >>  for example faces 0 and 4 using orientation 0. Then edge 0 and 8, 1 and
> > >>  10, 5 and 6 are identified and edge 4 is mapped onto itself.
> > >>>> When calling p4est_connectivity_is_valid at the end of this function,
> > >>  I run into the assertion at the end of p8est_find_edge_transform for ed
> > >> ge 4. Interestingly, I don't get this error in p8est_join_edges but only
> > >>  after tree_to_tree and tree_to_face have been updated.
> > >>>> Any ideas why this setting causes problems?
> > >>>>
> > >>>> Best,
> > >>>> Daniel
> > >>
> > >>
> > 
> > 
> > -- 
> > Daniel Arndt
> > Institute for Numerical and Applied Mathematics
> > University of Goettingen
> > Lotzestr. 16-18
> > D-37083 Goettingen, Germany
> > 
> > Room 16
> > 0551 - 39 4531
> > 

Re: [p4est] join_faces for faces sharing an edge

From:
Carsten Burstedde
Date:
2015-05-12 @ 13:55
> > On Tue, Apr 28, 2015 at 07:00:32PM +0200, Daniel Arndt wrote:
> > > Great, Toby! The fix in your branch works for me as well!
> > 
> > thanks a lot for your report. 

Daniel, thanks for reiterating.

> > I'd love to consider fixing/reevaluating the assertion logic.  May I ask
> > you to point me to a branch that has a minimal test program to reproduce
> > the error and the proposed fix on top of my current master or develop?
> > This would make it easiest for me to think it over.
> 
> I added Daniel's test case to p8est_test_join in the fix-edge-tranform
> branch.  If you keep the changes to that test but revert the changes to
> the source, it should reproduce.

Toby, thanks a lot for cleaning this up.  I merged it into develop.

Best regards,

Carsten

> > > Daniel
> > > 
> > > On 04/28/2015 05:53 PM, Tobin Isaac wrote:
> > > > 
> > > > Daniel,
> > > > 
> > > > That works as a short term fix, but I've made a more complete fix in
> > > > the fix-edge-transform branch on my github repo that addresses the
> > > > underlying issue.  Hopefully we can get it integrated soon.
> > > > 
> > > >   Toby
> > > > 
> > > > On Tue, Apr 28, 2015 at 01:41:33PM +0200, Daniel Arndt wrote:
> > > >> Dear Toby,
> > > >>
> > > >> In version 0.3.4.2 I commented out the lines 1976-1982 in
> > > >> p4est_connectivity.c and lines 999-1000 in p8est_connectivity.c.
> > > >> This gives me a partitioning that is suitable for applying the desired
> > > >> kind of periodicity constraints.
> > > >>
> > > >> Best,
> > > >> Daniel
> > > >>
> > > >> On 04/27/2015 06:58 AM, Tobin Isaac wrote:
> > > >>>
> > > >>> Ignore my previous e-mail: I've reproduced your error.
> > > >>>
> > > >>> The problem is that the assertion you're triggering is too restrictive
> > > >>> to include the type of periodicity you're creating.  I think it should
> > > >>> be valid, so perhaps Carsten and I can discuss improving or removing
> > > >>> the assertion.
> > > >>>
> > > >>> Cheers,
> > > >>>   Toby
> > > >>>
> > > >>> On Fri, Apr 24, 2015 at 09:13:21PM +0000, Arndt, Daniel wrote:
> > > >>>> Hey all,
> > > >>>>
> > > >>>> at the moment I am implementing periodic boundary conditions for arbi
> > > >> trary orientations of the coarse corresponding cells in deal.II.
> > > >>>> So far this works quite well apart from one case in which I consider 
> > > >> in 3D one coarse cell and try to identify faces that share an edge. Take
> > > >>  for example faces 0 and 4 using orientation 0. Then edge 0 and 8, 1 and
> > > >>  10, 5 and 6 are identified and edge 4 is mapped onto itself.
> > > >>>> When calling p4est_connectivity_is_valid at the end of this function,
> > > >>  I run into the assertion at the end of p8est_find_edge_transform for ed
> > > >> ge 4. Interestingly, I don't get this error in p8est_join_edges but only
> > > >>  after tree_to_tree and tree_to_face have been updated.
> > > >>>> Any ideas why this setting causes problems?
> > > >>>>
> > > >>>> Best,
> > > >>>> Daniel
> > > >>
> > > >>
> > > 
> > > 
> > > -- 
> > > Daniel Arndt
> > > Institute for Numerical and Applied Mathematics
> > > University of Goettingen
> > > Lotzestr. 16-18
> > > D-37083 Goettingen, Germany
> > > 
> > > Room 16
> > > 0551 - 39 4531
> > > 
> 
> 

Re: [p4est] join_faces for faces sharing an edge

From:
Daniel Arndt
Date:
2015-04-30 @ 12:44
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hi Carsten,

I am using Toby's branch fix-edge-transform
(https://github.com/tisaac/p4est/tree/fix-edge-transform).
Unfortunately, I do not have a test program in p4est, but just one using
deal.II. You may find this one in my deal.II branch
fix_rotated_periodicity at tests/mpi/periodicity_03.cc
(https://github.com/masterleinad/dealii/tree/branch_fix_rotated_periodic
ity).
Hopefully, this is sufficiently minimal.

Best
Daniel

On 04/30/2015 02:17 PM, Carsten Burstedde wrote:
> Hi Daniel,
> 
> On Tue, Apr 28, 2015 at 07:00:32PM +0200, Daniel Arndt wrote:
>> Great, Toby! The fix in your branch works for me as well!
> 
> thanks a lot for your report. 
> 
> I'd love to consider fixing/reevaluating the assertion logic.  May I a
sk
> you to point me to a branch that has a minimal test program to reprodu
ce
> the error and the proposed fix on top of my current master or develop?
> This would make it easiest for me to think it over.
> 
> Best regards,
> 
> Carsten
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJVQiOsAAoJEIGenJs48C25Q3UH/RoKW5AjEsNZw1wl/uFyCQR+
ZrrsctX4z6ti29ipP95JfdJcnyhXKeh3ge5oe1MbSf4yo+O/t3bAmjoVPNCZrXRn
n29BrcXFtUZVuh6pb/3MMgRlMQQvj/fMrDizr7kkLgtz3FiZLzVJxcnKRAi2XsUK
djRH/QhKATrYx7phw9fHH0ieA+yHsYpSt70CzrrTswwXQip7I+9FDbZHZ5b5vHC9
Te9PGtgDaOHEVyvXHqaMYCLMnifWdpyW7WxFxNtkCmnVyJGSco9ZW8ecPH7rDeA/
mV/G6FvCA4XzxlzPKvpu/mX0zV9oz/t0ZJNKwS8sbS5oRHdSY6y0GOpuaAuYpeo=
=2Fv/
-----END PGP SIGNATURE-----