Thank you, this MR works if I generate the mesh within the code. But using a mesh made in gmsh, I see the same issue.
Thanks praveen > On 14-Dec-2022, at 12:51 AM, Matthew Knepley <[email protected]> wrote: > > On Tue, Dec 13, 2022 at 10:57 AM Matthew Knepley <[email protected] > <mailto:[email protected]>> wrote: >> On Tue, Dec 13, 2022 at 6:11 AM Praveen C <[email protected] >> <mailto:[email protected]>> wrote: >>> Hello >>> >>> In the attached test, I read a small grid made in gmsh with periodic bc. >>> >>> This is a 2d mesh. >>> >>> The cell numbers are shown in the figure. >>> >>> All faces have length = 2.5 >>> >>> But using PetscFVFaceGeom I am getting length of 7.5 for some faces. E.g., >>> >>> face: 59, centroid = 3.750000, 2.500000, normal = 0.000000, -7.500000 >>> ===> Face length incorrect = 7.500000, should be 2.5 >>> support[0] = 11, cent = 8.750000, 3.750000, area = 6.250000 >>> support[1] = 15, cent = 8.750000, 1.250000, area = 6.250000 >>> >>> There are also errors in the orientation of normal. >>> >>> If we disable periodicity in geo file, this error goes away. >> >> Yes, by default we only localize coordinates for cells. I can put in code to >> localize faces. > > Okay, I now have a MR for this: > https://gitlab.com/petsc/petsc/-/merge_requests/5917 > > I am attaching your code, slightly modified. You can run > > ./dmplex -malloc_debug 0 -dm_plex_box_upper 10,10 -dm_plex_box_faces 4,4 > -dm_plex_simplex 0 -dm_view ::ascii_info_detail -draw_pause 3 -dm_plex_box_bd > periodic,periodic -dm_localize_height 0 > > which shows incorrect edges and > > ./dmplex -malloc_debug 0 -dm_plex_box_upper 10,10 -dm_plex_box_faces 4,4 > -dm_plex_simplex 0 -dm_view ::ascii_info_detail -draw_pause 3 -dm_plex_box_bd > periodic,periodic -dm_localize_height 1 > > which is correct. If you want to control things yourself, instead of using > the option you can call DMPlexSetMaxProjectionHeight() on the coordinate DM > yourself. > > Thanks, > > Matt > >> Thanks, >> >> Matt >> >>> Thanks >>> praveen >> -- >>
