本站提供专业的[留学生论文]定制业务,如需服务请,联系电话:13671516250.
本文是职称论文,本文提出了一种针对模拟不可压缩流体的新模型。首先设计了新的压强计算方案,然后采用新设计的公式来计算压力和粘性力,改进原有压力和粘性力的计算方法。本文提出的模型与以前的模型进行对比,在视觉效果上具有明显的优势,能够更加准确和真实的模拟不可压缩流体。
0 引言
基于物理的流体模拟不仅是整个计算机图形学研究领域中的一个非常活跃的研究课题,而且也越来越多的出现在电影和视频游戏当中。一般来说,在计算机图形学中,基于物理的流体模拟主要包括基于网格的欧拉方法和基于粒子的拉格朗日方法。在欧拉方法中,模拟域离散化为一个固定的空间网格,而网格点上的每个时间步的流体属性值则是由纳维尔-斯托克斯方程确定。另一方面,拉格朗日方法是将流体体积离散为粒子样本,并让这些粒子随着时间移动。每个粒子均具有如密度、压强、速度等属性。用从控制方程得到的相互规律来确定的样本的分布,并且每个粒子均具有在各个时间步的相关物理值。虽然欧拉方法使用水平集构建一个流体界面看起来简单明了,但是在描绘分散的材料和无限域中的空间离散化时,空间的固定式离散化就会出现很多问题。这些困难使得拉格朗日方法成为一个具有竞争性的替代品。因为无网格特性从本质上减少了有关流体体积领域的计算成本,并且粒子样品的大小也更容易控制。SPH 最早是应用于图形领域来描绘火焰和其它的气态现象。之后,Muller 和 Charypar [2][3]将 SPH 用于可压缩流体的模拟。为了模拟不可压缩性流体必须设计一种新的高效的 SPH方法。以此为目的,基于传统的 SPH 方法,本文提出了一种针对模拟不可压缩流体的新模型。首先设计了新的压强计算方案,然后采用新设计的公式来计算压力和粘性力,改进原有压力和粘性力的计算方法。本文提出的模型与以前的模型进行对比,在视觉效果上具有明显的优势,能够更加准确和真实的模拟不可压缩流体。
1 相关工作
现在已经有多种流体模拟的拉格朗日方法被提出,如SPH[2],移动最小二乘粒子流体动力学[4], 细胞粒子/流体隐式粒子[5]和粒子水平集[6]。在这些拉格朗日方法中,SPH 是一种最流行的用于流体模拟的方法。因为与其它的方法相比,它计算简单而且高效。Gingold [7]和 Lucy[8]最初将 SPH 应用于天体现象模拟。在计算机图形学中,Stam 和 Fiume [1]第一次将 SPH 应用于模拟气体和火焰现象。Desbrun 和 Gascue[9]将 SPH 用于高度可变形体。SPH 已被成功地应用于可压缩流体的模拟[2],流体 表 面 [10,11], 流 固 耦 合 [12-16], 变 形 体 [17], 多 相 流[3,18,19]和流体控制[20]。为了解决标准 SPH 在执行时的不可压缩性难题,有人提出了弱可压缩 SPH [21,22],预测校正不可压缩 SPH [23],基于不可压缩 SPH 的压力预测[24,25]和无散度的辅助网格方法[5]。为了规避表面上的密度不均匀,有人提出了修正 SPH[26]和幽灵粒子[12]。这种方法[23]通过集成一个预测校正模型,增大了不可压缩流体的时间步长,并且扩展为在每次循环模拟结束后调整时间步长。最近,在[28]中提出了一种近似的方案,这个方案可以避免不活跃粒子的计算开销,但是它是违反牛顿第三定律的。与 SPH 相关的一个重要问题是如何解决压强限制或者说如何让粒子的运动满足不可压缩性限制。[1-3,29]的一些工作使用了一种符合压强和密度的理想气体方程。这会导致高压缩性和造成明显的视觉假象震荡。Cummins 和 Rudman[30]提出了一种被应用于欧拉方法中的投影法。 Premoze 等人的工作[31]是通过求解泊松方程把速度场映射到一个无损的无散度子空间。Becker 和 Teschner [22]引入了采用高速声音的泰特方程,这样可以得到一个具有非常低的密度波动的弱可压缩性的公式。
2. 本文模型
在本节中,我们提出了一种针对不可压缩流体的基于 SPH的新模型。我们首先描述了基本的模拟流程和针对不可压缩流体的拉格朗日公式,然后我们引入新的压强计算方案和改进的压力和粘性力计算方法。基于传统的 SPH 方法,本文提出了一种新的改进的 SPH 模型。该模型的流体模拟框架如图 1 所示。带阴影的框架清楚地描述了本文主要工作。提出了一种新的可以满足不可压缩性的压强计算方法,然后利用新设计的公式来计算压力和粘性力,改进原有压力和粘性力的计算方法。
3. 实现和结果
我们使用一台 3.4 Ghz 酷睿 i7 4770 与 Nvidia GTX 670 显卡的计算机,来执行我们的程序。为了增加我们方法的可视化,我们通过使用三维立方体算法模拟光的反射和折射来绘制等值面和硬件着色器。首先把本文方法和传统方法达到的效果进行了比对,尤其针对于确定不可压缩性的压力计算方案造成的视觉差异。图 2描述了一个用 3500 个粒子模拟水的情况,传统的理想气体状态方程(左)和我们的压力的计算方法(右)得到的结果,上面行显示的是我们系统的渲染效果,下面行显示的是相应的单个粒子。图 3 中,我们使用了 155K 个粒子模拟了计算流体力学中的经典场景大坝坍塌。以上两个场景中,对于单个粒子我们都用相同的质量和静态密度进行初始化。从图 2 以及图 3 中我们可以清楚地看到,气体方程会导致高的压缩性,而我们的方法可以达到几乎不可压缩性。

4. 结束语
我们提出了一种针对几乎可压缩流体的改进的 SPH 方法。新的计算方案用于计算压强,压力和粘性力更为准确。与常用的理想气体方程相比,我们的方法能够更有效实现近不可压缩性。实验结果表明, 相比以前的方法,我们方法的应用能显著提高场景的视觉效果。我们的方法也可以用来模拟如飞溅等日常的流体现象,并且可以直接将我们的方法集成到其它基于 SPH 流体系统实现接近不可压缩性。将来,我们计划运用自适应时间积分方案优化我们的方法,使其变得更加高效。此外,我们将使用 NVIDIA 的 CUDA 架构来实现更大程度上的模拟性能的改善。
