Abstract
FLASH is a flexible, modular and parallel application code capable of simulating the compressible, reactive flows found in many astrophysical environments. It is a collection of inter-operable modules which can be combined to generate different applications. FLASH is gaining increasing recognition as a community code with a fairly wide external user base. Unlike other component-based codes that have historically met with varying degrees of success. FLASH started out as a more traditional scientific code and evolved into a modular one as insights were gained into manageability, extensibility and efficiency. As a result, the development of the code has been, and continues to be, driven by the dual goals of application requirements and modularity. In this tutorial paper, we give an overview of the FLASH code architecture and capabilities. We also include an example of a customized application adapted from the sample applications provided with the code distribution.