论文部分内容阅读
格子Boltzmann方法(LBM)是国际上近几十年发展起来的一种比较新颖的数值模拟方法。边界条件易处理、良好的计算稳定性、天然的数据并行性等优点,使其在计算流体力学方面发挥着重要的作用。 随着模拟规模的日益庞大,计算量的增加,仅靠增加CPU的核数来提高计算性能是很有局限性的,使得用传统的多核并行的计算方法是无法完成超大规模计算任务的。因此人们考虑把图形处理器GPU应用到数值计算领域,传统上,GPU只负责图形渲染,多数工作都交由中央处理器 CPU去完成,但GPU与CPU相比有着不同的设计理念,在并行计算方面,GPU有着独有的优势。因此,对于大规模计算量的模拟任务,基于GPU并行计算将有着广阔的前景。考虑到格子Boltzmann方法是适合并行计算的,所以基于GPU高性能计算的格子Boltzmann方法为人们提供了新思路。 本文首先对不同阶数的矩阵相乘进行了基于GPU并行的计算,实验结果表明阶数越大,并行计算相对于串行计算的加速比越显著,充分揭示了GPU在计算速度上的优越性。而且,我们验证了使用不同的存储类型对计算速度是有影响的,使用共享存储器能进一步提高计算速度。然后,设计了基于GPU并行计算的二维单组分双相流相分离的LBM算法,边界条件采用周期边界条件,模型采用D2Q9模型。在二维算法的基础上,提出了基于GPU并行计算的三维单组分双相流相分离的LBM算法,采用D3Q19模型和周期边界条件。基于上述并行算法,在GPU高性能计算平台上,模拟了单组分双相流二维相分离和三维相分离过程,实验结果表明采用GPU并行计算比 CPU串行计算快大约10.2倍左右。最后,采用基于GPU计算平台的LBM并行算法模拟了人们生活中普遍存在的空化现象,实验显示出水体中微小气核的形成、胀大和溃灭的全过程,实验结果同样体现出GPU并行计算的速度优势。