Adaptive mesh refinement (AMR) is a common technique for dealing with the problem of widely varying spatial scales in the numerical solution of PDEs. What general-purpose libraries exist for AMR on structured grids? Ideally I'd like something in the spirit of PETSc, where the library handles just the adaptive meshes and I provide the physics and discretization (finite difference/volume/element).
The ideal library would be
- Modular: doesn't dictate how I write my code or too much of my data structures
- General: doesn't care what kind of discretization I'm using
- Efficient: doesn't incur too much overhead
- Parallel and highly scalable
Libraries that fit only a subset of these criteria would still be of interest.
Addendum: I am aware of Donna Calhoun's extensive list of AMR packages, but I don't know which of them (if any) fit the criteria above. So I'm mainly interested in hearing from people who have actual experience with one or (better yet) more packages, as to how they measure up in those terms.