Thank you very much. I do see correct normals now. Is there a way to set the option
>> -dm_localize_height 1 within the code ? best praveen > On 15-Dec-2022, at 9:53 PM, Matthew Knepley <[email protected]> wrote: > > On Wed, Dec 14, 2022 at 9:20 AM Praveen C <[email protected] > <mailto:[email protected]>> wrote: >> Hello >> >> I tried this with the attached code but I still get wrong normals. >> >> ./dmplex -dm_plex_filename ug_periodic.msh -dm_localize_height 1 >> >> Code and grid file are attached > > I have fixed the code. The above options should now work for you. > > Thanks, > > Matt > >> Thank you >> praveen >> >> >> >>> On 14-Dec-2022, at 6:40 PM, Matthew Knepley <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> On Wed, Dec 14, 2022 at 2:38 AM Praveen C <[email protected] >>> <mailto:[email protected]>> wrote: >>>> 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. >>> >>> Because the operations happen in a different order. If you read in your >>> mesh with >>> >>> -dm_plex_filename mymesh.gmsh -dm_localize_height 1 >>> >>> then it should work. >>> >>> Thanks, >>> >>> Matt >>> >>>> Thanks >>>> praveen >>>> >>>>> On 14-Dec-2022, at 12:51 AM, Matthew Knepley <[email protected] >>>>> <mailto:[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 >>>>>> -- >>>>>> >>>> >>> >>> >>> -- >>> What most experimenters take for granted before they begin their >>> experiments is infinitely more interesting than any results to which their >>> experiments lead. >>> -- Norbert Wiener >>> >>> https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/> > > > -- > What most experimenters take for granted before they begin their experiments > is infinitely more interesting than any results to which their experiments > lead. > -- Norbert Wiener > > https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
