论文部分内容阅读
薄层颗粒流模型是浅水方程在颗粒崩塌流中的推广,可用于研究滑坡碎屑流、泥石流、火山灰流等地质灾害流动问题。发展准确高效的求解薄层颗粒流模型的数值方法及程序,有助于这些地质灾害的评估和防治研究。本文针对两个比较著名的薄层颗粒流模型,即单相流的Savage-Hutter(SH)模型和两相流的Pitman-Le模型,研究相应的数值方法,并实施GPU并行计算。 本研究主要内容包括:⑴SH模型是将无数个干颗粒组成的堆积物处理成连续的库仑材料,从满足库仑本构关系的不可压Navier-Stokes方程出发用深度平均方法导出的偏微分方程组。库仑介质区别于一般流体的一个特征是它能抵抗一定大小的剪切应力而保持静止。我们应用Davis的二阶预估-校正的Godunov型有限体积法求解SH模型。该方法对守恒变量使用MUSCL重构,对数值通量使用HLLC格式。我们在求解过程中加入了颗粒流的静力学条件和停止准则。数值算例验证了修改后的Davis方法能准确地模拟颗粒激波和颗粒在缓坡上停止的现象并能稳健地处理干湿前沿情形。用该方法的GPU并行程序模拟了两个实际问题,一个是液滴型颗粒射流实验,计算中采用了更符合实际的变摩擦角摩擦律;另一个是圆柱颗粒绕流实验,计算中采用贴体的极坐标和大网格数,捕捉到了前人文献中未曾捕捉到的真空区域后的小楔形激波。⑵Pitman-Le两相薄层颗粒流模型包括液体和固体的质量方程和动量方程,并且耦合守恒和非守恒的动量交换项。该模型对于那些需要Riemann解算器的数值方法带来很大的麻烦,不仅因为没有解析的特征系统,而且因为在某些特殊的流动条件下方程系统会出现复特征值的情形。无振荡中心(Non-Oscillatory Central,NOC)格式由于无需求解Riemann问题而显得更有吸引力。我们将时空交错的NOC格式推广于Pitman-Le两相流模型的数值求解,对非守恒项和河床斜率源项使用了一种简单的离散格式,配合额外计算的自由面高程变量对由NOC格式计算出的深度变量进行修正,保证了格式的完全平衡性(well-balancedness)。对于在某些流动条件中出现复特征值的情形,我们采用数值的相间拽力项确保系统的双曲性。通过几个典型的两相薄层流算例验证了所发展的NOC格式可以处理极端的流动条件包括形成真空区和出现复特征值等情形,表明格式有较强的健壮性。⑶在GPU计算方面,我们对求解SH模型的Davis方法实施基于CUDA的GPU计算,给出了一种GPU上分配二级指针的技巧,方便了串行程序向GPU程序的移植。对求解Pitman-Le两相流模型的NOC格式进一步实施了单节点多GPU计算,分别采用OpenMP-CUDA和Multistream-CUDA这两种并行策略。计算测试发现在小网格数时Multistream-CUDA比OpenMP-CUDA稍慢,但在大网格数时稍快,这表明采用不同多GPU策略的并行效率会产生较小的差异。然而多GPU的计算效率更多地受到单GPU加速比性能的影响。