Composable Design of Multiphase Fluid Dynamics Solvers in Flash-X

Akash Dhruv
2023-12-24
Abstract:Multiphysics incompressible fluid dynamics simulations play a crucial role in understanding intricate behaviors of many complex engineering systems that involve interactions between solids, fluids, and various phases like liquid and gas. Numerical modeling of these interactions has generated significant research interest in recent decades and has led to the development of open source simulation tools and commercial software products targeting specific applications or general problem classes in computational fluid dynamics. As the demand increases for these simulations to adapt to platform heterogeneity, ensure composability between different physics models, and effectively utilize inheritance within partial differentiation systems, a fundamental reconsideration of numerical solver design becomes imperative. The discussion presented in this paper emphasizes the importance of these considerations and introduces the Flash-X approach as a potential solution. The software design strategies outlined in the article serve as a guide for Flash-X developers, providing insights into complexities associated with performance portability, composability, and sustainable development. These strategies provide a foundation for improving design of both new and existing simulation tools grappling with these challenges. By incorporating the principles outlined in the Flash-X approach, engineers and researchers can enhance the adaptability, efficiency, and overall effectiveness of their numerical solvers in the ever-evolving field of multiphysics simulations.
Computational Engineering, Finance, and Science
What problem does this paper attempt to address?
The main issues that this paper attempts to address in the simulation of multiphysics incompressible fluid dynamics include several key challenges: 1. **Adaptation to Platform Heterogeneity**: With the development of high-performance computing (HPC) technology, simulation tools need to adapt to different hardware architectures, such as CPUs and GPUs, to ensure efficient operation across various platforms. 2. **Component-Based Design**: In multiphysics simulations, different physical models need to be flexibly combined and interoperable to better simulate the solid-liquid-gas interactions in complex engineering systems. 3. **Inheritance and Extensibility**: By leveraging the inheritance relationships in systems of partial differential equations, the maintainability and extensibility of the code can be improved, making it easier to integrate new physical models and algorithms into existing simulation tools. 4. **Performance Portability**: Ensuring that simulation tools maintain high performance across different computing environments, especially in large-scale parallel computing environments. 5. **Sustainable Development**: Proposing a sustainable software design approach to cope with rapidly changing hardware architectures and increasingly complex scientific computing demands. To address these challenges, the paper introduces the design strategies of the Flash-X platform, emphasizing the importance of modularity, reusability, and high-performance computing. By adopting these design principles, researchers and engineers can enhance the adaptability, efficiency, and overall effectiveness of numerical solvers, thereby making greater progress in the field of multiphysics simulations.