Extensible Component Based Architecture for FLASH, A Massively Parallel, Multiphysics Simulation Code
A. Dubey, L.B. Reid, K. Weide, K. Antypas, M.K. Ganapathy, K. Riley,, D. Sheeler, A. Siegal

TL;DR
This paper presents FLASH3, a modular, extensible, high-performance multiphysics simulation code architecture that supports flexible component interchangeability, customization, and maintains high usability and performance for scientific applications.
Contribution
It introduces a novel component-based architecture for FLASH3 enabling modularity, extensibility, and customization without modifying core code, improving flexibility and maintainability.
Findings
Successful adoption demonstrated by user surveys in 2005 and 2007.
Enhanced flexibility through interchangeable modules and multiple implementations.
Maintains high performance and usability in complex scientific simulations.
Abstract
FLASH is a publicly available high performance application code which has evolved into a modular, extensible software system from a collection of unconnected legacy codes. FLASH has been successful because its capabilities have been driven by the needs of scientific applications, without compromising maintainability, performance, and usability. In its newest incarnation, FLASH3 consists of inter-operable modules that can be combined to generate different applications. The FLASH architecture allows arbitrarily many alternative implementations of its components to co-exist and interchange with each other, resulting in greater flexibility. Further, a simple and elegant mechanism exists for customization of code functionality without the need to modify the core implementation of the source. A built-in unit test framework providing verifiability, combined with a rigorous software maintenance…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
