水动力学中不完全黎曼解的SPH方法及其在GPU上的实现

水动力学中不完全黎曼解的SPH方法及其在GPU上的实现

论文摘要

光滑粒子流体动力学(SPH)方法是一种无网格数值分析方法,在水动力学问题中具有重要应用。由于个人计算机上的CPU难以胜任SPH方法在模拟水动力学问题时因粒子数目规模较大所带来的大规模无逻辑关系的计算,而图形处理器(GPU)在无逻辑关系的并行计算上比同时期的CPU计算速度快、存储带宽宽,因此采用GPU通用计算平台对水动力学中的SPH方法进行研究,既能充分发挥SPH方法在模拟大变形流体时的优势,又能充分发挥GPU在并行计算方面的优势。虽然SPH方法在水动力学中具有广泛应用,但传统带人工黏性项的SPH方法在模拟静态问题、溃坝问题和孤立波爬坡等问题时仍然存在压力非物理振荡的不足。为此,本文针对水动力学问题中的SPH方法进行了研究,并基于GPU编程,在个人计算机上实现了较大规模粒子数的典型水动力学问题的SPH数值模拟。本文主要研究内容如下:第一,对水动力学中的SPH方法进行了研究。在水动力学问题的数值模拟中,传统带人工黏性项的SPH方法存在压力的非物理振荡、计算精度和稳定性较差的不足,虽然完全黎曼解的SPH方法能对压力的非物理振荡进行抑制,但却引入了较大数值黏性。为此,我们对水动力学问题数值模拟中的弱可压状态方程和流体控制方程组进行分析,在此基础上提出了不完全黎曼解的SPH方法。第二,采用CUDA C语言编写了HLLC一阶完全黎曼解和不完全黎曼解的SPH方法、HLLC二阶完全黎曼解和不完全黎曼解的SPH方法的程序模块,并将上述模块添加到现有的传统带人工黏性项的SPH方法的GPU程序中,得到了水动力学中含多种修正的SPH方法的GPU程序。第三,在个人电脑上搭建了GPU通用计算平台,采用水动力学中含多种修正的SPH方法的GPU程序,在基于GPU的通用计算平台上实现了二维溃坝问题、二维孤立波爬坡问题、三维静态问题、三维溃坝问题和三维孤立波爬坡问题的数值模拟,并对数值模拟结果进行了对比分析。研究表明:(1)HLLC一阶和二阶不完全黎曼解的SPH方法不仅能够有效抑制水动力学问题中压力的非物理振荡,而且数值黏性比HLLC一阶和二阶完全黎曼解的SPH方法小,从而能够逼真地模拟典型水动力学问题的流体运动特征。(2)基于GPU的通用计算平台和程序设计,能够在个人计算机上实现较大规模粒子数的水动力学问题的SPH数值模拟。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景及意义
  • 1.1.1 研究背景
  • 1.1.2 研究意义
  • 1.2 国内外研究现状
  • 1.3 本文的主要内容
  • 第二章 水动力学中不完全黎曼解的SPH方法
  • 2.1 SPH基本原理
  • 2.1.1 函数的核函数近似法
  • 2.1.2 函数导数的核函数近似法
  • 2.1.3 粒子近似法
  • 2.1.4 常用的光滑函数
  • 2.2 Navier-Stokes方程组的SPH表达式
  • 2.2.1 Navier-Stokes方程组
  • 2.2.2 密度的粒子近似法
  • 2.2.3 动量守恒方程的粒子近似法
  • 2.2.4 能量守恒方程的粒子近似法
  • 2.3 SPH方法计算的实施
  • 2.3.1 状态方程
  • 2.3.2 边界条件
  • 2.3.3 近邻粒子搜索
  • 2.3.4 时间积分
  • 2.4 水动力学中传统带人工黏性项的SPH方法
  • 2.5 水动力学中完全黎曼解的SPH方法
  • 2.5.1 Godunov格式基本思想
  • 2.5.2 HLLC一阶黎曼求解器
  • 2.5.3 HLLC二阶黎曼求解器
  • 2.5.4 完全黎曼解的SPH方法
  • 2.6 水动力学中不完全黎曼解的SPH方法
  • 2.7 本章小结
  • 第三章 水动力学中的SPH方法在GPU上的实现
  • 3.1 从GPGPU到CUDA
  • 3.1.1 早期的GPGPU开发
  • 3.1.2 CUDA架构及其发展简介
  • 3.2 CUDA编程模型
  • 3.2.1 主机与设备
  • 3.2.2 CUDA线程模型
  • 3.2.3 CUDA存储器模型
  • 3.3 CUDA软件体系
  • 3.3.1 CUDA软件栈
  • 3.3.2 CUDA C语言简介
  • 3.4 水动力学中含不同修正的SPH方法的GPU程序流程
  • 3.5 本章小结
  • 第四章 水动力学中不同SPH方法数值试验及对比分析
  • 4.1 不完全黎曼解SPH方法的适用性验证
  • 4.1.1 模拟参数设置
  • 4.1.2 二维溃坝问题
  • 4.1.3 孤立波造波理论
  • 4.1.4 二维孤立波爬坡问题
  • 4.2 不完全黎曼解的SPH方法对压力和数值黏性的改善
  • 4.2.1 三维静态问题
  • 4.2.2 三维溃坝问题
  • 4.2.3 三维孤立波爬坡问题
  • 4.3 本章小结
  • 第五章 结束语
  • 5.1 全文总结
  • 5.2 对本课题未来工作的展望
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 相关论文文献

    标签:;  ;  ;  ;  ;  ;  

    水动力学中不完全黎曼解的SPH方法及其在GPU上的实现
    下载Doc文档

    猜你喜欢