Compressible Astrophysics: CASTRO

Type Ia Supernova This is an animation of nucleosynthesis in a Type Ia supernovae from a simulation run by Haitao Ma at UC Santa Cruz. This movie was created using the VisIt visualization software.

CASTRO Contributors

We would like to gratefully acknowledge the direct contributions to the CASTRO code by:

  • Mike Zingale, Stonybrook University
  • Max Katz, Stonybrook University -- multipole boundary conditions

  • CASTRO Download

    To get a copy of the latest version of the CASTRO repository using git, please visit our Downloads page. If you do not have git and would like us to send you a tar ball, please contact Ann Almgren.

    CASTRO Email Support List

    We have set up a mailing list for CASTRO users to communicate with one another and with the developers. We will be using this list to announce new features in CASTRO, as well as any changes in CASTRO or BoxLib which may affect people running the CASTRO code.

    To use the list, you subscribe here:

    You can e-mail everyone on the list by sending to

    Any e-mails from the list will have a subject starting with "[Castro-help]" so you can easily filter those.

    To see past conversations, the archives are here:

    Please encourage anyone who is interested in CASTRO to use this list, as it will make supporting the code easier for everyone.

    CASTRO Papers

    A. S. Almgren, V.E. Beckner, J.B. Bell, M.S. Day, L.H. Howell, C.C. Joggerst, M.J. Lijewski, A. Nonaka, M. Singer, M. Zingale, "CASTRO: A New Compressible Astrophysical Solver. I. Hydrodynamics and Self-Gravity", Astrophysical Journal, 715, 1221-1238, June 2010. [pdf] [IOP] [arxiv]

    W. Zhang, L. Howell, A. Almgren, A. Burrows, and J. Bell "CASTRO: A New Compressible Astrophysical Solver. II. Gray Radiation Hydrodynamics", Astrophysical Journal Supplement Series, 196, 20, (2011) [pdf]

    Weiqun Zhang, L. Howell, A. Almgren, A. Burrows, J. Dolence, J. Bell, "CASTRO: A New Compressible Astrophysical Solver. III. Multigroup Radiation Hydrodynamics", Astrophysical Journal, to appear [pdf]

    CASTRO Users' Guide

    The CASTRO user's guide is available here.

    Software Framework

    The CASTRO software is based on the hybrid C++/Fortran BoxLib software framework developed by CCSE.

    Additional Publications Using CASTRO

    Haitao Ma, Stan Woosley, Chris Malone, Ann Almgren, and J.B. Bell, "Carbon Deflagration in Type Ia Supernovae: I. Centrally Ignited Models", Astrophysical Journal, to appear.

    Adam Burrows, Joshua C. Dolence, Jeremiah W. Murphy, "An Investigation into the Character of Pre-Explosion Core-Collapse Supernova Shock Motion," [arxiv].

    Emmanouela Rantsiou, A. Burrows, J. Nordhaus, Ann Almgren, "Induced Rotation in Three-Dimensional Simulations of Core-Collapse Supernovae: Implications for Pulsar Spins," Astrophysical Journal, 732, 57, 2011. [arxiv].

    C. C. Joggerst, Daniel Whalen, "The Early Evolution of Primordial Pair-Instability Supernovae," submitted to Astrophysical Journal, [arxiv].

    A. Almgren, J. Bell, D. Kasen, M. Lijewski, A. Nonaka, P. Nugent, C. Rendleman, R. Thomas, M. Zingale, "MAESTRO, CASTRO and SEDONA -- Petascale Codes for Astrophysical Applications," SciDAC 2010, J. of Physics: Conference Series, Chattanooga, Tennessee, July 2010. [arxiv]

    J. Nordhaus, A. Burrows, A. Almgren, and J. Bell, "Dimension as a Key to the Neutrino Mechanism of Core-Collapse Supernova Explosions," Astrophysical Journal, 720, 694, Sept. 2010. [arxiv].

    C. C. Joggerst, A. Almgren, and S. E. Woosley, "Three-dimensional simulations of Rayleigh-Taylor mixing in core collapse supernovae with CASTRO", Astrophysical Journal, 723, 353, October 2010.

    C. C. Joggerst, A. Almgren, J. Bell, Alexander Heger, Daniel Whalen, and S. E. Woosley, "Primordial Core-Collapse Supernovae and the Chemical Abundances of Metal-Poor Stars," Astrophysical Journal, 709, 11-26, January 2010 [arxiv].

    Ke-Jung Chen, Alexander Heger, and Ann Almgren, "Two Dimensional Simulations of Pair-Instability Supernovae", Conference on The First Stars and Galaxies: Challenges for the Next Decade, Austin, Texas, March 8-11, 2010, Conference Proceedings published by the American Institute of Physics. [AIP]

    Ke-Jung Chen, Alexander Heger, and Ann Almgren, "Multi-Dimensional Simulations of Pair-Instability Supernovae", Computer Physics Communications, 182:1, 254-256, January 2011. [arxiv]

    Posters Using CASTRO

    Ke-Jung Chen, Alexander Heger, Ann Almgren, and Shuxia Zhang, "Simulations of Thermonuclear Supernovae of Very Massive Stars," winner of a MSI 25th Anniversary Research Exhibition poster award. [pdf]

    A. Almgren, J. Bell, M. Day, L. Howell, C. Joggerst, E. Myra, A. Nonaka, J. Nordhaus, M. Singer, and M. Zingale, "CASTRO: A New AMR Radiation-Hydrodynamics Code for Compressible Astrophyics, presented at the American Astronomical Society (AAS) Meeting in Washington D.C., January 3--7, 2010. [pdf]


    As part of the SciDAC Computational Astrophysics Consortium, CCSE, in collaboration with Louis Howell and Mike Singer at LLNL, have developed CASTRO, a new multi-dimensional Eulerian AMR radiation-hydrodynamics code that includes stellar equations of state, nuclear reaction networks, and self-gravity. Initial target applications for CASTRO include Type Ia and Type II supernovae.

    Coordinate Systems

    CASTRO supports calculations in 1-d, 2-d and 3-d Cartesian coordinates, as well as 1-d spherical and 2-d cylindrical (r-z) coordinate systems.


    Time integration of the hydrodynamics equations is based on an unsplit version of the the piecewise parabolic method (PPM) with new limiters that avoid reducing the accuracy of the scheme at smooth extrema.

    Equation of State

    CASTRO can follow an arbitrary number of isotopes or elements. The atomic weights and amounts of these elements are used to calculate the mean molecular weight of the gas required by the equation of state.

    Nuclear Reaction Networks

    CASTRO has a number of nuclear reaction networks available with the code. The reactions are included in the time integration scheme in a second-order accurate operator-split formulation (Strang splitting).

    Radiation in CASTRO

    For more information about the radiation component of CASTRO, see Paper II and Paper III that describe the implementation and performance of single-group and multigroup radiation in CASTRO.


    CASTRO supports several different approaches to solving for self-gravity. The most general is a full Poisson solve for the gravitational potential. In this case, the user controls the choice of boundary conditions for the gravitational potentialat ''outflow'' boundaries, either homogeneous Dirichlet, or calculated from a monopole approximation at the coarsest level.

    CASTRO also supports a monopole approximation for gravity. For the monopole approximation, a radial average of the density is computed from the full grid to create a one-dimensional density profile. This profile is then used to compute a one-dimensional gravitational potential which is then mapped back onto the full grid.

    A constant gravity option is also available, where the user specifies the magnitude of the gravitational vector and the direction is assumed to align with the y-axis in 2-d, and the z-axis in 3-d.


    Our approach to adaptive refinement in CASTRO uses a nested hierarchy of logically-rectangular grids with simultaneous refinement of the grids in both space and time. The integration algorithm on the grid hierarchy is a recursive procedure in which coarse grids are advanced in time, fine grids are advanced multiple steps to reach the same time as the coarse grids and the data at different levels are then synchronized. The AMR methodology was introduced by Berger and Oliger (1984) for hyperbolic problems; it has been demonstrated to be highly successful for gas dynamics by Berger and Colella (1989) in two dimensions and by Bell et al. (1994) in three dimensions. During the regridding step, increasingly finer grids are recursively embedded in coarse grids until the solution is sufficiently resolved. An error estimation procedure based on user-specified criteria evaluates where additional refinement is needed and grid generation procedures dynamically create or remove rectangular fine grid patches as resolution requirements change.


  • Amrvis2d and Amrvis3d are visualization tools developed by CCSE particularly for the BoxLib style of plotfile which CASTRO generates. A particularly useful feature in AmrVis is View/Dataset, which allows you to actually view the data -- not just a color or contour plot -- this can be handy for debugging. You can modify how many levels of data you want to see, whether you want to see the grid boxes or not, what palette you use, etc.

  • VisIt is also a great visualization tool, and it directly handles our plotfile format (which it calls Boxlib). For more information check out the VisIt home page.

  • Plotting 1-d results doesn't require Amrvis or VisIt; for these we use a 1-d plotting capability installed by Mike Singer in CASTRO, which generates files in plain format, or formats compatiable with gnuplot or xmgrace, as specified by the user.
  • Software Framework

    The CASTRO software is written in C++ and Fortran, and is based on the BoxLib software framework developed by CCSE. If you are interested in becoming a CASTRO user, please contact Ann Almgren.


    Contact Ann Almgren.


    The work at LBNL was supported by the Office of High Energy Physics and the Office of Mathematics, Information, and Computational Sciences as part of the SciDAC Program under the U.S. Department of Energy under contract No. DE-AC02-05CH11231.

    The work performed at LLNL was under the auspices of the U.S. Department of Energy under contract No. DE-AC52-07NA27344.

    Mike Zingale was supported by Lawrence Livermore National Lab under contracts B568673, B574691, and B582735.

    We thank Haitao Ma, Jason Nordhaus and Ken Chen for being patient early users of CASTRO.