一种干燥颗粒流实时仿真与交互方法技术

技术编号:20389952 阅读:27 留言:0更新日期:2019-02-20 02:53
本发明专利技术公开了一种干燥颗粒流实时仿真与交互方法,其步骤包括:1)利用浅沙方程对干燥颗粒流动力学进行建模;2)利用二维高度场对模型离散化,得到高度场每个网格单元存储干颗粒流的深度及水平运动速度;3)采用三维均匀网格对距离高度场表面设定深度以内的区域离散化;4)利用水平运动速度对3)离散化所得各网格单元中的干燥颗粒沿颗粒流的水平速度方向进行平流操作;然后对干燥颗粒的垂直坐标进行变换,使得干燥颗粒沿着干燥颗粒场的表面运动;5)对高度场施加压强力和摩擦力进行速度更新,并用更新后的速度对颗粒流沿其水平速度方向进行平流操作;6)重复3)~5)之间的操作并更新时间,直到达到设定的仿真终止条件。

【技术实现步骤摘要】
一种干燥颗粒流实时仿真与交互方法
本专利技术属于计算机图形学与人机交互领域,具体涉及一种基于浅沙方程的干燥颗粒流实时仿真与交互方法。
技术介绍
颗粒介质是地球上继水之后人类第二大最常接触的物质。严格地说,颗粒状物质是指包含大量不连续的固体颗粒的集合,其间隙填充有流体或气体。一方面它表现出类似流体的行为,另一方面其也具备一定固体的特性。沙子一方面可以像流体一样流动形成任意形状,另一方面则可以在静止的时候像固体形成不同高度的沙堆。尽管研究人员已经对颗粒流的物理学开展了大量研究,其运动机理依然没有被完全摸清。实验表明,颗粒流的动力行为不仅取决于颗粒质量,还取决于其他因素,如颗粒大小,颗粒形状,含水饱和度等。如何高效模拟可能包含数百万乃至数亿颗粒的颗粒流,长期以来一直被认为是数值模拟的难题。本专利技术主要针对一种特殊的粒状介质——干燥颗粒流进行实时仿真。如果颗粒大小足够大(如尺寸大于100μm)且颗粒间的粘度足够小,则本专利技术可以忽略所有微观的力(如静电,空气动力学和毛细管力)对干燥颗粒流的动力学进行简化。此时,本专利技术可以忽略凝聚力,从而仅考虑动量转换和能量耗散来建模干燥颗粒流的动力学。在连续介质力学中,干粒状流近似的采用单侧不可压缩流体模型[RahulNarain,AbhinavGolas,andMingCLin.2010.Free-flowinggranularmaterialswithtwo-waysolidcoupling.ACMTransactionsonGraphics(TOG)29,6,2010]或基于Drucker-Prager的弹塑性材料模型[GergelyKl′ar,TheodoreGast,AndrePradhana,ChuyuanFu,CraigSchroeder,ChenfanfuJiang,andJosephTeran.2016.Drucker-pragerElastoplasticityforSandAnimation.ACMTrans.Graph.35,4,2016]进行模拟。然而这些方法只适用于三维场景。一旦颗粒流场景较大,其仿真的效率将会受到严重影响,无法满足实时应用对于仿真效率的要求。
技术实现思路
本专利技术主要针对传统方法仿真干燥颗粒流效率低的问题,提供一种干燥颗粒流实时仿真与交互方法。本专利技术利用浅沙方程对干燥颗粒流动力学进行建模,以及通过降维技术将三维运动控制方程转化为二维运动控制方程,从而极大的降低了仿真计算量,同时通过采用GPU对算法进行并行求解,使得大规模干燥颗粒流的实时仿真成为可能。具体来说,本专利技术的技术方案如下:一种基于浅沙方程的干颗粒流实时仿真与交互方法,其具体步骤包括:(1)针对干燥颗粒流的特性,提出浅沙方程对干燥颗粒流动力学进行建模,得到干燥颗粒流动力学模型;(2)利用二维高度场对得到的干燥颗粒流动力学模型进行离散化,得到高度场每个网格单元存储干颗粒流的深度及水平运动速度;(3)针对步骤(2)得到的高度场,对距离高度场表面设定深度h以内的区域进一步采用三维均匀网格进行离散化,其中每个网格单元包含0个或者1个粒子用于存储干燥颗粒的位置;(4)针对步骤(2)得到的高度场施加压强力,并更新得到新的速度;(5)针对步骤(4)得到的高度场施加摩擦力,并更新得到新的速度;(6)利用步骤(5)得到的最终速度,对颗粒流沿其水平速度方向进行平流操作;(7)利用步骤(2)中的水平运动速度,对步骤(3)中的该设定区域内离散化后各网格单元中的干燥颗粒沿颗粒流的水平速度方向进行平流操作;(8)对步骤(7)中运动之后的干燥颗粒的垂直坐标进行变换,使得干燥颗粒沿着高度场的表面运动;(9)如存在交互物体,利用交互物体当前的运动速度对高度场的运动状态进行更新;(10)仿真运行过程中重复步骤(4)到(9)之间的操作并更新时间,直到达到终止时间或者其他仿真终止条件。进一步的,步骤(1)结合干燥颗粒流的特性,提出了两个假设:一、干燥颗粒流仿真区域的垂直尺度要远小于水平尺度;二、整个高度场沿垂直方向被分成两层——稀疏层和稠密层,其中稀疏层为靠近高度场表面的部分,其运动遵从浅水方程所述的流体动力学;稠密层为靠近高度场底部的部分,其中内部压强保持恒定,且不受外力的影响。进一步的,高度场的干燥颗粒流动力学模型可以利用如下的浅沙方程进行描述:其中h是高度场高度,其沿垂直方向被分解为稀疏层和稠密层两部分(如图2所示),h表示高度场的稀疏层的高度,s是高度场表面的垂直坐标,u和v分别表示干燥颗粒流沿x和y方向的运动速度,g是重力加速度,μ是摩擦系数,t表示时间,和分别代表水平运动速度归一向量的分量。进一步的,干燥颗粒流动力学模型所描述的干燥颗粒流可以利用二维高度场进行离散,且整个动力学过程完全利用高度场来完成。进一步的,步骤(3)中新生成粒子的坐标可以利用如下的公式表示:其中s、t、l表示三维网格的沿x、y、z方向的索引,Δd表示网格间距,rand(0,1)表示生成范围为(0,1)的随机函数。进一步的,步骤(4)中压强力的计算方式如下:其中表示索引为(i,j)的高度场网格单元在t时刻的干颗粒流深度,表示索引为(i,j)的高度场网格单元所对应的稀疏层的高度,Δx、Δy分别表示x和y方向的网格间距,是防止稀疏层的高度超过高度场的总高度。进一步的,步骤(5)中摩擦力遵从动能最大耗散原理:其中n是沿着干燥颗粒流水平速度的归一化单位向量,和中的下标(i,j)表示高度场中单元格索引,Δt表示时间步长;从而摩擦力的计算公式表述如下:其中,(hu,hv)″i,j表示索引为(i,j)的网格单元施加压强力之后得到的水平平均速度向量,n″i,j表示索引为(i,j)的网格单元施加压强力之后得到的归一化水平平均速度向量,μmax表示最大摩擦系数。进一步的,步骤(8)中粒子通过如下公式进行变换:其中xp=(xp,yp,zp)表示粒子的当前坐标,zp表示粒子的z轴坐标,sI(xp)表示高度场表面坐标s在粒子xp处进行二维线性插值的得到的值,表示粒子变换后的坐标。进一步的,步骤(9)当交互物体与颗粒流存在相交区域时,本专利技术预先对交互物体采用有向距离场进行离散化,同时假定高度场网格单元与交互物体相交部分以与交互物体相同的速度移动,则根据动量守恒定律,二维高度场上网格单元的新速度表示为其中vr表示交互物体的速度,vi,j表示网格单元的速度,hi,j表示二维高度场网格单元的沙层深度,d表示网格单元顶部到交互物体表面的最近距离。至此,完成了整个算法。与现有技术相比,本专利技术具有如下的优点:(1)本专利技术提出浅沙方程用于建模干燥颗粒流的动力学,其有效地将传统方法所基于的三维颗粒流运动控制方程降维到二维空间进行仿真,从而极大的降低了计算开销;(2)本专利技术中每一个步骤都具有高并行性,因而适用于现有GPU架构,可以利用硬件加速对大规模干燥颗粒流进行实时模拟;(3)本专利技术采用有向距离场对交互物体进行预离散化并利用GPU进行了加速,支持不同几何形态的交互物体与颗粒流的实时交互。附图说明图1为仿真算法流程图。图2为沙床示意图,其由稀疏层和稠密层两部分构成。图3为交互物体与沙床交互示意图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面通过具体实现本文档来自技高网
...

