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>
>> 

Reply via email to