Enable your science with Castro

Castro is part of the BoxLib suite of astrophysical hydrodynamics codes that collectively provide the simulation capabilities to model explosive astrophysical phenomena. Castro specializes in supersonic flows, where radiation can be an important driver of the dynamics.

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 BoxLib 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 100,000 cores, 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, and pair instability supernovae.

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 mix of C++ and Fortran. The main driver, memory management, and parallelization are implemented in C++ (using the BoxLib 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 "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 CastroRadiation and Microphysics git repositories.