Possible Duplicate:
Is there a general-purpose library for structured grid adaptive mesh refinement?

I'm looking for a quality, open source, maintained, scalable automated mesh refinement library to integrate with a FEM library. It would be best if it could do both simplices and quads/hexes. I have a list of about a dozen but have little experience using any of them. What are the communities recommendations?


1 Answer 1


Well, I'm biased, but I would recommend deal.II. It's got the AMR plus all of the finite element stuff you'll ever need plus more documentation than you can read in a lifetime. It also scales to 10,000+ processors. It only supports quads/hexes, though. (Disclaimer: I'm the principal author of it, along with a couple dozen other co-authors from around the world.)

There are other libraries that have other combinations of feature sets:

  • libmesh: Very similar in many regards.
  • FEniCS: More targeted to higher level problem descriptions. Meant to be used on a more intuitive level. I don't know how well it supports AMR or scales to large machines.
  • There are a number of packages that are more targeted to individual kinds of problems (e.g. LifeV and OpenFOAM for fluid dynamics problems).

I will gladly let others join in to add more links to more libraries. I think that even taking into account my own bias, the ones above are what a neutral person today would want to look at.

On the other hand, if the goal is to simply have a library that can manage the adaptive mesh, possibly widely distributed, then I would recommend p4est. It's occasionally a bit clumsy in its use, but it's lightweight, well written, and scales further than any other mesh project I can think of.

  • $\begingroup$ I think he is looking for an AMR library to integrate with his own FE code. Deal.II/Libmesh would be the perfect choice otherwise. $\endgroup$
    – stali
    Jun 12, 2012 at 23:32
  • $\begingroup$ Well there is a branch of FEniCS that supports AMR but we wanted to make it more full featured. Hence the interest in AMR packages rather than FEM packages. $\endgroup$
    – aterrel
    Jun 13, 2012 at 5:37
  • $\begingroup$ @aterrel: I now realize how pointless my answer was because I didn't look who asked the question -- you of course knew all of this before. If you're only interested in AMR, have you taken a look at p4est? It's very lightweight, doesn't offer much, but has exactly the right abstractions. We use it inside deal.II for parallel computations. $\endgroup$ Jun 13, 2012 at 7:22
  • $\begingroup$ @WolfgangBangerth - I might suggest that you delete your answer or edit it to reflect your understanding of the question. $\endgroup$ Jun 13, 2012 at 8:55
  • $\begingroup$ @WolfgangBangerth Well I was hoping to see if there were any real competitors to p4est. It's probably what I will use but its good to be thorough about these things. $\endgroup$
    – aterrel
    Jun 13, 2012 at 10:52

Not the answer you're looking for? Browse other questions tagged or ask your own question.