<div dir="ltr"><div><div><div><div><div><div><div><div><div><div>Hi everyone,<br><br></div>I see that parallel IO of various input mesh formats for DMPlex is not currently supported. However, is there a way to read a custom mesh file in parallel?<br><br></div>For instance, I have a binary data file formatted like this:<br><br></div><No. of elements><br></div><No. of vertices><br></div><No. of nodes per element><br></div><Spatial dimension><br></div><Connectivity array ...<br>....><br></div><Coordinates array ...<br>....><br></div><No. of exterior nodes><br></div><List of exterior nodes ...<br><div>....><br><br></div><div>Reading this will allow me to create a DMPlex with DMPlexCreateFromDAG(). Currently, only the root process reads this binary mesh file and creates the DMPlex whereas the other processes create an empty DMPlex. Then all processes invoke DMPlexDistribute(). This one-to-all distribution seems to be a bottleneck, and I want to know if it's possible to have each process read a local portion of the connectivity and coordinates arrays and let DMPlex/METIS/ParMETIS handle the load balancing and redistribution. Intuitively this would be easy to write, but again I want to know how to do this through leveraging the functions and routines within DMPlex.<br><br></div><div>Thanks,<br></div><div>Justin<br></div></div>