-
Dear MFEM developers and community, I am a new MFEM user, and by the way, let me thank you very much for making this excellent project available to us all!! I understand that MFEM's philosophy (and library interface) pushes the user to read relatively small meshes serially from the disk, and refine them later by MFEM itself (first serially and then in parallel). Would there be a way to have MFEM read big (possibley curved and non-conforming) meshes in parallel? What I mean, is that I would like to somehow create a huge partitioned mesh, and have MFEM read it in parallel so I do not hit a memory limitation. I know that there is no way this can be done programmatically (I did not find a ParMesh constructor or method which allows something like that), so reading the parallel mesh from (possibly many files on) disk is also a viable option. I saw in an example that MFEM can output the mesh in a collection of files for checkpointing, but the format specification of these files is not completely clear to me. It is also mentioned on the website that MFEM's mesh v1.2 format has support for parallel meshes, but I could not find the specification for this format either. Any advice would be greately appreciated. Thanks in advance! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hi @dk2048, Parallel meshes can be read using this constructor: Lines 238 to 240 in f4a99fa The corresponding write method is: Lines 387 to 388 in f4a99fa For non-conforming meshes (meshes with hanging nodes) the format is described here: https://mfem.org/mesh-formats/#mfem-nc-mesh-v10 -- this supports both serial and parallel meshes. For the conforming case, the format is not described on the website, however, it is not too hard to follow the contents, as it is written by the output method here (parallel portion): Line 5525 in f4a99fa and here (serial portion, very similar to MFEM mesh v1.0: https://mfem.org/mesh-formats/#mfem-mesh-v10): Line 9313 in f4a99fa Of course, if you have any questions regarding the details, we will be happy to answer them. |
Beta Was this translation helpful? Give feedback.
Hi @dk2048,
Parallel meshes can be read using this constructor:
mfem/mesh/pmesh.hpp
Lines 238 to 240 in f4a99fa
The corresponding write method is:
mfem/mesh/pmesh.hpp
Lines 387 to 388 in f4a99fa
For non-conforming meshes (meshes with hanging nodes) the format is described here: https://mfem.org/mesh-formats/#mfem-nc-mesh-v10 -- this supports both serial a…