[petsc-users] ParMmg crashes when run in parallel: Assertion failed: (isfinite(dd)), function PMMG_hashNorver_normals, file analys_pmmg.c, line 1072

Zongze Yang yangzongze at gmail.com
Mon Oct 7 11:47:51 CDT 2024


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 <pierre at 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 <yangzongze at 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 <pierre at 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 <yangzongze at gmail.com <mailto:yangzongze at 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>
>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20241008/0232ff18/attachment-0001.html>


More information about the petsc-users mailing list