【技术实现步骤摘要】
一种基于IISPH提高不可压缩水体模拟效率的实现方法
本专利技术涉及计算机图形学领域,具体涉及一种基于IISPH(ImplicitIncompressibilitySmoothparticlehydrodynamics,隐式不可压缩光滑粒子流体动力学)提高不可压缩水体模拟效率的实现方法。
技术介绍
受限于计算机的计算性能与计算效率,水体模拟技术长期处于理论研究阶段。近年来随着计算机硬件性能以及计算效率的提升,水体模拟得以实现,同时计算机图形学的发展进一步促进了基于物理的水体模拟技术的发展,使其逐渐成为备受关注的研究方向之一。光滑粒子流体动力学(Smoothparticlehydrodynamics,SPH)方法是一种通过求解质点组动力学方程计算流体(包括水体)整体运动状态的无网格方法,因其存在能够保持质量守恒、易于捕捉水花和气泡等诸多优点,被广泛应用于电影、游戏、广告以及军事等各个领域。传统SPH方法使用理想气体的状态方程求解水体粒子受到的压力,使得水体具有明显的可压缩性,从而导致在模拟大规模水体以及大尺度运动时,水体表面出现明显的不自然震荡,造成明显的视觉失真,因此实现水体的不可压缩性对于提高水体模拟真实感具有重要意义。现有的实现水体不可压缩性的思路主要分为两种:显式不可压缩方法以及隐式不可压缩方法。显式不可压缩方法通过直接求解液体状态方程或者压力泊松方程(PressurePoissonEquation,PPE)求解压力,而隐式不可压缩方程多采用预测校正的方式求解压力。1.显式不可压缩方法显式不可压缩方法主要通过直接求解液体状态方程或者压力泊松方程,得到 ...
【技术保护点】
1.一种基于IISPH(Implicit Incompressibility Smooth particle hydrodynamics,隐式不可压缩光滑粒子流体动力学)提高不可压缩水体模拟效率的实现方法,其特征在于实现步骤如下:步骤一:将速度无散度模型引入IISPH,构建不可压缩水体模拟框架首先,基于IISPH搭建不可压缩水体模拟框架。IISPH分为预测与校正两个阶段,预测阶段使用除压力外的其他力计算粒子密度以及速度,校正阶段通过施加压力实现水体的不可压缩性。其次,改进IISPH的密度恒定模型,使其与速度无散度模型共享计算因子,减少冗余计算,提高水体模拟效率。最后,将速度无散度模型引入不可压缩水体模拟框架中。针对IISPH求解出的速度存在散度误差的问题,将速度无散度模型引入IISPH方法中,修正粒子的散度误差。步骤二:引入速度无散度模型,以修正IISPH方法的散度误差IISPH修正的粒子速度存在散度误差,即不满足
【技术特征摘要】
1.一种基于IISPH(ImplicitIncompressibilitySmoothparticlehydrodynamics,隐式不可压缩光滑粒子流体动力学)提高不可压缩水体模拟效率的实现方法,其特征在于实现步骤如下:步骤一:将速度无散度模型引入IISPH,构建不可压缩水体模拟框架首先,基于IISPH搭建不可压缩水体模拟框架。IISPH分为预测与校正两个阶段,预测阶段使用除压力外的其他力计算粒子密度以及速度,校正阶段通过施加压力实现水体的不可压缩性。其次,改进IISPH的密度恒定模型,使其与速度无散度模型共享计算因子,减少冗余计算,提高水体模拟效率。最后,将速度无散度模型引入不可压缩水体模拟框架中。针对IISPH求解出的速度存在散度误差的问题,将速度无散度模型引入IISPH方法中,修正粒子的散度误差。步骤二:引入速度无散度模型,以修正IISPH方法的散度误差IISPH修正的粒子速度存在散度误差,即不满足本发明通过引入速度无散度模型,并使用该模型计算压力项,从而实现对粒子速度的散度误差进行修正,粒子i所受压力的大小由式(1)决定。其中表示粒子i所受的压力,表示水体粒子的体积,表示压力梯度。引入表示对粒子i的速度v进行修正的刚性系数,可得压力梯度的计算式如式(2)所示。其中mj表示邻近粒子j的质量,表示核函数的梯度,即为满足速度无散度条件的刚性系数。粒子在运动的过程中满足动量守恒。对粒子i进行受力分析可知,粒子i所受的压力为邻近粒子j的压力之和,并且粒子间的压力是一对相互作用力。由于相互作用力大小相等,方向相反,因此,粒子i所受的压力与粒子i对邻近粒子j的压力满足其中表示粒子i对粒子j的压力,这意味着压力作为一种粒子间的作用力,以内力的形式存在,并且所有粒子的压力之和为0。从水体的整体看来,该压力不产生水体本身动能的改变,满足动能守恒定律。粒子i对邻近粒子压力的大小与粒子间的距离有关,其求解公式如式(3)所示。其中xj表示粒子j的三维坐标,求解器必须通过改变压力值修正粒子的速度,从而使得粒子的速度满足无散度性。密度相对于时间的变化率如式(4)所示。其中Wij表示光滑核函数,要保证水体的不可压缩性,即密度不发生变化,则式(4)求得的密度相对于时间的变化率应为0。式(4)中vi-vj表示粒子间的相对速度差,该速度差由压强差导致,不同粒子受到的压力存在差别,因此导致粒子间的速度不一样。由压力引起的速度变化量如式(5)所示。其中Δvi表示由压力引起的速度变化量,将式(5)代入式(4),得到式(6)。由式(1)可以计算出粒子所受压力的大小,结合式(4)密度变化率为0,即可求解出刚性系数;使用该刚性系数修正粒子速度,能够使得速度的散度为0,从而使得密度相对于时间的变化率为0。将式(2)代入式(1),得再代入式(6),得到式(7)。根据式(7)求解出刚性系数如式(8)所示。其中且αi的大小只与粒子位置有关。式(8)为速度无散度模型,该模型通过求解刚性系数并使用该刚性系数计算压力,从而保证水体在运动的过程中密度变化率不发生波动,即保证水体的不可压缩性。最后根据式(9)计算粒子受到的合力,并使用该合力重新计算粒子的速度。其中表示粒子i所受合力,表示除压力外其他力的合力,表示粒子...
【专利技术属性】
技术研发人员:艾明晶,李锋,郑爱玉,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。