Periodic boundaries

61 views
Skip to first unread message

Yann Jobic

unread,
Nov 28, 2024, 1:38:07 PM11/28/24
to dea...@googlegroups.com
Hello,

I'm trying to define periodic constrains on a "complex" geometry. It's
working fine in parallel when the periodic faces are collinear to the
directions (in my case X and Y directions). But in the "Z" direction,
i've got inclined faces.

I tried to use the function collect_periodic_faces which do not use
orthogonal_equality(), as i've got inclined faces.To do so, i've put
both boundaries inside one boundary Id. But the error i've got is :
The violated condition was:
pairs1.size() > 0
Additional information:
No new periodic face pairs have been found. Are you sure that you've
selected the correct boundary id's and that the coarsest level mesh is
colorized?

I've checked the orientation of all the faces of the mesh. They are all
True.

Maybe i did not understood the way to use the function
collect_periodic_faces using the standard orientation.

Do you have some insights on how to define correctly this periodicity ?

Thanks,

Yann
periodic_boundaries.jpg
poro3_FC_perioZ.zip
verifMesh.cc

Wolfgang Bangerth

unread,
Nov 30, 2024, 11:02:35 AM11/30/24
to dea...@googlegroups.com

Yann:
I do not know the function in question in detail, but have you tried reading
through the implementation of that function and understanding where the error
comes from? Oftentimes, understanding how an error comes about gets you 90%
the way towards understanding how to fix the code (in your own application, or
perhaps in deal.II itself).

Best
Wolfgang


On 11/28/24 11:37, Yann Jobic wrote:
> ** Caution: EXTERNAL Sender **
> --
> The deal.II project is located at https://
> nam10.safelinks.protection.outlook.com/?
> url=http%3A%2F%2Fwww.dealii.org%2F&data=05%7C02%7CWolfgang.Bangerth%40colostate.edu%7Ca8ac03868d464e2b4b7508dd0fdbcf28%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638684159132983328%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=zkUutphiNL69jXRpB0wYgWC0tgOGYGGOjRxynhM4CBU%3D&reserved=0
> For mailing list/forum options, see https://
> nam10.safelinks.protection.outlook.com/?
> url=https%3A%2F%2Fgroups.google.com%2Fd%2Fforum%2Fdealii%3Fhl%3Den&data=05%7C02%7CWolfgang.Bangerth%40colostate.edu%7Ca8ac03868d464e2b4b7508dd0fdbcf28%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638684159133006597%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=OFfQ03oJ4x7uzB0F4hZgPbbrk4vdK0QESsq65VtplD0%3D&reserved=0
> ---
> 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+un...@googlegroups.com.
> To view this discussion visit https://nam10.safelinks.protection.outlook.com/?
> url=https%3A%2F%2Fgroups.google.com%2Fd%2Fmsgid%2Fdealii%2F7ec17fc7-7cea-4ee5-
> ac27-3c6644e02001%2540gmail.com&data=05%7C02%7CWolfgang.Bangerth%40colostate.edu%7Ca8ac03868d464e2b4b7508dd0fdbcf28%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638684159133024919%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=yXXmjYlSCK1aq3ptLOyYoI%2BQoPBevc117tKZB5hGqFs%3D&reserved=0.

Yann Jobic

unread,
Dec 2, 2024, 9:29:25 AM12/2/24
to dea...@googlegroups.com
The error is not coming from dealii.

I made it work. With:
1) I first had to reordered the elements (not so difficult, i'm using
PointWise for that). Then i've got only 2*direction and 2*direction+1 as
face numbers on the same boundary Id.
2) I changed the tolerance (hard coded) in the orthogonal_equality
(point overloading function version). It's 1e-10 at default, i put 1e-7,
and it's working well.

Is there a way to elegantly change the hard coded tolerance ? Or is it
possible to add a non mandatory tolerance parameter to the function
collect_periodic_faces, with default value 1e-10 ?

Thanks,

Best,

Yann

Wolfgang Bangerth

unread,
Dec 2, 2024, 3:38:50 PM12/2/24
to dea...@googlegroups.com

On 12/2/24 07:29, Yann Jobic wrote:
>
> Is there a way to elegantly change the hard coded tolerance ? Or is it
> possible to add a non mandatory tolerance parameter to the function
> collect_periodic_faces, with default value 1e-10 ?

We are always happy to accept patches to the library! Just make it a
function argument with a default value.

Best
Wolfgang
Reply all
Reply to author
Forward
0 new messages