● 摘要
基于物理的流体仿真是虚拟现实领域的重要研究方向之一。在流体动力学的基础上,对固液气多种相态物质的复杂交互、海洋河流等大规模场景、多种流体之间的双向耦合等丰富的自然现象进行建模,是提高流体相关虚拟场景逼真性的有效手段。本论文以提高流体仿真的物理真实性和视觉逼真性、拓展流体交互的建模范围、分析流体场的特征并据此增强流体仿真的多尺度细节、模拟多相态物质构成的复杂场景、并行加速流体仿真算法为主要目标,通过对流体与固体的交互、浪花与雾气等水流运动产生的细节、固液气三态耦合与相互转化等特定自然现象进行物理建模,深入研究了基于物理的多种流体及其实时交互仿真方法。
本论文主要在以下四个方面取得了创新成果或重要进展:
(1)基于光滑粒子流体动力学和非线性有限元的流固耦合方法
由于双向流固耦合涉及到可变边界条件和受力等复杂情况,传统方法主要关注刚体与流体的交互,不涉及可变形固体,交互规则较为简单,但难以处理包含复杂流固交互的场景。现存方法的挑战主要集中在两个方面:第一,固体与流体通常采用相同的几何表示方法,如都采用粒子或者网格表示,但柔性固体的精确仿真更适合于采用非线性有限元等方法,而使用三角网格表示几何形态,这与传统的流体仿真方法难以整合在同一框架下。第二,由于双向流固耦合的物理模型复杂度高,计算时间长,难以达到实时仿真的要求。针对以上问题,本文提出一种基于光滑粒子流体力学和非线性有限元的双向流固耦合实时仿真方法,在流体和柔性固体仿真的基础上,动态生成代理粒子来控制三角网格与粒子的几何接触和受力分析,并在碰撞响应过程中通过对速度变化的建模来保证动量守恒;同时,显式检测流体粒子是否穿透固体表面并通过修改粒子位置来保证流固交互界面的无穿透条件。通过将上述算法实现在GPU上并行加速,本方法针对包含4万流体粒子和1.4万有限元四面体的流固耦合场景,可以达到实时仿真的效率。
(2)基于深度图获取与分析的流体细节增强方法
海洋河流等大规模流体运动过程中,由于流体与周边环境的交互,会产生水花、泡沫和气泡等丰富的细节。这类物质不像流体一样体积守恒,因此被统称为扩散性物质,现有方法一般采用粒子表示这些细节,并将其与流体的运动结合起来,以增强流体仿真的真实性。但是通常流体的规模很大,即包含的网格或者粒子的数量非常大,直接在三维空间内分析流体运动的特点非常耗时,而且现有方法通常需要追踪流体表面,复杂度也比较高。为此,本论文提出一种基于流体仿真场景“深度图”获取与分析的流体细节增强方法,以大规模流体的初步仿真结果为输入,利用OpenGL绘制方法得到一个自顶向下观测时的流体表面深度,再采用面向图像的分析方法检测此深度图上易于产生细节的区域,动态插入表示流体细节的粒子。这些虚拟粒子跟随着流体运动,并遵循单独的生存规律。通过将这些算法在GPU上并行实现,本方法针对包含4.7万流体粒子和40万扩散性物质粒子的复杂场景,能够在可交互帧率下完成仿真和逼真绘制。
(3)基于粒子与网格混合模型的多尺度水滴/水雾仿真方法
高速运动的流体在与固体碰撞或与空气交互时会产生喷射而出的水滴和弥漫的水雾等丰富现象,传统仿真方法一般针对流体表面的几何特征采用经验性模型动态生成粒子以表示水滴,并通过手动调整控制参数以改善仿真效果,缺少定量分析,也基本不考虑质量守恒等物理规律。另外,随着仿真对象种类和数量的增加,场景更为复杂时,模拟水滴和水雾产生的丰富效果所消耗的计算时间很长。针对上述问题,本文提出了一种基于粒子与网格混合模型的多尺度水滴与水雾的仿真方法,对于水流和水雾采用网格法,而对于水滴则采用粒子法,高效逼真地仿真三种不同形态的物质;随后对各物质之间的交互进行建模,将表示三种物质的不同模型无缝耦合在一起;另外,采用基于物理的方法来定量地控制三种形态之间的转化时间和转化量,简化了参数调整的过程。最后,本方法的整个算法模型都在GPU上实现,在96×64×96网格上针对包含12.1万流体粒子和9.5万水滴粒子的复杂场景,能达到每秒10帧的计算速度。
(4)基于混合模型的固液气三态耦合及相变仿真方法
固体、液体和气体三种相态物质的混合体在自然界很常见,但在计算机中仿真相应的现象则非常难,尤其是当三种物质同时存在并且运动时,两两之间都可能产生复杂交互。由于三种形态物质的运动规律各不相同,适合的几何表示方法也不尽相同,很难采用统一的表示和仿真方法来模拟它们。另外,这三种相态的物质在热能的驱动下会发生相变,例如固体受热可以转化成液体,这种相态变化使得建模更为困难,其中涉及到不同材质与形态之间的热传递,热能转换带来的相变判断,不同形态物质的动态生成,以及相变带来的拓扑变化。针对上述问题,本文扩展了网格和粒子混合模型,在网格上模拟各向异性的热传递,建立了热能与相变的联系;同时,利用粒子来表示多种物质的几何形态,便于不同物质的动态生成和相态转化;各种形态物质均在网格上计算速度场,以实现统一仿真和耦合,简化了多相态物质两两之间的耦合规律。另外,本文提出了一种基于碰撞检测与响应的方法来保证气体和液体粒子不会穿透固体的边界,以确保仿真结果的正确性。通过GPU并行加速,固液气三态仿真及其相互转化能够实现可交互帧率的仿真。
相关内容
相关标签