AMReX-Astro Microphysics

AMReX-Astro Microphysics is a collection of microphysics routines (equations of state, reaction networks, …) and utilities (ODE integrators, NSE solvers) for astrophysical simulation codes.

The original design was to support codes based on the AMReX adaptive mesh refinement library [1], including CASTRO [2], MAESTROeX [3], and, later, Quokka [4]. These all have a consistent interface and the separate Microphysics repository allows them to share the same equation of state, reaction networks, and more.

Microphysics is written in C++ as a (mostly) header-only library, making extensive use of templating and C++ constexpr features to be performant on both CPU and GPU architectures. It is compatible with both NVIDIA CUDA and AMD HIP/ROCm.

While there are a number of unit tests that exercise the functionality, Microphysics is primarily intended to be used along with another simulation code. At the moment, the interfaces and build stubs are compatible with the AMReX codes and use the AMReX build system.

Note

A number of the routines contained here we authored by other people. We bundle them here with permission, usually changing the interfaces to be compatible with our standardized interface. We in particular thank Frank Timmes for numerous reaction networks and his equation of state routines.