关键词:
SPH方法
流体模拟
流固耦合
移动固体边界
流体表面粒子识别
流体表面张力
IIF方法
摘要:
流体模拟作为计算机图形学的一个重要分支,被广泛用于电影和电视特效、军事模拟、动画和医学等领域;然而,仍有很多问题需要研究解决,如流体的表面张力的快速准确模拟,流固耦合中移动固体边界处理等;而模拟表面张力,快速准确识别流体表面粒子是关键的第一步。本文在查阅与分析大量相关文献的基础上,对上述问题进行了探究。本文首先介绍了自由表面粒子的识别、流体表面张力模拟、流固耦合中移动边界处理的历史背景及研究现状,然后对此开展了以下三方面的工作:一、流体自由表面粒子的识别大体可以分为体积法和几何法两大类。体积法借助流体粒子的数密度或者粒子数来识别自由表面粒子,虽然实现简单,但是存在流体内部粒子被误判为自由表面粒子,造成流体内部产生数值震荡的问题。几何法有扇形扫描方法、弧度法等,虽然比体积法精确度大大提高,但是实现复杂,计算量大。针对上述问题,本文提出一种新的自由表面粒子的两步检测方法:第一步,通过粒子数密度简单快捷地识别出可能自由表面粒子,但是存在部分流体内部粒子被误识为自由表面粒子的现象;第二步,通过改进扇形扫描方法,针对第一步被鉴定为自由表面粒子进行扇形扫描分类,由此将第一步误识为自由表面粒子的流体内部粒子剔除。与传统体积法相比,本文方法更精确,减少了流体模拟的数值震荡;与传统几何法相比,本文方法计算量减少,计算效率提高。仿真实验结果验证了本文方法的有效性。二、IIF方法是模拟流体表面张力常用的一种方法,它是一种基于粒子间相互作用力的模型;在流体内部,流体粒子受到支持域内邻居粒子在各种方向上作用力的合力为零,处于流体表面的粒子仅受到流体内部粒子的作用力而导致合力非零,由此表现出表面张力。现有的处理表面张力的粒子间相互作用力模型模拟流体表面张力存在的流体自由表面不光滑、计算效率低,模拟效果不稳定等问题。对此,本文提出一种新的流体自由表面张力模拟方法。首先根据本文提出的自由表面粒子的两步检测方法,快速准确识别流体自由表面粒子;根据本文提出的自由表面粒子的两步识别方法,快速准确识别流体自由表面粒子;构造新的粒子间作用力函数,改进了流体表面面积最小化修正项,修正了自由表面粒子的密度,避免流体自由表面附近出现模拟不稳定的现象;改善了自由表面周围流体粒子密度的计算精度,提高了模拟效率。模拟仿真结果显示,与已有模型相比,本文方法模拟的自由表面更加平滑,没有粒子飞溅等现象,模拟效率更高,也更加稳定。三、SPH方法在处理流体与移动固体耦合时,靠近固体边界的流体粒子的支持域被固体边界截断,导致流体粒子的密度不连续,从而出现部分流体粒子粘附、堆积在移动固体边界上的现象。为解决上述问题,传统流固边界处理算法将固体表面进行多层粒子采样以补充流固交界处流体粒子的支持域,但随着模拟过程中交互粒子数的增多,模拟效率随之降低。针对流体粒子粘附、堆积在移动固体边界上,传统方法模拟效率低的问题,本文提出一种新的流固边界处理算法,固体边界单层采样,减少了流固交互时的计算量,将固体边界粒子考虑进流体粒子的数值计算中,提出修正系数来修正未被采样的边界粒子对密度及力的计算的影响,改进了流体粒子的密度以及力的计算公式,保证了流固交互界面处流体粒子密度和压力梯度的连续性。仿真结果表明,本文方法在流固交界处消除了流体粒子粘附固体边界上的现象,提高了模拟效率。