{"title":"CooLBM: A GPU-accelerated collaborative open-source reactive multi-phase/component simulation code via lattice Boltzmann method","authors":"R. Alamian , A.K. Nayak , M.S. Shadloo","doi":"10.1016/j.cpc.2025.109711","DOIUrl":null,"url":null,"abstract":"<div><div>The current work presents a novel <em>COllaborative Open-source Lattice Boltzmann Method</em> framework, so-called <em>CooLBM</em>. The computational framework is developed for the simulation of single and multi-component multi-phase problems, along with a reactive interface and conjugate fluid-solid heat transfer problems. CooLBM utilizes a multi-CPU/GPU architecture to achieve high-performance computing (HPC), enabling efficient and parallelized simulations for large scale problems. The code is implemented in C++ and makes extensive use of the Standard Template Library (STL) to improve code modularity, flexibility, and re-usability. The developed framework incorporates advanced numerical methods and algorithms to accurately capture complex fluid dynamics and phase interactions. It offers a wide range of capabilities, including phase separation, interfacial tension, and mass transfer phenomena. The reactive interface simulation module enables the study of chemical reactions occurring at the fluid-fluid interface, expanding its applicability to reactive multi-phase systems. The performance and accuracy of CooLBM are demonstrated through various benchmark simulations, showcasing its ability to capture intricate fluid behaviors and interface dynamics. The modular structure of the code allows for easy customization and extension, facilitating the implementation of additional models and boundary conditions. Finally, CooLBM provides visualization tools for the analysis and interpretation of simulation results. Overall, CooLBM offers an efficient computational framework for studying complex multi-phase systems and reactive interfaces, making it a valuable tool for researchers and engineers in several fields including, but not limited to chemical engineering, materials science, and environmental engineering. CooLBM is available under open source initiatives for scientific communities in the gitlab repository: <span><span>https://gitlab.coria-cfd.fr/lbm/coolbm</span><svg><path></path></svg></span>.</div></div><div><h3>Program summary</h3><div><em>Program Title:</em> CooLBM: A GPU-Accelerated Collaborative Open-Source Reactive Multi-Phase/Component Simulation Code via Lattice Boltzmann Method</div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/79p5z26scz.1</span><svg><path></path></svg></span></div><div><em>Developer's repository link:</em> <span><span>https://gitlab.coria-cfd.fr/lbm/coolbm</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> GNU GPLv3</div><div><em>Programming language:</em> C++</div><div><em>Nature of problem:</em> Multi-phase and multi-component reactive flows are fundamental to numerous industrial and engineering applications, including combustion systems, energy storage, and environmental processes. These flows often exhibit complex interactions across multiple spatial and temporal scales, requiring numerical modeling to accurately capture the underlying physics. Despite significant advancements, existing numerical methods often encounter limitations due to the high computational cost associated with resolving these intricate flow dynamics. Many state-of-the-art numerical solving tools require expensive commercial licenses, restricting their accessibility for researchers and engineers. While open-source alternatives exist, they require an in-depth understanding of the code structure, posing a substantial barrier to extending the framework or incorporating additional physical models. This lack of flexibility hinders in developing customized solutions for specific applications.</div><div><em>Solution method:</em> The Lattice Boltzmann Method (LBM) has emerged as a powerful approach for simulating fluid dynamics at the pore-scale due to its simplicity, inherent parallelizability, and ability to handle complex geometries. In this study, we employ the Shan-Chen multiphase LBM framework to model multi-phase and multi-component flow dynamics. Additionally, we incorporate conjugate heat transfer modeling to capture reactive flow behavior and particle deposition in porous medium. A key advantage of our computational framework is its inherent parallelization, which eliminates the need for users to possess specialized parallel programming expertise. The codebase is structured in modular components, each consisting of a few thousand lines of C++ code, leveraging the C++ Standard Template Library (STL) to enhance flexibility and maintainability. This design enables users to seamlessly integrate new physics models and modify existing implementations according to their specific research needs. Furthermore, the efficiency of our code is demonstrated through simulations of both two-dimensional and three-dimensional problems on CPU and GPU architectures. Performance benchmarks are conducted across different CPU and GPU configurations, providing valuable insights for users in selecting the most suitable computational setup for complex flow simulations.</div><div><em>Additional comments including restrictions and unusual features:</em> The instructions for compiling programs and executing the executable file are given in <span><span>https://gitlab.coria-cfd.fr/lbm/coolbm</span><svg><path></path></svg></span>.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"315 ","pages":"Article 109711"},"PeriodicalIF":7.2000,"publicationDate":"2025-06-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465525002139","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0
Abstract
The current work presents a novel COllaborative Open-source Lattice Boltzmann Method framework, so-called CooLBM. The computational framework is developed for the simulation of single and multi-component multi-phase problems, along with a reactive interface and conjugate fluid-solid heat transfer problems. CooLBM utilizes a multi-CPU/GPU architecture to achieve high-performance computing (HPC), enabling efficient and parallelized simulations for large scale problems. The code is implemented in C++ and makes extensive use of the Standard Template Library (STL) to improve code modularity, flexibility, and re-usability. The developed framework incorporates advanced numerical methods and algorithms to accurately capture complex fluid dynamics and phase interactions. It offers a wide range of capabilities, including phase separation, interfacial tension, and mass transfer phenomena. The reactive interface simulation module enables the study of chemical reactions occurring at the fluid-fluid interface, expanding its applicability to reactive multi-phase systems. The performance and accuracy of CooLBM are demonstrated through various benchmark simulations, showcasing its ability to capture intricate fluid behaviors and interface dynamics. The modular structure of the code allows for easy customization and extension, facilitating the implementation of additional models and boundary conditions. Finally, CooLBM provides visualization tools for the analysis and interpretation of simulation results. Overall, CooLBM offers an efficient computational framework for studying complex multi-phase systems and reactive interfaces, making it a valuable tool for researchers and engineers in several fields including, but not limited to chemical engineering, materials science, and environmental engineering. CooLBM is available under open source initiatives for scientific communities in the gitlab repository: https://gitlab.coria-cfd.fr/lbm/coolbm.
Program summary
Program Title: CooLBM: A GPU-Accelerated Collaborative Open-Source Reactive Multi-Phase/Component Simulation Code via Lattice Boltzmann Method
CPC Library link to program files:https://doi.org/10.17632/79p5z26scz.1
Nature of problem: Multi-phase and multi-component reactive flows are fundamental to numerous industrial and engineering applications, including combustion systems, energy storage, and environmental processes. These flows often exhibit complex interactions across multiple spatial and temporal scales, requiring numerical modeling to accurately capture the underlying physics. Despite significant advancements, existing numerical methods often encounter limitations due to the high computational cost associated with resolving these intricate flow dynamics. Many state-of-the-art numerical solving tools require expensive commercial licenses, restricting their accessibility for researchers and engineers. While open-source alternatives exist, they require an in-depth understanding of the code structure, posing a substantial barrier to extending the framework or incorporating additional physical models. This lack of flexibility hinders in developing customized solutions for specific applications.
Solution method: The Lattice Boltzmann Method (LBM) has emerged as a powerful approach for simulating fluid dynamics at the pore-scale due to its simplicity, inherent parallelizability, and ability to handle complex geometries. In this study, we employ the Shan-Chen multiphase LBM framework to model multi-phase and multi-component flow dynamics. Additionally, we incorporate conjugate heat transfer modeling to capture reactive flow behavior and particle deposition in porous medium. A key advantage of our computational framework is its inherent parallelization, which eliminates the need for users to possess specialized parallel programming expertise. The codebase is structured in modular components, each consisting of a few thousand lines of C++ code, leveraging the C++ Standard Template Library (STL) to enhance flexibility and maintainability. This design enables users to seamlessly integrate new physics models and modify existing implementations according to their specific research needs. Furthermore, the efficiency of our code is demonstrated through simulations of both two-dimensional and three-dimensional problems on CPU and GPU architectures. Performance benchmarks are conducted across different CPU and GPU configurations, providing valuable insights for users in selecting the most suitable computational setup for complex flow simulations.
Additional comments including restrictions and unusual features: The instructions for compiling programs and executing the executable file are given in https://gitlab.coria-cfd.fr/lbm/coolbm.
期刊介绍:
The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper.
Computer Programs in Physics (CPiP)
These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged.
Computational Physics Papers (CP)
These are research papers in, but are not limited to, the following themes across computational physics and related disciplines.
mathematical and numerical methods and algorithms;
computational models including those associated with the design, control and analysis of experiments; and
algebraic computation.
Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.