1. Introduction

The FLASH code is a modular, parallel multiphysics simulation code capable of handling general compressible flow problems found in many plasma physics experiments and astrophysical environments. It is a set of independent code units put together with a Python language setup tool to form various applications. The code is written in FORTRAN90 and C. It uses the Message-Passing Interface (MPI) library for inter-processor communication and the HDF5 or Parallel-NetCDF library for parallel I/O to achieve portability and scalability on a variety of different parallel computers. FLASH4 has three interchangeable discretization grids: a Uniform Grid, and a block-structured oct-tree based adaptive grid using the PARAMESH library, and a block-structured patch based adaptive grid using Chombo. Both PARAMESH and Chombo place resolution elements only where they are needed most.1.1The code's architecture is designed to be flexible and easily extensible. Users can configure initial and boundary conditions, change algorithms, and add new physics units with minimal effort.

For the past 20 years, the Flash Center for Computational Science has led the development of the FLASH code under the directorship (1997-2001) of Robert Rosner, William E. Wrather Distinguished Service Professor of the Department of Astronomy and Astrophysics, the Enrico Fermi Institute, and the Harris School of Public Policy at the University; under the directorship (2002-2018) of Donald Q. Lamb, Robert A. Millikan Distinguished Service Professor Emeritus of the Department of Astronomy and Astrophysics, the Enrico Fermi Institute, and the Harris School of Public Policy at the University; and under the directorship (2018-present) of Petros Tzeferacos, Associate Professor at the Department of Physics and Astronomy and Senior Scientist at the Laboratory for Laser Energetics (LLE) at the University of Rochester.

The development of the FLASH Code has been primarily funded by the U.S. DOE NNSA, initially (FLASH Code versions 2 and 3, 1998-2010) through the Academic Partnership Academic Strategic Alliances Program (ASAP) of the NNSA Accelerated Strategic Computing Initiative (ASCI) Program. The scientific goal of the Center then was to address several problems related to thermonuclear flashes on the surface of compact stars (neutron stars and white dwarfs), in particular Type Ia supernovae, and novae.

In 2010, NNSA mandated the Flash Center director to make the FLASH Code into a publicly available academic code for laser-driven High Energy Density Physics (HEDP) and to support the academic HEDP community, in particular the academic research teams accessing the Omega Laser Facility at LLE and the National Ignition Facility at Lawrence Livermore National Laboratory (LLNL). FLASH Code version 4 (2011-present) was then developed by the Flash Center, in collaboration with Los Alamos National Laboratory (LANL, beginning 2010), LLNL (beginning 2010), the Naval Research Laboratory (NRL, beginning 2010), and LLE (beginning 2012). The continued expansion of FLASH's physics and algorithmic capabilities by the Flash Center is now supported primarily by the U.S. DOE NNSA, LANL, LLNL, LLE, U.S. DOE Advanced Research Projects Agency-Energy (ARPA-E), as well as the U.S. DOE Office of Science Fusion Energy Sciences (FES), the National Science Foundation (NSF), and the Department of Defense (DOD). This expansion is in turn extending the code's applicability into different plasma regimes relevant to plasma astrophysics, HEDP, and fusion energy.

The FLASH code has become a key hydrodynamics application used to test and debug new machine architectures because of its modular structure, portability, scalability and dependence on parallel I/O libraries. It has a growing user base and has rapidly become a shared code for the astrophysics community and beyond, with hundreds of active users who customize the code for their own research.

As of October 25, 2021, the Flash Center for Computational Science is part of at the Department of Physics and Astronomy at the University of Rochester.



Subsections