Model stars and atomspheres with MAESTROeX

MAESTROeX is part of the AMReX suite of astrophysical hydrodynamics codes that collectively provide the simulation capabilities to model explosive astrophysical phenomena. MAESTROeX specializes in low Mach number stratified flows, such as convection in stars and atmospheres, where nuclear burning can be an important heat source.

Physics Capabilities

MAESTROeX solves the equations of low Mach number hydrodynamics on an adaptive grid, with support for a general equation of state, and nuclear reaction networks. The low Mach number approach allows for large timesteps to efficiently model subsonic flows.

learn more

Performance

MAESTROeX is built on the AMReX adaptive mesh refinement library, and uses an advance MPI + tiled OpenMP approach to parallelism to get great performance on modern architectures. It scales from 1 to 10,000s of cores, and is run at most national supercomputing facilities.

learn more

Science

MAESTROeX (and its predecessor MAESTRO) has been used for scientific explorations of Type Ia supernovae (the Chandra and sub-Chandra scenarios), X-ray bursts, and convection in stellar evolution.

learn more

Getting Started

a detailed walkthrough of running your first MAESTROeX problem is provided in the User's Guide

  • Clone

    git clone https://github.com/AMReX-Codes/amrex.git
    git clone https://github.com/AMReX-Astro/MAESTROeX.git
    git clone https://github.com/StarKiller-astro/Microphysics.git
  • Setup your environment

    export MAESTROEX_HOME=/path/to/MAESTROeX
    export AMREX_HOME=/path/to/amrex
    export MICROPHYSICS_HOME=/path/to/Microphysics
  • Compile

    Problems are compiled in their own directory. e.g.,
    cd MAESTROeX/Exec/TEST_PROBLEMS/reacting_bubble/
    make DIM=2 COMP=gnu
  • Run

    The executable name will start with Maestro2d, and an input file is always required:
    ./Maestro2d.gnu.ex inputs_2d_C
  • Visualize

    MAESTROeX output (BoxLib/AMReX format) is supported natively by yt, VisIt, and amrvis

The User's Guide is the best place to learn more about how MAESTROeX is organized. You can also ask for help on the MAESTROeX mailing list or post an issue on github.

Development

MAESTROeX is BSD-licensed and hosted on github. Contributions are welcomed.

MAESTROeX is written in a mix of C++ and Fortran. The main driver, memory management, and parallelization are implemented in C++ (using the AMReX framework) and the physics kernels are written in Fortran. New code features are done either on the "development" branch or in a separate feature branch and periodically merged into "main". If you want to contribute to MAESTROeX, fork the MAESTROeX git repo, make your changes, then issue a pull-request to the MAESTROeX "development" branch.

Additional physics capabilities are provided by the Microphysics git repository.