Block-Structured AMR Software Framework
AMReX: Technical Reference

Welcome to AMReX's Technical Reference

This document provide searchable low-level information useful for developers and experienced users.


AMReX is a software framework containing all the functionality to write massively parallel, block-structured adaptive mesh refinement (AMR) applications. AMReX is freely available on Github at AMReX-Codes/amrex.

AMReX is developed at LBNL, NREL, and ANL as part of the Block-Structured AMR Co-Design Center in DOE’s Exascale Computing Project.


All of AMReX’s development is done in the github repository under the development branch; anyone can see the latest updates. A monthly release is tagged at the beginning of each month.


We are always happy to have users contribute to the AMReX source code. To contribute, issue a pull request against the development branch (details here). Any level of changes are welcomed: documentation, bug fixes, new test problems, new solvers, etc. To obtain help, simply post a discussion or an issue on the AMReX GitHub webpage.

Tutorials for New Users

There are small stand-alone example codes that demonstrate how to use different parts of the AMReX functionality. The source code for these tutorials can be found at AMReX Tutorials. Accompanying documentation for these tutorial codes is at Tutorials Documentation.

AMReX Explained

For users who are starting out on their own development, additional documentation is provided at AMReX Source Documentation. In these docs you will find a thorough introduction and discussion of AMReX features.

Migration from BoxLib

Documentation on migration from BoxLib is available in the AMReX repository at Docs/Migration.