Journal
COMPUTER PHYSICS COMMUNICATIONS
Volume 267, Issue -, Pages -Publisher
ELSEVIER
DOI: 10.1016/j.cpc.2021.108063
Keywords
SBLI; CFD; GPUs; Finite-difference; Code-generation
Funding
- EPSRC Centre for Doctoral Training grant [EP/L015382/1]
- EPSRC Tier2 capital grant [EP/P020259/1]
- IRIDIS5 High Per-formance Computing Facility
Ask authors/readers for more resources
OpenSBLI is an open-source code-generation system for compressible fluid dynamics, written in Python, with support for high-order finite difference solving and shock-capturing. It generates a complete CFD solver in a domain specific language, OPS, enabling large-scale parallel execution on various computing architectures. The system demonstrates good weak and strong scaling on multi-GPU clusters, showcasing the efficiency of code-generation and domain specific languages for complex fluid flow simulations on emerging computing architectures.
OpenSBLI is an open-source code-generation system for compressible fluid dynamics (CFD) on heterogeneous computing architectures. Written in Python, OpenSBLI is an explicit high-order finite-difference solver on structured curvilinear meshes. Shock-capturing is performed by a choice of high-order Weighted Essentially Non-Oscillatory (WENO) or Targeted Essentially Non-Oscillatory (TENO) schemes. OpenSBLI generates a complete CFD solver in the Oxford Parallel Structured (OPS) domain specific language. The OPS library is embedded in C code, enabling massively-parallel execution of the code on a variety of high-performance-computing architectures, including GPUs. The present paper presents a code base that has been completely rewritten from the earlier proof of concept Jacobs et al. (2017) [7], allowing shock capturing, coordinate transformations for complex geometries, and a wide range of boundary conditions, including solid walls with and without heat transfer. A suite of validation and verification cases are presented, plus demonstration of a large-scale Direct Numerical Simulation (DNS) of a transitional Shockwave Boundary Layer Interaction (SBLI). The code is shown to have good weak and strong scaling on multi-GPU clusters. We demonstrate that code-generation and domain specific languages are suitable for performing efficient large-scale simulations of complex fluid flows on emerging computing architectures. (C) 2021 Elsevier B.V. All rights reserved.
Authors
I am an author on this paper
Click your name to claim this paper and add it to your profile.
Reviews
Recommended
No Data Available