AMReX is a publicly available software framework designed for building massively parallel block-structured adaptive mesh refinement (AMR) applications.
Key features of AMReX include:
C++ and Fortran interfaces
1-, 2- and 3-D support
Support for cell-centered, face-centered, edge-centered, and nodal data
Support for hyperbolic, parabolic, and elliptic solves on hierarchical adaptive grid structure
Optional subcycling in time for time-dependent PDEs
Support for particles
Support for embedded boundary (cut cell) representations of complex geometries
Parallelization via flat MPI, OpenMP, hybrid MPI/OpenMP, hybrid MPI/(CUDA or HIP or DPC++), or MPI/MPI
Plotfile format supported by AmrVis, VisIt, ParaView, and yt.
AMReX is developed at LBNL, NREL, and ANL as part of the Block-Structured AMR Co-Design Center in DOE’s Exascale Computing Project.