[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:11:19 CDT 2024


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/f848dd67/attachment-0001.html>


More information about the petsc-users mailing list