Font Size: a A A

Simulation And GPU Parallel Of Convection Diffusion Problems Based On Lattice Boltzmann Method

Posted on:2019-03-08Degree:MasterType:Thesis
Country:ChinaCandidate:A L WangFull Text:PDF
GTID:2310330542954793Subject:Engineering
Abstract/Summary:PDF Full Text Request
Convection-diffusion equation is a common partial differential equation.In many cases,it is very difficult to obtain its analytical solution.In order to obtain its numerical solution,only numerical methods can be used.As a new mesoscopic approach between microscopic methods and macroscopic methods,lattice Boltzmann method can be used to solve partial differential equations.Compared with the traditional macro-algorithm,it does not need to construct a large-scale linear equations,and also compensates for the insufficiency of the micro-algorithm in terms of the existing hardware conditions.In addition,the lattice Boltzmann method is easy to program,boundary processing is simple,and has natural parallelism.The common models for the lattice Boltzmann method are the Single-Relaxation-Time model(LBGK or SRT)and the Multi-Relaxation-Time model(MRT).Compared with the single relaxation model,the Multi-Relaxation-Time model involves matrix operations and the amount of computation has also increased,but its convergence is better.The Multi-Relaxation-Time model is also more advantageous in terms of parameter selection and has a wider range of applications.This paper introduces the basic principles of the lattice Boltzmann method and the steps for solving the convection-diffusion equation.In this paper,the Single-Relaxation-Time model and Multi-Relaxation-Time model of lattice Boltzmann method are used to solve the two-dimensional convection diffusion problem.The results are in good agreement with the finite difference method.The lattice Boltzmann method is then used to solve the three-dimensional convection diffusion problem.There is a small difference between the experimental results and the analysis.These two experiments show that the lattice Boltzmann method is feasible.Among them,for the three-dimensional convection-diffusion problem,the results of the serial experiment between the Single-Relaxation-Timemodel and the Multi-Relaxation-Time model show that the MRT model requires fewer iterations than the LBGK model under the same convergence conditions.In order to further improve the computing speed and save computing time,the CUDA architecture is used to implement the parallelism of the lattice Boltzmann method.The GPU adopts the SIMT(single-instruction,multi-threaded)instruction model.Through the CUDA kernel function,the device side opens hundreds of threads at the same time.Each thread is responsible for processing a grid of data so that multiple threads can execute at the same time.The lattice Boltzmann method is used to solve the parallelism of the three-dimensional convection-diffusion problem on GPU.The experimental results show that compared to the serial experiments on the CPU,the speed of analog computation on the GPU has been significantly improved,and with the increase in the scale of the grid,the speedup ratio of the GPU is showing an upward trend.For the same three-dimensional problem,the comparison of parallel experimental results using two models respectively shows that the acceleration ratio obtained by using the Multi-Relaxation-Time model is greater than the acceleration ratio obtained by the Single-Relaxation-Time model.
Keywords/Search Tags:Lattice Boltzmann Method, Convection Diffusion Equation, GPU, CUDA
PDF Full Text Request
Related items