TNL-LBM: Scalable lattice Boltzmann method implementation based on Template Numerical Library
摘要
The lattice Boltzmann method (LBM) is a mesoscopic numerical technique widely used for solving partial differential equations such as the Navier–Stokes equations or advection–diffusion equations. It employs discrete particle distribution functions instead of macroscopic variables, offering advantages in parallelization and scalability. This paper introduces the TNL-LBM project, an advanced computational framework that implements LBM using the Template Numerical Library (TNL). TNL-LBM is designed for high-performance, large-scale simulations of turbulent flows and is available under the MIT license. The project emphasizes modularity, efficiency, and flexibility, providing a library of fundamental components and a high-level framework for developing custom solvers. Key features include a modular architecture with pluggable components, high performance through parallel algorithms and data structures provided by TNL, and scalability across multi-core CPUs, GPU accelerators, and distributed platforms. The paper outlines the components of LBM, its computational algorithm, and the design of TNL-LBM, followed by a description of input/output components and benchmark results demonstrating its performance on the Karolina supercomputer and on a compute node based on NVIDIA Tesla H100 accelerators. The performance of TNL-LBM is also compared to other open-source LBM projects.