Welcome to grackle’s documentation!

Grackle is a chemistry and radiative cooling library for astrophysical simulations with interfaces for C, C++, and Fortran codes. It is a generalized and trimmed down version of the chemistry network of the Enzo simulation code. Grackle provides:

  • two options for primordial chemistry and cooling:

    1. non-equilibrium primordial chemistry network for atomic H, D, and He as well as H2 and HD, including H2 formation on dust grains.
    2. tabulated H and He cooling rates calculated with the photo-ionization code, Cloudy.
  • tabulated metal cooling rates calculated with Cloudy.

  • photo-heating and photo-ionization from two UV backgrounds:

The Grackle provides functions to update chemistry species; solve radiative cooling and update internal energy; and calculate cooling time, temperature, pressure, and ratio of specific heats (gamma).



If you have any questions, please join the Grackle Users Google Group. Feel free to post any questions or ideas for development.

Citing grackle

The Grackle library was born out of the chemistry and cooling routines of the Enzo simulation code. As such, all of those who have contributed to Enzo development, and especially to the chemistry and cooling, have contributed to the Grackle. There is currently no paper that specifically presents the Grackle library on its own, but the functionality was fully described in the Enzo method paper. The Grackle was originally designed for the AGORA Project and first referred to by name in the AGORA method paper.

If you used the Grackle library in your work, please cite it as “the Grackle chemistry and cooling library (The Enzo Collaboration et al. 2014; Kim, J. et al. 2014).” Also, please add a footnote to https://grackle.readthedocs.org/.

The Enzo Collaboration, Bryan, G. L., Norman, M. L., et al. 2014, ApJS, 211, 19

Kim, J.-h., Abel, T., Agertz, O., et al. 2014, ApJS, 210, 14