Python(编程语言)
计算机科学
并行计算
解算器
实施
格子Boltzmann方法
计算科学
多线程
程序设计语言
线程(计算)
量子力学
物理
作者
Ashkan Ajrian,Mohammad Ebadi,Ebrahim Biniaz Delijani,Dmitry Koroteev
出处
期刊:Computational Thermal Sciences
日期:2023-01-01
卷期号:15 (5): 55-70
标识
DOI:10.1615/computthermalscien.2023045600
摘要
The lattice Boltzmann method (LBM) is known for its capability to model complex fluid systems. Python is becoming one of the most valuable tools for scientific programming and prototyping of commercial software. In parallel, there is nearly no information on LBM simulation libraries in Python. The current study addresses the issue of Pythonbased LBM simulations. We have developed and tested the serial and two concurrent approaches (multiprocessing and multithreading) through 7 different versions of the LBM solvers for a range of the various numbers of nodes. Parallelization is also defined for three individual levels of domain decomposition, and RunTime profile data for entire solvers have been discussed comparatively in detail. Apart from the implementation strategy, a preliminary comparison is made between two data storage styles to investigate the effect of data shape on RunTime. In contrast with the literature, serial processing provides the fastest results for task execution of LBM simulation in Python due to the strengths of Python in data manipulation. One version of multithreaded solver also provides the same results with serial implementation; however, in conclusion, and due to the ease of serial programming, serial implementation of LBM in Python is defined as the most practical candidate.
科研通智能强力驱动
Strongly Powered by AbleSci AI