CooLBM: A GPU-accelerated collaborative open-source reactive multi-phase/component simulation code via lattice Boltzmann method

IF 7.2 2区 物理与天体物理 Q1 COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS
R. Alamian , A.K. Nayak , M.S. Shadloo
{"title":"CooLBM: A GPU-accelerated collaborative open-source reactive multi-phase/component simulation code via lattice Boltzmann method","authors":"R. Alamian ,&nbsp;A.K. Nayak ,&nbsp;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
Developer's repository link: https://gitlab.coria-cfd.fr/lbm/coolbm
Licensing provisions: GNU GPLv3
Programming language: C++
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.
基于晶格玻尔兹曼方法的gpu加速协作开源反应性多相/组件仿真代码
目前的工作提出了一种新的协作开源晶格玻尔兹曼方法框架,即所谓的CooLBM。该计算框架用于模拟单组分和多组分多相问题,以及反应界面和共轭流固传热问题。CooLBM利用多cpu /GPU架构实现高性能计算(HPC),实现大规模问题的高效并行模拟。代码是用c++实现的,并广泛使用标准模板库(STL)来改进代码的模块化、灵活性和可重用性。开发的框架结合了先进的数值方法和算法,以准确捕获复杂的流体动力学和相相互作用。它提供了广泛的功能,包括相分离,界面张力和传质现象。反应界面模拟模块可以研究发生在流体-流体界面的化学反应,扩大了其对反应多相体系的适用性。通过各种基准模拟,展示了CooLBM的性能和准确性,展示了其捕捉复杂流体行为和界面动力学的能力。代码的模块化结构允许轻松定制和扩展,促进附加模型和边界条件的实现。最后,CooLBM提供了分析和解释仿真结果的可视化工具。总的来说,CooLBM为研究复杂的多相系统和反应界面提供了一个高效的计算框架,使其成为研究人员和工程师在几个领域的有价值的工具,包括但不限于化学工程、材料科学和环境工程。CooLBM可以在gitlab存储库中为科学界提供开源计划:https://gitlab.coria-cfd.fr/lbm/coolbm.Program summary程序标题:CooLBM: gpu加速的协作开源反应多相/组件模拟代码通过晶格玻尔兹曼方法cpc库链接到程序文件:https://doi.org/10.17632/79p5z26scz.1Developer's存储库链接:https://gitlab.coria-cfd.fr/lbm/coolbmLicensing条款:GNU gplv3编程语言:问题性质:多相和多组分反应流是许多工业和工程应用的基础,包括燃烧系统、能量储存和环境过程。这些流动通常在多个空间和时间尺度上表现出复杂的相互作用,需要数值模拟来准确捕捉潜在的物理现象。尽管取得了重大进展,但由于求解这些复杂的流动动力学的计算成本高,现有的数值方法经常遇到局限性。许多最先进的数值求解工具需要昂贵的商业许可证,限制了研究人员和工程师使用它们。虽然存在开源替代方案,但它们需要对代码结构有深入的了解,这对扩展框架或合并额外的物理模型构成了实质性的障碍。这种灵活性的缺乏阻碍了为特定应用程序开发定制的解决方案。求解方法:晶格玻尔兹曼方法(LBM)由于其简单性、固有的并行性和处理复杂几何形状的能力,已经成为模拟孔隙尺度流体动力学的一种强大方法。在本研究中,我们采用Shan-Chen多相LBM框架来模拟多相、多组分的流动动力学。此外,我们还结合了共轭传热模型来捕捉多孔介质中的反应流动行为和颗粒沉积。我们的计算框架的一个关键优势是其固有的并行性,这消除了用户拥有专门的并行编程专业知识的需要。代码库由模块化组件组成,每个组件由几千行c++代码组成,利用c++标准模板库(STL)来增强灵活性和可维护性。这种设计使用户能够无缝地集成新的物理模型,并根据他们的具体研究需要修改现有的实现。此外,通过在CPU和GPU架构上模拟二维和三维问题,证明了我们代码的效率。性能基准测试在不同的CPU和GPU配置中进行,为用户选择最合适的复杂流模拟计算设置提供了有价值的见解。附加注释包括限制和不寻常的功能:编译程序和执行可执行文件的说明在https://gitlab.coria-cfd.fr/lbm/coolbm中给出。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Computer Physics Communications
Computer Physics Communications 物理-计算机:跨学科应用
CiteScore
12.10
自引率
3.20%
发文量
287
审稿时长
5.3 months
期刊介绍: 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.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信