Dear community,
I have a 3D mesh of a heart domain and added closure tetrahedral elements at the openings, see the XDMF file (on OneDrive, only 628 nodes but too large to paste due to line limit, unfortunately I couldn’t reproduce the error with a smaller mesh):
https://1drv.ms/u/s!Av9sdVNHKsLOgXkS6g8ygk9r7AZz?e=CEZYJu
I’ve checked the mesh back and forth and it looks good. Problem now occurs when reading the mesh, and afterwards creating a connectivity prior to reading subsequent boundary information.
The following MWE fails when executing on 2 cores:
#!/usr/bin/env python3
from dolfinx.io import XDMFFile
from mpi4py import MPI
comm = MPI.COMM_WORLD
with XDMFFile(comm, 'lid.xdmf', 'r', encoding=XDMFFile.Encoding.ASCII) as infile:
mesh = infile.read_mesh(name="Grid")
mt_d = infile.read_meshtags(mesh, name="Grid")
# prior to reading a boundary topology:
mesh.topology.create_connectivity(2, mesh.topology.dim)
yielding a double free or corruption (out) with dolfinx Docker image from 25 Feb 2021.
Executing on one core works fine, and when removing the lids (so all elements with Attribute #2) there is also no problem. The error comes from the create_connectivity command.
Can anyone execute this MWE on more than one core without the error? Does anybody have an idea what happens? I know that these lid elements are only connected to the rest via edge, and not face. But that should in principle not be problematic (?).
I’d greatly appreciate any help with this.
Best,
Marc