基于格子Boltzmann方法模拟三维地下水流动及其GPU并行化
本文选题:格子Boltzmann方法 + 三维地下水流动 ; 参考:《中国地质大学(北京)》2017年硕士论文
【摘要】:格子Boltzmann方法是一种介观方法,可以对大部分领域的偏微分方程进行求解,它弥补了传统宏观方法无法展示流体内部微观细节,且需要构造大规模线性方程组才能求解以及微观方法模拟的尺度很小,在如今的计算技术下难以实现的不足。另外,格子Boltzmann方法还具有算法简单、计算网格容易生成、边界计算简单、天然并行性等特点。格子Boltzmann方法常用的模型有单松弛(SRT或LBGK)模型和多松弛(MRT)模型,与单松弛模型简单地模拟单一松弛时间的计算过程不同,多松弛模型具有多个松弛时间,可以模拟不同扩散方向速度不同以及各向异性等情况。在多松弛模型的计算中由于涉及一定的矩阵操作,与单松弛模型相比,在计算量上有一定程度的增加,但由于多松弛模型的高收敛性弥补了计算量增大这一缺点。基于格子Boltzmann方法的原理及其常用的模型,我们可以求解许多偏微分方程。本文应用格子Boltzmann方法的两种模型,对三维地下水流动过程进行模拟,结果显示了格子Boltzmann方法无论用哪种模型都可以很好地模拟出三维地下水流动过程,且误差与理论值相差很小。本文还对这两种模型的实验结果进行了对比,多松弛模型在收敛性以及计算时间上都比单松弛模型具有较大的优势,且多松弛模型由于多个松弛时间具有更广的应用范围。为进一步加快计算速度,本文使用CUDA架构实现了多松弛格子Boltzmann方法在GPU上的并行。我们通过设置GPU中每个线程处理一个网格,这样所有的线程同时执行每个格点的计算就实现了格子Boltzmann方法模拟三维地下水流动问题在GPU上的并行。实验显示,GPU上的模拟运算速度与CPU相比有明显的提高,且随着网格规模的增大,GPU的加速比呈现一个增大的趋势。为了满足网格不断细化所增加的格点数量,本文使用OpenMP这种共享内存式并行架构实现CPU中多个核心的并行,再通过每个CPU核心调用一块GPU卡,实现了多个GPU的并行,从而扩展了同时进行网格计算的线程数量,提高了计算速度。实验结果表明,处理同一网格规模时,GPU的数量越多,GPU表现出越大的加速比,而随着网格规模的增大,GPU的加速比也在随之增大。
[Abstract]:Lattice Boltzmann method is a mesoscopic method, which can solve partial differential equations in most fields. Moreover, it is necessary to construct large scale linear equations in order to solve the problem, and the scale of microscopic simulation is very small, which is difficult to realize in the present computing technology. In addition, the lattice Boltzmann method has the advantages of simple algorithm, easy generation of computational meshes, simple boundary calculation and natural parallelism. Single relaxation SRT or LBGK model and multiple relaxation MRT model are commonly used in lattice Boltzmann method. Different from single relaxation model in simple simulation of single relaxation time, multiple relaxation model has multiple relaxation time. Different diffusion directions and anisotropy can be simulated. In the calculation of multi-relaxation model, the computational complexity is increased to a certain extent because of the certain matrix operation, but the high convergence of the multi-relaxation model makes up for this shortcoming. Based on the principle of lattice Boltzmann method and its commonly used models, we can solve many partial differential equations. In this paper, two models of lattice Boltzmann method are used to simulate the three-dimensional groundwater flow process. The results show that the lattice Boltzmann method can well simulate the three-dimensional groundwater flow process no matter which model is used. The difference between the error and the theoretical value is very small. In this paper, the experimental results of the two models are compared. The multi-relaxation model has more advantages than the single relaxation model in terms of convergence and computational time, and the multi-relaxation model has a wider range of applications due to multiple relaxation times. In order to speed up the computation speed, this paper uses CUDA architecture to implement the parallel of multiple relaxation lattice Boltzmann method on GPU. We set each thread in GPU to process a grid so that all threads simultaneously execute the computation of each lattice point so that the lattice Boltzmann method is used to simulate the 3D groundwater flow problem on GPU. The experimental results show that the speed of simulation on GPUs is obviously higher than that of CPU, and the speedup of GPUs increases with the increase of grid size. In order to satisfy the increasing number of grid points, this paper uses OpenMP, a shared memory parallel architecture, to realize the parallelism of multiple cores in CPU, and then calls a GPU card for each CPU core to realize the parallelism of multiple GPU. Thus, the number of threads for grid computing is expanded and the computing speed is improved. The experimental results show that the larger the number of GPUs is, the larger the speedup ratio of GPU is, and with the increase of grid size, the speedup ratio of GPU increases.
【学位授予单位】:中国地质大学(北京)
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:O246
【相似文献】
相关期刊论文 前10条
1 ;Lattice Boltzmann simulation for the spiral waves in the excitable medium[J];Communications in Nonlinear Science & Numerical Simulation;2000年04期
2 孙成海,王保国,沈孟育;Adaptive Lattice Boltzmann Model for Compressible Flows[J];Tsinghua Science and Technology;2000年01期
3 张英魁 ,卢旭光;Boltzmann Equations with Quantum Effects (1):Long Time Behavior of Spatial Decay Solutions[J];Tsinghua Science and Technology;2002年03期
4 张英魁 ,卢旭光;Boltzmann Equations with Quantum Effects (2): Entropy Identity, Existence and Uniqueness of Spatial Decay Solutions[J];Tsinghua Science and Technology;2002年03期
5 ;New Boundary Treatment Methods for Lattice Boltzmann Method[J];Wuhan University Journal of Natural Sciences;2003年01期
6 ;Gas kinetic algorithm for flows in Poiseuille-like microchannels using Boltzmann model equation[J];Science in China(Series G:Physics,Mechanics & Astronomy);2005年04期
7 田红晓;刘全生;阿其拉图;;二粒子Boltzmann方程组的初始层解[J];内蒙古大学学报(自然科学版);2013年04期
8 黄祖洽,丁鄂江;Boltzmann方程的理论和应用[J];物理学进展;1986年03期
9 刘清荣;;线性Boltzmann方程解的存在性和界[J];纯粹数学与应用数学;1987年00期
10 陈建宁;Boltzmann方程的两个解的平均作为二粒子Boltzmann方程系的解[J];数学物理学报;1990年03期
相关会议论文 前10条
1 Yu CHEN;Shulong TENG;Hirotada OHASHI;;On the Lattice Boltzmann Modeling of Multi-Phase Flows[A];Genetic Algorithm and Its Application to Physics, Life Science and Engineering--Proceedings of CCAST (World Laboratory) Workshop[C];1999年
2 冯士德;;多种粒子相耦合的格子Boltzmann模型[A];“力学2000”学术大会论文集[C];2000年
3 冯士德;;多组份流体的格子模型Boltzmann[A];第十四届全国水动力学研讨会文集[C];2000年
4 梁宏;施保昌;;基于相场理论的不可压格子Boltzmann两相流模型及其应用[A];第十六届全国流体力学数值方法研讨会2013论文集[C];2013年
5 丁丽霞;施卫平;郑海成;;格子Boltzmann方法模拟圆腔流[A];庆祝中国力学学会成立50周年暨中国力学学会学术大会’2007论文摘要集(下)[C];2007年
6 李志辉;方明;唐少强;;气体运动论统一算法与DSMC方法描述Boltzmann方程的一致性研究[A];北京力学会第18届学术年会论文集[C];2012年
7 谭玲燕;李秀文;李伟杰;;用Lattice Boltzmann方法模拟腔体内搅动流体[A];第十六届全国流体力学数值方法研讨会2013论文集[C];2013年
8 李志辉;彭傲平;张涵信;;求解Boltzmann模型方程的高性能并行计算方法研究[A];中国力学大会——2013论文摘要集[C];2013年
9 冯士德;毛江玉;任荣彩;;格子Boltzmann数值流体力学[A];钱学森技术科学思想与力学论文集[C];2001年
10 彭傲平;李志辉;吴俊林;;求解Boltzmann模型方程的气体运动论隐式格式及应用研究[A];中国力学大会——2013论文摘要集[C];2013年
相关重要报纸文章 前2条
1 本报记者 刘燕;GPU加速是手机浏览器方向[N];科技日报;2012年
2 记者 王洪斌 通讯员 蔡媛媛;山西模拟研究地下水促合理开发[N];中国水利报;2007年
相关博士学位论文 前10条
1 李元;格子Boltzmann方法的应用研究[D];中国科学技术大学;2009年
2 胡安杰;多相流动格子Boltzmann方法研究[D];重庆大学;2015年
3 刘克同;新型格子Boltzmann流固耦合算法研究及其在桥梁风工程中的应用[D];哈尔滨工业大学;2015年
4 毛煜东;微纳尺度传热问题的理论分析和格子Boltzmann数值模拟[D];山东大学;2015年
5 刘智翔;改进的格子Boltzmann方法研究及大规模并行计算[D];上海大学;2014年
6 谢海琼;基于格子Boltzmann方法模拟热毛细对流[D];重庆大学;2015年
7 尹显利;弹性波方程的格子Boltzmann方法研究[D];吉林大学;2016年
8 罗忠贤;联合格子Boltzmann方法和X-ray CT成像技术研究开级配沥青混合料中水的输运规律[D];西南交通大学;2015年
9 樊迎哲;扰动框架下Vlasov-Maxwell-Boltzmann方程组的整体适定性及相关问题的研究[D];武汉大学;2017年
10 李钱焕;耦合对流扩散方程的格子Boltzmann模型及应用研究[D];华中科技大学;2016年
相关硕士学位论文 前10条
1 叶丽娜;基于格子Boltzmann模型的Kuramoto-Sivashinsky方程的数值模拟研究[D];吉林大学;2011年
2 郭宇隆;基于格子Boltzmann方法的气液混合流体模拟[D];华南理工大学;2015年
3 伍祥超;格子Boltzmann方法在流体流动及传热中的应用研究[D];昆明理工大学;2015年
4 郭槛菲;格子Boltzmann方法在气固两相流中的应用研究[D];山东大学;2015年
5 韩文骥;适合飞溅流动的格子Boltzmann方法数值研究[D];中国舰船研究院;2015年
6 周训;单气泡沿过热曲面运动的格子Boltzmann方法模拟[D];大连理工大学;2015年
7 薛福;基于格子Boltzmann方法的饱和土壤渗流与传热数值研究[D];大连理工大学;2015年
8 罗丰;基于Boltzmann方程的一致气体动力学格式对连续稀薄气体流动的数值模拟的研究[D];湘潭大学;2015年
9 冯笑含;基于Boltzmann的煤层微孔道气体流动规律研究[D];东北石油大学;2015年
10 李婷;基于格子Boltzmann方法的自由表面模拟[D];东北大学;2014年
,本文编号:1921400
本文链接:https://www.wllwen.com/shoufeilunwen/benkebiyelunwen/1921400.html