一种基于网格和粒子耦合的流体表面细节保护方法技术

技术编号:23161954 阅读:29 留言:0更新日期:2020-01-21 22:01
本发明专利技术涉及一种基于网格和粒子耦合的流体表面细节保护方法:(1)求解纳维‑斯特克斯方程(Navier‑Stokes,N‑S)采用网格方法,构成主体流体的仿真模型;(2)改进LBM‑VOF方法,并利用改进的VOF‑LBM耦合算法追踪流体的表面;(3)在异常表面网格位置生成粒子,然后通过粒子方法对粒子进行演化;(4)设计网格和粒子的耦合算法,将网格流体和粒子流体集成到同一个场景中,以此保证整个流场的物理守恒以及网格和粒子之间进行合理的物理信息传递;(5)最后利用屏幕空间方法进行真实感渲染,依次通过绘制球体,并计算每个像素点的深度值,进行深度滤波,根据深度值和像素点的位置信息求法向量,以及光照渲染,在GPU上实现一个逼真和实时的流体渲染。

【技术实现步骤摘要】
一种基于网格和粒子耦合的流体表面细节保护方法
本专利技术涉及一种基于网格和粒子耦合的流体表面细节保护方法,具体地说是一种基于物理的图形学动画模拟方法,其部分技术涉及到构建高精度的主体流体仿真模型、构建与LBM耦合的流体自由表面追踪模型、粒子的生成与演化、网格与粒子的耦合算法以及力学相关理论。主要应用于各种真实物体三维逼真模拟,特别是应用于娱乐游戏、电影特效等领域。
技术介绍
近些年来,计算机图形学领域研究的热点与难点之一就是真实感的场景、动画和现象的模拟,它在制造工程、影视特效、三维动画、电脑游戏与虚拟现实等领域应用广泛。为了模拟出和现实世界相差无几的真实感图形效果,可以基于物理原理和实验数据构建能准确描述物理现象的物理模型。基于物理模型的自然现象的绘制可以模拟出更加逼真的效果,但计算过于复杂,实时性得不到保证。因此,在基于物理的流体仿真中既要减少计算代价,又需要尽可能的保持逼真的视觉效果。当前计算流体力学中描述流体运动的基本方法有三种:基于粒子的拉格朗日方法、基于网格的欧拉方法以及LBM方法。拉格朗日方法以SPH为代表,是一种基于粒子的方法,着眼于流体质点的运动追踪上,考虑所有质点的运动,进而形成整个流体运动,其优点在于简单直观,容易理解,可模拟流体的运动细节,但是计算量大,难以选取合适的光滑核函数以及在特大变形的情况下容易发生畸变;欧拉方法基于网格,它不具体跟踪某一质点的具体运动过程,而是将流场作为对象。欧拉法有利于分析物理场属性,容易构造液体运动表面,能够处理变形与扭曲问题,但难以表现流体的表面细节;LBM方法是一种基于欧拉的“介观”的流体仿真方法,它忽略了大量分子运动的细节,只保留了分子运动速度的部分统计特征,该方法便于处理复杂边界,算法简单,具有很高的并行度,但依旧是基于网格的描述方法,同时在细节仿真上依然存在不足。文献1-KoernerC,ThiesM,HofmannT,etal.LatticeBoltzmannModelforFreeSurfaceFlowforModelingFoaming[J].JournalofStatisticalPhysics,2005,121(1-2):179-196,针对在表面网格重构分布函数的问题,提出了一种基于动量交换法的表面网格重构方法,但是此方法数值精度低,平衡状态下表面网格在视觉效果上还会发生抖动现象,同时文献1还针对异常表面网格提出了一套特殊的处理方法,一定程度上缓解了该问题,但是难以保证物理量的守恒。文献2-郝爱民,李帅,高阳.一种基于欧拉-拉格朗日耦合方法的流体仿真方法,该方法虽然也将LBM与SPH耦合在一起,但是与本专利技术有着本质的不同,首先是目标不同,文献2着重于增加流体细节,从而达到丰富的视觉效果,而本专利技术着重于保护流体仿真的数值精度,从而达到保护流体细节的目的;然后是粒子的生成不同,文献2为了达到增加细节的目的,在表面外生成粒子,而本专利技术主要是保护仿真的精度,用粒子解决异常网格问题,因此只在异常网格处生成粒子;最后是耦合方式不同,文献2采用PLSM进行表面追踪,并以此为媒介耦合LBM和SPH,本专利技术采用改进的VOF方法进行表面追踪,数值精度更高。简而言之,文献2为了增加流体细节,可能会破坏原流体的演化规律,而本专利技术是为了保护原流体演化规律的正常演化。为了获得更好的真实感模拟,本专利技术提出了一种基于网格和粒子耦合的流体表面细节保护方法,该方法主要由五部分组成:构建基于LBM的主体流体仿真模型、VOF追踪流体表面,并标记异常界面网格、生成粒子并基于SPH方法进行演化、设计耦合算法耦合网格流体与粒子流体以及真实感渲染,最后实现一个实时、多细节、逼真和稳定的流体仿真。
技术实现思路
本专利技术的技术解决问题:克服现有技术的不足,提供一种基于网格和粒子耦合的流体表面细节保护方法,既可以摆脱传统网格法存在的诸多缺陷,又可以很好地保护流体的细节,同时满足了流体仿真对实时性的要求。本专利技术的技术解决方案:一种基于网格和粒子耦合的流体表面细节保护方法,步骤包括:(1)求解纳维-斯特克斯方程(Navier-Stokes,N-S)采用格子莫尔兹曼方程(LatticeBoltzmannMethod,LBM),LBM的碰撞模型采用线性Bhatnagar-Gross-Krook(BGK)碰撞模型,同时采用n维离散空间的m个速度多维离散网格模型(DnQm模型),构成主体流体的仿真模型,然后经过演化得到每个网格的物理信息;(2)根据步骤(1)得到的每个网格的物理信息,利用改进的LBM-VOF耦合算法追踪流体的表面,追踪流体表面,重构表面网格分布函数,该步骤得到了主体流体的表面以及表面新的分布函数,并标记流体表面网格中异常表面网格的位置;(3)在步骤(2)获得异常表面网格位置后,首先对异常表面网格进行处理,即在该位置生成粒子代替原异常表面网格,同时粒子具备原异常表面网格的物理信息,然后通过SmoothParticleHydrodynamics(SPH)方法对粒子进行演化,得到粒子新的物理信息;(4)根据步骤(1)所得网格的物理信息和步骤(3)所得粒子的物理信息设计耦合算法,将网格流体和粒子流体集成到同一个场景中,并利用耦合算法将粒子流体转换为网格流体,并重新计算网格的物理信息,包括质量、速度、位置,以此保证整个流场的物理守恒以及网格和粒子之间进行合理的物理信息传递,并得到网格新的物理信息;(5)将步骤(3)和步骤(4)所得到的粒子和网格的物理信息,利用屏幕空间方法,依次通过绘制球体,并计算每个像素点的深度值,深度滤波,根据深度值和像素点的位置求法向量,以及光照渲染,在GPU上实现一个逼真和实时的流体渲染。本专利技术的原理:(1)传统的LBM方法便于处理复杂边界、算法简单易实现以及并行性高等多个优势构建对主体流体仿真的模型,LBM方法可以分为碰撞和迁移两部分,公式分别为:fi(x+ciδt,t+δt)=fi′(x,t)其中,i为离散方向的下标,δt为单位时间步长,ci为离散速度的方向向量,ciδt为单位时间的迁移步长,τ为无量纲松弛时间。(2)传统的LBM-VOF耦合算法通过计算每个流体格子的质量变化来追踪流体的自由表面,将模拟区域大致划分为三类网格:流体网格(记作”F”),表面网格(记作”I”)和没有流体的网格(记作”G”),严格意义上I网格必须与F网格相邻,F网格必须被F网格或I网格包围(即F网格不与G网格相邻),同时F网格与G网格之间的转换必须先转换为I网格。但在实际情况中,会出现I网格不与F网格相邻的情况(本专利技术将此类I网格称为异常表面网格),传统解决方案是特殊处理I网格的质量交换以及降低网格类型的转换条件,但是会导致物理量不守恒和数值解的不稳定;针对LBM-VOF方法产生的异常表面网格,本专利技术不再人工干预这些异常表面网格的演化,本专利技术采用粒子的方法处理这些异常表面网格,利用SPH方法利于刻画流体细节的优势进行粒子的演化,保证了物理守恒和数值解的稳定性,同时丰富了流体表面的细节。(本文档来自技高网
...

【技术保护点】
1.一种基于网格和粒子耦合的流体表面细节保护方法,其特征在于,步骤包括:/n(1)采用格子莫尔兹曼方程LBM(Lattice Boltzmann Method,LBM)求解纳维-斯特克斯方程(Navier-Stokes,N-S),LBM的碰撞模型采用线性Bhatnagar-Gross-Krook(BGK)碰撞模型,同时采用n维离散空间的m个速度多维离散网格模型(DnQm模型),构成主体流体的仿真模型,然后经过演化得到每个网格的物理信息;/n(2)根据步骤(1)得到的每个网格的物理信息,利用改进的LBM-VOF耦合算法追踪流体表面,并重构流体表面网格的分布函数,得到主体流体的表面以及表面新的分布函数,并标记流体表面网格中异常表面网格位置;/n(3)在步骤(2)获得异常表面网格位置后,首先对异常表面网格进行处理,即在该异常表面网格位置生成粒子代替原异常表面网格,同时粒子具备原异常表面网格的物理信息,然后通过Smooth Particle Hydrodynamics(SPH)方法对粒子进行演化,得到粒子新的物理信息;/n(4)根据步骤(1)所得网格的物理信息和步骤(3)所得粒子的物理信息设计耦合算法,将网格流体和粒子流体集成到同一个场景中,并利用耦合算法将粒子流体转换为网格流体,并重新计算网格的物理信息,物理信息包括质量、速度、位置,保证整个流场的物理守恒以及网格和粒子之间进行合理的物理信息传递,并得到网格新的物理信息;/n(5)将步骤(3)得到的粒子新的物理信息和步骤(4)网格新的物理信息,利用屏幕空间方法,依次通过绘制球体,并计算每个像素点的深度值,进行深度滤波,根据深度值和像素点的位置信息求法向量,以及光照渲染,在GPU上实现一个逼真和实时的流体渲染。/n...

【技术特征摘要】
1.一种基于网格和粒子耦合的流体表面细节保护方法,其特征在于,步骤包括:
(1)采用格子莫尔兹曼方程LBM(LatticeBoltzmannMethod,LBM)求解纳维-斯特克斯方程(Navier-Stokes,N-S),LBM的碰撞模型采用线性Bhatnagar-Gross-Krook(BGK)碰撞模型,同时采用n维离散空间的m个速度多维离散网格模型(DnQm模型),构成主体流体的仿真模型,然后经过演化得到每个网格的物理信息;
(2)根据步骤(1)得到的每个网格的物理信息,利用改进的LBM-VOF耦合算法追踪流体表面,并重构流体表面网格的分布函数,得到主体流体的表面以及表面新的分布函数,并标记流体表面网格中异常表面网格位置;
(3)在步骤(2)获得异常表面网格位置后,首先对异常表面网格进行处理,即在该异常表面网格位置生成粒子代替原异常表面网格,同时粒子具备原异常表面网格的物理信息,然后通过SmoothParticleHydrodynamics(SPH)方法对粒子进行演化,得到粒子新的物理信息;
(4)根据步骤(1)所得网格的物理信息和步骤(3)所得粒子的物理信息设计耦合算法,将网格流体和粒子流体集成到同一个场景中,并利用耦合算法将粒子流体转换为网格流体,并重新计算网格的物理信息,物理信息包括质量、速度、位置,保证整个流场的物理守恒以及网格和粒子之间进行合理的物理信息传递,并得到网格新的物理信息;
(5)将步骤(3)得到的粒子新的物理信息和步骤(4)网格新的物理信息,利用屏幕空间方法,依次通过绘制球体,并计算每个像素点的深度值,进行深度滤波,根据深度值和像素点的位置信息求法向量,以及光照渲染,在GPU上实现一个逼真和实时的流体渲染。


2.根据权利要求1所述的一种基于网格和粒子耦合的流体表面细节保护方法,其特征在于:所述步骤(2)中,重构流体表面网格的分布函数fi(I),具体公式如下:
fi(I)=fi(G)









其中,表面网格“I”在空网格“G”的i方向,i与互为反向,fi(I)为表面网格重构后的分布函数在方向上的分量,fi(G)为G网格对I网格作用力在i方向上的分量,为G网格i方向平衡态分量,为G网格i方向非平衡态分量,ρG为G网格密度,为常数,u为I网格速度,ρI为I网格密度,为I网格方向上的分量。


3.根据权利要求1所述的一种基于网格和粒子耦合的流体表面细节保护方法,其特征在于:所述步骤(3)中异常表面网格的处理方法是用粒子代替异常表面网格,网格转换为粒子的具体公式如下:
(31)计算网格转换为粒子后,粒子的位置信息,具体公式如下:
posparticle...

【专利技术属性】
技术研发人员:张凤全魏秋明
申请(专利权)人:北方工业大学
类型:发明
国别省市:北京;11

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

1