Thanks! I’ll try using Mmg for smaller meshes. Once I reach a mesh scale of a couple of million tetrahedra and if the error persists, I will get back to you.
I appreciate your guidance! Best wishes, Zongze > On 8 Oct 2024, at 00:35, Pierre Jolivet <pie...@joliv.et> wrote: > > The ParMmg developers have the following rule of thumb: if the adaptation > process takes less than 10 minutes, stick to Mmg. > I have experimented on numerous occasions that this is indeed a good rule. > Once you have reached such a scale (that’s about a couple of millions of > tetrahedra, at least how we do it in FreeFEM without DMPlex) and the error > persists, please let me know. > > Thanks, > Pierre > >> On 7 Oct 2024, at 6:12 PM, Zongze Yang <yangzon...@gmail.com> wrote: >> >> >> Hi Pierre, >> >> Thank you for the advice. I will look into implementing it as suggested. >> >> This is just a toy example; the mesh may be larger in the actual >> calculations. >> >> Best wishes, >> Zongze >> >>> On 7 Oct 2024, at 23:34, Pierre Jolivet <pie...@joliv.et> wrote: >>> >>> Your mesh is tiny, you should not use ParMmg but plain Mmg instead which is >>> much more robust. >>> I don’t know how easy it is to do with DMPlex though (gather a DM and a >>> metric on a single process), especially from the command line. >>> >>> Thanks, >>> Pierre >>> >>>> On 7 Oct 2024, at 4:46 PM, Zongze Yang <yangzon...@gmail.com >>>> <mailto:yangzon...@gmail.com>> wrote: >>>> >>>> Hi PETSc team, >>>> >>>> I noticed that the ParMmg interface for overlap >>>> (https://urldefense.us/v3/__https://gitlab.com/petsc/petsc/-/merge_requests/7593__;!!G_uCfscf7eWS!bh5eQHxA8QXn10TtTUOI5lmjFbfxFBtZz9CQoiYgyZSR7oDMYp8NK2HHP2UaWRXmU82ddDBpMx3ctAfX8GFQAuL_$ >>>> ) has been fixed. I tried using the updated version in my code, but it >>>> did not perform as expected when refining the attached mesh (or fine mesh >>>> of the same geometry) in parallel. >>>> >>>> Here are the details output: The first two sequential runs work correctly. >>>> However, when running the code in parallel without refinement, some >>>> warnings are generated. After refining the mesh in parallel, the code >>>> crashes. >>>> >>>> ``` >>>> ❯ mpiexec -n 1 python test_adapt.py -dm_adaptor parmmg >>>> >>>> ❯ mpiexec -n 1 python test_adapt.py -dm_adaptor parmmg -refine 1 >>>> >>>> ❯ mpiexec -n 2 python test_adapt.py -dm_adaptor parmmg >>>> ## Warning: MMG5_interpreg_ani: 608: unexpected case (null normal), >>>> impossible interpolation. >>>> >>>> ## Warning: MMG5_movbdyregpt_ani: unable to compute optimal position for >>>> at least 1 point. >>>> ## Warning: MMG5_interpreg_ani: 608: unexpected case (null normal), >>>> impossible interpolation. >>>> >>>> ## Warning: MMG5_movbdyregpt_ani: unable to compute optimal position for >>>> at least 1 point. >>>> >>>> ❯ mpiexec -n 2 python test_adapt.py -dm_adaptor parmmg -refine 1 >>>> Assertion failed: (isfinite(dd)), function PMMG_hashNorver_normals, file >>>> analys_pmmg.c, line 1072. >>>> Assertion failed: (isfinite(dd)), function PMMG_hashNorver_normals, file >>>> analys_pmmg.c, line 1072. >>>> >>>> =================================================================================== >>>> = BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES >>>> = PID 22704 RUNNING AT yzzs-mac.local >>>> = EXIT CODE: 6 >>>> = CLEANING UP REMAINING PROCESSES >>>> = YOU CAN IGNORE THE BELOW CLEANUP MESSAGES >>>> =================================================================================== >>>> YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Abort trap: 6 (signal 6) >>>> This typically refers to a problem with your application. >>>> Please see the FAQ page for debugging suggestions >>>> >>>> >>>> ❯ mpiexec -n 2 python test_adapt.py -dm_adaptor parmmg -overlap >>>> ## Warning: MMG5_interpreg_ani: 608: unexpected case (null normal), >>>> impossible interpolation. >>>> >>>> ## Warning: MMG5_movbdyregpt_ani: unable to compute optimal position for >>>> at least 1 point. >>>> ## Warning: MMG5_interpreg_ani: 608: unexpected case (null normal), >>>> impossible interpolation. >>>> >>>> ## Warning: MMG5_movbdyregpt_ani: unable to compute optimal position for >>>> at least 1 point. >>>> >>>> >>>> ❯ mpiexec -n 2 python test_adapt.py -dm_adaptor parmmg -overlap -refine >>>> Assertion failed: (isfinite(dd)), function PMMG_hashNorver_normals, file >>>> analys_pmmg.c, line 1072. >>>> Assertion failed: (isfinite(dd)), function PMMG_hashNorver_normals, file >>>> analys_pmmg.c, line 1072. >>>> >>>> =================================================================================== >>>> = BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES >>>> = PID 25424 RUNNING AT yzzs-mac.local >>>> = EXIT CODE: 6 >>>> = CLEANING UP REMAINING PROCESSES >>>> = YOU CAN IGNORE THE BELOW CLEANUP MESSAGES >>>> =================================================================================== >>>> YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Abort trap: 6 (signal 6) >>>> This typically refers to a problem with your application. >>>> Please see the FAQ page for debugging suggestions >>>> ``` >>>> >>>> The mesh geometry is a cylinder with an interface. The geometry file of >>>> gmsh, the mesh file, and the code are attached. Could someone take a look >>>> and help identify the issue? >>>> >>>> Thank you! >>>> >>>> Best regards, >>>> Zongze >>>> >>>> <cylinder_test.msh> >>>> <test_adapt.py> >>>> <geometry.png> >>>> <cylinder.geo> >>