AMReX Introduction

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 SYCL), or MPI/MPI

  • Parallel I/O

  • 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.