Enable your science with Castro

Castro is part of the AMReX suite of astrophysical hydrodynamics codes that collectively provide the simulation capabilities to model explosive astrophysical phenomena. Castro specializes in near-sonic and supersonic flows, where reactions can be an important driver of the dynamics. Radiation and magnetic contributions are supported. A lot of emphasis is placed on accurately coupling reactions and hydro, with a variety of time-stepping techniques available.

Physics Capabilities

Castro solves the equations of hydrodynamics on an adaptive grid, with support for a general equation of state, nuclear reaction networks, rotation, and full self-gravity. Radiation hydrodynamics through a multigroup flux-limited diffusion approximation is also supported.

learn more

Performance

Castro is built on the AMReX adaptive mesh refinement library, and uses an advance MPI + tiled OpenMP, MPI + CUDA (NVIDIA GPUs), or MPI + HIP (AMD GPUs) approach to parallelism to get great performance on modern architectures. It scales from 1 to 100,000 cores and to 1000s of GPUs and is run at most national supercomputing facilities.

learn more

Science

Castro has been used for scientific explorations of Type Ia supernovae (the Chandra, sub-Chandra, and merging white dwarf scenarios), core-collapse supernovae, pair instability supernovae, and X-ray bursts.

learn more

Getting Started

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

Development

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

Castro is written in a mostly in C++ (with a few Fortran kernels). The main driver, memory management, and parallelization are handled by the AMReX framework. New code features are done either on the "development" branch or in a separate feature branch and periodically merged into "master". If you want to contribute to Castro, clone the Castro git repo, make your changes on "development" and then issue a pull-request to the Castro "development" branch.

Additional physics capabilities are provided by the Microphysics git repository.