【技术保护点】
1.一种干燥颗粒流实时仿真与交互方法,其步骤包括:1)利用浅沙方程对干燥颗粒流动力学进行建模,得到干燥颗粒流动力学模型;2)利用二维高度场对该干燥颗粒流动力学模型进行离散化,得到高度场每个网格单元存储干颗粒流的深度及水平运动速度;3)采用三维均匀网格对距离高度场表面设定深度以内的区域进行离散化;4)利用步骤2)得到的水平运动速度对步骤3)离散化所得各网格单元中的干燥颗粒沿颗粒流的水平速度方向进行平流操作;然后对运动之后的干燥颗粒的垂直坐标进行变换,使得干燥颗粒沿着干燥颗粒场的表面运动;5)对步骤2)得到的高度场施加压强力和摩擦力进行速度更新,并用更新后的速度对颗粒流沿其水平速度方向进行平流操作;6)重复步骤3)到5)之间的操作并更新时间,直到达到终止时间或者设定的仿真终止条件。

【技术特征摘要】
1.一种干燥颗粒流实时仿真与交互方法,其步骤包括:1)利用浅沙方程对干燥颗粒流动力学进行建模,得到干燥颗粒流动力学模型;2)利用二维高度场对该干燥颗粒流动力学模型进行离散化,得到高度场每个网格单元存储干颗粒流的深度及水平运动速度;3)采用三维均匀网格对距离高度场表面设定深度以内的区域进行离散化;4)利用步骤2)得到的水平运动速度对步骤3)离散化所得各网格单元中的干燥颗粒沿颗粒流的水平速度方向进行平流操作;然后对运动之后的干燥颗粒的垂直坐标进行变换,使得干燥颗粒沿着干燥颗粒场的表面运动;5)对步骤2)得到的高度场施加压强力和摩擦力进行速度更新,并用更新后的速度对颗粒流沿其水平速度方向进行平流操作;6)重复步骤3)到5)之间的操作并更新时间,直到达到终止时间或者设定的仿真终止条件。2.如权利要求1所述的方法,其特征在于,所述干燥颗粒流动力学模型为:其中,h是高度场的高度,表示高度场中稀疏层的高度,s是高度场表面的垂直坐标,u表示干燥颗粒流沿x方向的运动速度,v表示干燥颗粒流沿y方向的运动速度,g是重力加速度,μ是摩擦系数,t表示时间,和分别代表水平运动速度归一化向量的两分量。3.如权利要求2所述的方法,其特征在于,索引为(i,j)的网格单元在t时刻施加的所述压强力为其中表示高度场中索引为(i,j)的网格单元在t时刻的干颗粒流深度,Δx、Δy分别表示x和y方向的网格间距,是防止稀疏层的高度超过高度场的总高度,表示索引为(i,j)的网格单元所对应的稀疏层的高度,是t时刻(i+1,j)网格单元的高度场表面z坐标,是t时刻(i-1,j)网格单元的高度场表面z坐标,是t时刻(i,j+1)网格单元的高度场表面z坐标,是t时刻(i,...

【专利技术属性】
技术研发人员:何小伟朱奎鑫汪国平王宏安李胜
申请(专利权)人:中国科学院软件研究所北京大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1