BoxLib Codes

a github organization devoted to codes that use the BoxLib adaptive mesh refinement library

Welcome to BoxLib Codes

BoxLib is a C++/Fortran library for block-structured adaptive mesh refinement, developed at the Center for Computational Sciences and Engineering / Lawrence Berkeley National Laboratory.

This github organization hosts a number of simulation codes that use BoxLib to manage their discretization and parallelization. Descriptions to the codes and links to their github repos are given below.

BoxLib itself can be obtained from its git repo:

$ git clone


Contributions are welcomed through github's pull-request system. Note that all new development should be done on the development branch for each code. Once accepted changes successfully pass our regression tests, the development branch will be merged to master.


Castro is a fully compressible adaptive mesh refinement radiation hydrodynamics code. Castro uses an unsplit PPM algorithm for hydrodynamics, uses a general equation of state and reaction network, and solves self-gravity (the Poisson equation) via multigrid.

It uses the C++ BoxLib library to manage the grid structure and parallelism.

More information on using Castro can be found in the Castro User's Guide.


CastroRadiation provides the flux limited diffusion solver support for the main Castro simulation code. A gray and multigroup solver are implemented.


Maestro is a low Mach number hydrodynamics code for stellar flows. Maestro solves a reformulation of the Euler equations that filters soundwaves from the system but retains the compressibility effects due to local heat release / diffusion, compositional mixing, and the background stratification of the stellar atmosphere. These effects are captured through an elliptic constraint on the velocity field.

The Maestro algorithm uses a second-order Godunov method to evolve the advective portion of the equations and an approximate projection to enforce the constraint on the velocity. Reactions are incorporated via Strang splitting.

Maestro uses the Fortran 90 portion of BoxLib to manage the grid structure and parallelism.

More information on Maestro can be found on its project page, and full details are given in the Maestro User's Guide.


Microphysics contains reaction networks, equations of state, and other physics routines that are written in a general fashion so that they can be used both by Maestro and Castro.


Nyx is an N-body hydro cosmological simulation code. Nyx uses an unsplit PPM algorithm for hydrodynamics, and solves the Poisson equation for self-gravity using multigrid.

It uses the C++ BoxLib library to manage the grid structure and parallelism. MPI and OpenMP can be used separately or together.

More information on using Nyx can be found in the Nyx User's Guide.


Varden is a adaptive mesh, variable-density incompressible solver that uses a second-order approximate projection method. It uses the Fortran BoxLib library to manage the grid.


wdmerger contains the problem setup and analysis routines to simulate merging white dwarfs with Castro.