Closed a-jp closed 5 years ago
PUMI can refine and coarsen an unstructured conforming mesh of tets. Support for adapting mixed meshes is fairly specific to a few applications we work with.
MFEM, without PUMI, has mature support for non-conforming (i.e., a mesh with hanging nodes) nested refinement and de-refinement.
It appears that we do have an interface for creating a distributed/parallel MFEM mesh from a PUMI mesh:
https://github.com/mfem/mfem/blob/3f1adff17d8865061ef643cabb11d7a49c5fd53c/mesh/pumi.cpp#L268-L270
and an example using this interface is here:
https://github.com/mfem/mfem/blob/3f1adff17d8865061ef643cabb11d7a49c5fd53c/examples/pumi/ex6p.cpp
Thanks for that
Hi,
I was reviewing MFEM and it would appear that they have full parallel-support for:
But it wasn't clear to me since they make heavy use of PUMI that these are in fact capabilities within the SCOREC/PUMI api and they "just" make use of them. So my question is: are those capabilities within the SCOREC/PUMI api? Or are they bespoke to MFEM? I ask because my code has a requirement for quad/hex elements and I wish to do both time dependent refinement and then (when the structures requiring refinement have advected away) coarsening.
As a second question as I'm not really sure how heavily dependent MFEM is on the SCOREC/PUMI api and hence this may also be appropriate to ask here too: if I have an apf::Mesh2 object that is distributed in memory in parallel, can I make an MFEM mesh object (sorry don't know the class name) directly from an existing apf::Mesh2 object? This would allow me to access the above capabilities within MFEM if they indeed to not reside as capabilities within PUMI.
Thanks, Andy