AMReX is a publicly available software framework for building massively parallel block-structured AMR applications. Cell-centered, face-centered and nodal data are supported as well as particles with multiple real and/or integer attributes. Complex geometries can be represented using an embedded boundary approach, and both fluid and particle interactions with walls are enabled. Multilevel geometric multigrid solvers are included in AMReX. Parallelism is achieved using the distribution of grids to nodes using MPI as well as on-node parallelism using OpenMP on CPU-based architectures and CUDA/HIP/SYCL on GPU-accelerated machines. AMReX-based applications can interface with external libraries such as CVODE, hypre, and PETSc. Highly efficient parallel I/O for checkpoint/restart and for visualization is included; AMReX's native format is supported by tools such as Visit, Paraview, and yt.Â
Usage and applications: AMReX-based codes are widely used in a number of research areas, including accelerator modeling (WarpX), atmospheric modeling (ERF and AMRWind), compressible astrophysics (CASTRO), low Mach number astrophysics (MAESTRO), cosmology (Nyx), compressible and low Mach number combustion (PeleC and PeleLM), multiphase flow (MFIX-Exa), epidemiology (ExaEpi) and microelectronics (Artemis, FerroX, Magnex, e.g.) . In addition, DOE Base Math research in a number of areas takes advantage of the AMReX framework.