AMReX is a software framework containing all the functionality to write massively parallel, block-structured adaptive mesh refinement (AMR) applications.

Development of AMReX is centered at LBNL with contributions from NREL and ANL. All three labs are part of the DOE Exascale Computing Project's Block-Structured AMR Co-Design Center.


Key features of AMReX include:
  • Primarily C++ with Fortran interfaces available
  • Support for 1D, 2D and 3D
  • Support for cell-centered, face-centered, edge-centered, and nodal data
  • Support for particles and particle-mesh operations
  • Support for embedded boundary (cut cell) representations of complex geometries
  • Support for hyperbolic, parabolic, and elliptic solves on hierarchical adaptive grid structure
  • Optional subcycling in time for time-dependent PDEs
  • Hybrid parallelization strategy including MPI, OpenMP, OpenACC and CUDA support
  • Highly efficient parallel I/O, including native and hdf5 format
  • Plotfile format supported by AmrVis, VisIt, ParaView, and yt.

    AMReX Source & Documentation

    AMReX is publicly available at

    Extensive documentation is availble at

  • AMReX Core Development Team

  • Weiqun Zhang

  • Andrew Myers

  • Kevin Gott