[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