Compressible Astrophysics: CASTRO
This is an animation of nucleosynthesis in a Type Ia supernovae from a simulation run by
at UC Santa Cruz. This movie was created using the VisIt visualization software.
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
To get a copy of the latest version of the CASTRO repository using git, please visit our
If you do not have git and would like us to send you a tar ball, please contact
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.
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.
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)
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
CASTRO Users' Guide
The CASTRO user's guide is available
The CASTRO software is based on the hybrid C++/Fortran
BoxLib software framework developed
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,"
"Induced Rotation in Three-Dimensional Simulations of Core-Collapse Supernovae: Implications for Pulsar Spins,"
Astrophysical Journal, 732, 57, 2011.
C. C. Joggerst, Daniel Whalen,
"The Early Evolution of Primordial Pair-Instability Supernovae,"
submitted to Astrophysical Journal,
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]
"Dimension as a Key to the Neutrino Mechanism of Core-Collapse Supernova Explosions,"
Astrophysical Journal, 720, 694, Sept. 2010.
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
"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.
"Multi-Dimensional Simulations of Pair-Instability Supernovae",
Computer Physics Communications, 182:1, 254-256, January 2011.
Posters Using CASTRO
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.
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.
As part of the SciDAC Computational Astrophysics Consortium,
CCSE, in collaboration with
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.
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
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
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.
AMR in CASTRO
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.
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
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
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.