GPU-based compressible lattice Boltzmann simulations on non-uniform grids using standard C++ parallelism: From best practices to aerodynamics, aeroacoustics and supersonic flow simulations
arXiv:2504.04465 · doi:10.1016/j.cpc.2025.109833
Abstract
Despite decades of research, creating accurate, robust, and efficient lattice Boltzmann methods (LBM) on non-uniform grids with seamless GPU acceleration remains challenging. This work introduces a novel strategy to address this challenge by integrating simple yet effective components: (1) parallel algorithms in modern C++, (2) conservative cell-centered grid refinement, (3) local boundary conditions, and (4) robust collision models. Our framework supports multiple lattices (D2Q9, D2Q13, D2Q21, D2Q37, D3Q27, etc) tailored to various flow conditions. It includes collision models with polynomial and numerical equilibria, a second distribution for polyatomic behavior, a Jameson-like shock sensor, and generalizes Rohde's refinement strategy. The framework's accuracy and robustness is validated across diverse benchmarks, including lid-driven cavity flows, Aeolian noise, 30P30N airfoil aerodynamics, inviscid Riemann problems, and viscous flows past a NACA airfoil in transonic and supersonic regimes. Modern C++ further enables our framework to reach GPU-native performance, while ensuring high portability, modularity, and ease of implementation. Notably, weakly compressible LBMs achieve state-of-the-art GPU efficiency on non-uniform grids, while fully compressible LBMs benefit from acceleration equivalent to thousands of CPU cores in the most compute-intensive cases. Our advanced performance models incorporate neighbor-list and asynchronous time-stepping effects, providing new insights into the performance decomposition of LB simulations on non-uniform grids. Overall, this study sets a new standard for portable, tree-based LBMs, demonstrating that a combination of well-chosen components can achieve high performance, accuracy, and robustness across various flow conditions. As a final proof-of-concept, adaptive mesh refinement is proposed for subsonic and supersonic applications.
under review
References in corpus (17)
- Discrete unified gas kinetic scheme for all Knudsen number flows: II. Compressible case
- Efficient kinetic method for fluid simulation beyond the Navier-Stokes equation
- AMReX: Block-Structured Adaptive Mesh Refinement for Multiphysics Applications
- waLBerla: A block-structured high-performance framework for multiphysics simulations
- Modeling realistic multiphase flows using a non-orthogonal multiple-relaxation-time lattice Boltzmann method
- Multiphysics flow simulations using D3Q19 lattice Boltzmann methods based on central moments
- OpenSBLI: Automated code-generation for heterogeneous computing architectures applied to compressible fluid dynamics on structured grids
- Analysis and reduction of spurious noise generated at grid refinement interfaces with the lattice Boltzmann method
- Cross-platform programming model for many-core lattice Boltzmann simulations
- Linear stability of athermal regularized lattice Boltzmann methods
- Hermite regularization of the Lattice Boltzmann Method for open source computational aeroacoustics
- Compressible lattice Boltzmann methods with adaptive velocity stencils: An interpolation-free formulation
- The Athena++ Adaptive Mesh Refinement Framework: Multigrid Solvers for Self-Gravity
- Regularized characteristic boundary conditions for the Lattice-Boltzmann methods at high Reynolds number flows
- A positivity-preserving and conservative high-order flux reconstruction method for the polyatomic Boltzmann--BGK equation
- GPU-Native Adaptive Mesh Refinement with Application to Lattice Boltzmann Simulations
- Portability of Fortran's `do concurrent' on GPUs