SERIAL AND DIFFERENT PARALLEL IMPLEMENTATIONS OF LATTICE BOLTZMANN METHOD IN PYTHON: A COMPARATIVE ANALYSIS
-
Published:2023
Issue:5
Volume:15
Page:55-70
-
ISSN:1940-2503
-
Container-title:Computational Thermal Sciences: An International Journal
-
language:en
-
Short-container-title:Comput Thermal Scien
Author:
Ajrian Ashkan,Ebadi Mohammad,Delijani Ebrahim Biniaz,Koroteev Dmitry
Abstract
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.
Subject
Computational Mathematics,Fluid Flow and Transfer Processes,Surfaces and Interfaces,Energy Engineering and Power Technology
Reference63 articles.
1. Aidun, C.K. and Clausen, J.R., Lattice-Boltzmann Method for Complex Flows, Ann. Rev. Fluid Mech., vol. 42, no. 1, pp. 439-472, 2010. 2. Akai, T., Bijeljic, B., and Blunt, M.J., Wetting Boundary Condition for the Color-Gradient Lattice Boltzmann Method: Validation with Analytical and Experimental Data, Adv. Water Resour., vol. 116, pp. 56-66, 2018. 3. Alamsyah, M.N.A., Simanjuntak, C.A., Bagustara, B.A.R.H., Pradana, W.A., and Gunawan, P.H., OpenMP Analysis for Lid Driven Cavity Simulation Using Lattice Boltzmann Method, 2017 5th Int. Conf. on Information and Communication Technology (ICoIC7), Kuching, Malaysia, 2017. 4. Arun, S. and Satheesh, A., Analysis of Flow Behaviour in a Two Sided Lid Driven Cavity Using Lattice Boltzmann Technique, Alex. Eng. J., vol. 54, no. 4, pp. 795-806, 2015. 5. Boraey, M., Simulation of the Lid-Driven Cavity Flow at Reynolds Numbers between 100 and 1000 Using the Multi-Relaxation-Time Lattice Boltzmann Method, Mugla J. Sci. Technol., pp. 110-115, 2017.
|
|