Martin Geier, Konstantin Kutscher, Martin Schönherr, Anna Wellmann, Sören Peters, Hussein Alihussein, Jan Linxweiler, Manfred Krafczyk
{"title":"VirtualFluids -开源并行LBM求解器","authors":"Martin Geier, Konstantin Kutscher, Martin Schönherr, Anna Wellmann, Sören Peters, Hussein Alihussein, Jan Linxweiler, Manfred Krafczyk","doi":"10.1016/j.cpc.2025.109810","DOIUrl":null,"url":null,"abstract":"<div><div>This paper accompanies the publication of the open source lattice Boltzmann solver <span>VirtualFluids</span> [<span><span>DOI: 10.5281/zenodo.10283048</span><svg><path></path></svg></span>]. Key features of <span>VirtualFluids</span> are the cumulant collision operator, the ability to run multi-scale simulations based on compact interpolation grid refinement and its implementations for both GPU and massively parallel CPU systems. The differences in data structure for the different systems are explained in detail.</div></div><div><h3>PROGRAM SUMMARY</h3><div><em>Program Title:</em> <span>VirtualFluids</span></div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/tfzdnz7vwx.1</span><svg><path></path></svg></span></div><div><em>Developer's repository link:</em> <span><span>https://git.rz.tu-bs.de/irmb/VirtualFluids.git</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> GPLv3</div><div><em>Programming language:</em> C++, C, Cuda, Python, CMake</div><div><em>Nature of problem:</em> High resolution transient computational fluid dynamics with applications in urban and environmental flows, wind engineering, porous materials, aero-acoustics etc. is implemented in a sustainable software environment.</div><div><em>Solution method:</em> Fluid flow is simulated with the super-convergent cumulant lattice Boltzmann method with compact interpolation grid refinement. The software is designed for massively parallel computation on various computer architectures, ranging from desktop computers to high performance clusters. GPU computation is enabled by a CUDA simulation kernel. A sustainable code basis is obtained through continuous integration and a wide range of tests i.e. unit tests, regression test, etc.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"317 ","pages":"Article 109810"},"PeriodicalIF":3.4000,"publicationDate":"2025-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"VirtualFluids – open source parallel LBM solver\",\"authors\":\"Martin Geier, Konstantin Kutscher, Martin Schönherr, Anna Wellmann, Sören Peters, Hussein Alihussein, Jan Linxweiler, Manfred Krafczyk\",\"doi\":\"10.1016/j.cpc.2025.109810\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><div>This paper accompanies the publication of the open source lattice Boltzmann solver <span>VirtualFluids</span> [<span><span>DOI: 10.5281/zenodo.10283048</span><svg><path></path></svg></span>]. Key features of <span>VirtualFluids</span> are the cumulant collision operator, the ability to run multi-scale simulations based on compact interpolation grid refinement and its implementations for both GPU and massively parallel CPU systems. The differences in data structure for the different systems are explained in detail.</div></div><div><h3>PROGRAM SUMMARY</h3><div><em>Program Title:</em> <span>VirtualFluids</span></div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/tfzdnz7vwx.1</span><svg><path></path></svg></span></div><div><em>Developer's repository link:</em> <span><span>https://git.rz.tu-bs.de/irmb/VirtualFluids.git</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> GPLv3</div><div><em>Programming language:</em> C++, C, Cuda, Python, CMake</div><div><em>Nature of problem:</em> High resolution transient computational fluid dynamics with applications in urban and environmental flows, wind engineering, porous materials, aero-acoustics etc. is implemented in a sustainable software environment.</div><div><em>Solution method:</em> Fluid flow is simulated with the super-convergent cumulant lattice Boltzmann method with compact interpolation grid refinement. The software is designed for massively parallel computation on various computer architectures, ranging from desktop computers to high performance clusters. GPU computation is enabled by a CUDA simulation kernel. A sustainable code basis is obtained through continuous integration and a wide range of tests i.e. unit tests, regression test, etc.</div></div>\",\"PeriodicalId\":285,\"journal\":{\"name\":\"Computer Physics Communications\",\"volume\":\"317 \",\"pages\":\"Article 109810\"},\"PeriodicalIF\":3.4000,\"publicationDate\":\"2025-08-28\",\"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/S0010465525003121\",\"RegionNum\":2,\"RegionCategory\":\"物理与天体物理\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q1\",\"JCRName\":\"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465525003121","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0
摘要
这篇论文伴随着开源晶格玻尔兹曼求解器VirtualFluids的出版[DOI: 10.5281/zenodo.10283048]。virtualfluid的主要特点是累积碰撞算子,基于紧凑插值网格优化运行多尺度模拟的能力,以及它在GPU和大规模并行CPU系统上的实现。详细解释了不同系统在数据结构上的差异。程序摘要程序标题:VirtualFluidsCPC库链接到程序文件:https://doi.org/10.17632/tfzdnz7vwx.1Developer's存储库链接:https://git.rz.tu-bs.de/irmb/VirtualFluids.gitLicensing条款:gplv3编程语言:c++, C, Cuda, Python, CMakeNature of problem:高分辨率瞬态计算流体动力学在城市和环境流动、风工程、多孔材料、空气声学等方面的应用是在可持续的软件环境中实现的。求解方法:采用超收敛累积点阵玻尔兹曼方法模拟流体流动,并进行紧凑插值网格细化。该软件专为各种计算机体系结构(从台式计算机到高性能集群)上的大规模并行计算而设计。GPU计算是通过CUDA仿真内核实现的。可持续的代码基础是通过持续集成和广泛的测试(如单元测试、回归测试等)获得的。
This paper accompanies the publication of the open source lattice Boltzmann solver VirtualFluids [DOI: 10.5281/zenodo.10283048]. Key features of VirtualFluids are the cumulant collision operator, the ability to run multi-scale simulations based on compact interpolation grid refinement and its implementations for both GPU and massively parallel CPU systems. The differences in data structure for the different systems are explained in detail.
PROGRAM SUMMARY
Program Title:VirtualFluids
CPC Library link to program files:https://doi.org/10.17632/tfzdnz7vwx.1
Nature of problem: High resolution transient computational fluid dynamics with applications in urban and environmental flows, wind engineering, porous materials, aero-acoustics etc. is implemented in a sustainable software environment.
Solution method: Fluid flow is simulated with the super-convergent cumulant lattice Boltzmann method with compact interpolation grid refinement. The software is designed for massively parallel computation on various computer architectures, ranging from desktop computers to high performance clusters. GPU computation is enabled by a CUDA simulation kernel. A sustainable code basis is obtained through continuous integration and a wide range of tests i.e. unit tests, regression test, etc.
期刊介绍:
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.