【技术实现步骤摘要】
一种基于涡方法的液体表面漂浮物运动的模拟方法
[0001]本专利技术涉及一种基于涡方法的液体表面漂浮物运动的模拟方法,属于流体模拟
技术介绍
[0002]自然界中气泡和泡沫的形态变化、运动是一个非常常见的现象,随着计算机图形学的发展,人们可以通过动力学建模模拟出逼真的气泡运动场景,例如肥皂泡的演化与融合、气泡爆炸、水中环状气泡的演化、沸腾时的气泡效应等。在影视特效、虚拟现实、游戏等多个领域得到应用。然而随着外部条件的不同,气泡会表现出不同的运动特性。例如浮于水面之上的气泡、泡沫团受移动边界影响的运动特性,它们的运动规律比较复杂,物理学界的物理模型并不适合于直接模拟它们的运动特性,因此如何简单高效的模拟出视觉上更贴近真实的水面上泡沫团运动是目前计算机图形学界的难题。
[0003]目前的流体模拟领域中,对水面上液体表面漂浮物漩涡状运动建模的工作非常少,《Simulation and rendering of liquid foams》提出一种泡沫的建模与绘制方法,使用显式弹簧质点模型对泡沫之间相互作用力进行建模,但并未考虑移动边界对泡沫的运动影响。《Simulating the Coalescence and Separation of Bubble and Foam by Particle Level Set Method》首次提出一种基于Particle Level Set方法的液体表面气泡和泡沫运动的建模方法,使用半拉格朗日方法求解对流项,由于半拉格朗日对流本身的数值耗散问题以及没有进行速度场的投 ...
【技术保护点】
【技术特征摘要】
1.一种基于涡方法的液体表面漂浮物运动的模拟方法,其特征在于:所述模拟方法基于液体表面漂浮物的运动模拟系统进行,包括以下步骤:S1、底层流体使用去掉速度场的基于高度场的浅水方程进行求解,最终得到水面的高度信息;S2、求得水面高度后,水面上泡沫的漩涡状运动由二维下涡粒子法来求解,通过新生涡元法来制造涡量;S3、气泡之间相互作用力使用改进的约束动力学进行建模,将刚度系数视为与距离有关的变量,达到气泡团被物体划开的效果;将边界处液体对固体压强的计算转为对移动边界的面元上的涡强度分布的计算,从而计算出流场对气泡的作用力;S4、对Biot
‑
Savart积分的计算使用四叉树算法进行加速。2.根据权利要求1所述的一种基于涡方法的液体表面漂浮物运动的模拟方法,其特征在于:所述模拟系统包含底层流体建模单元、泡沫建模单元、气泡融合单元以及气泡与移动边界交互单元:所述底层流体建模单元用于绘制液体表面的波纹细节;所述泡沫建模单元用于对泡沫漩涡状运动进行建模;所述气泡融合单元用于对气泡之间强相互作用力进行建模;所述气泡与移动边界交互单元用于处理移动边界对气泡团的作用。3.根据权利要求1所述的一种基于涡方法的液体表面漂浮物运动的模拟方法,其特征在于:所述步骤S1的具体步骤为:构建高度场
‑
浅水方程模型,为:浅水方程模型,为:其中,h为高度场的高度信息,u为流体的速度场,f为外力项,ρ为流体密度,p为流体压强;忽略含有速度的项以及外力项,得到简化后的浅水方程:得到一个不含速度项的简化后的浅水方程,写出其在2D情形下的离散形式:其中,H为常数;固液耦合计算的离散形式:固液耦合计算的离散形式:其中,β为粘性系数,将每个网格对应的方程联立起来,最终得到一个稀疏
的线性系统:Ax=b
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)其中,A为对称正定矩阵,使用不完全Cholesky预处理共轭梯度法求解此线性系统。4.根据权利要求1所述的一种基于涡方法的液体表面漂浮物运动的模拟方法,其特征在于:所述步骤S2的具体步骤为:液体表面的泡沫流动,使用N
‑
S方程来描述:S方程来描述:对公式(7)两边同时作旋度运算,得到N
‑
S方程的旋度版本:其中,式(10)右侧第一项为涡伸展项,第二项为粘性项,μ为粘性系数,第三项为外力项;使用二维涡粒子法,因此涡伸展项为0;且不考虑粘性项的计算,因此,将公式(8)简化为:在粒子上求解式(9);通过Biot
‑
Savart法则,从涡量场中恢复出速度场,使用Park2005引入的方法:Savart法则,从涡量场中恢复出速度场,使用Park2005引入的方法:Savart法则,从涡量场中恢复出速度场,使用Park2005引入的方法:其中,公式(10)中的Γ为粒子携带着的环量,φ为势函数;公式(11)中的σ为光滑系数;u
V
为空间中涡粒子在x处引发的诱导速度;引入边界层理论,通过计算使得在移动边界附近的流场满足无滑移边界条件;对于移动边界的无滑移边界条件,使用新生涡元法来求解;对于流场的边界以及气泡边界,使用panel method来分别求解无滑移和无穿透边界条件;流场中放置一个圆形移动边界,边界条件为:其中,u
b
为流体在边界处的速度分布;假设边界表面分布有无限多个涡点,每个涡点i都有相对应的环量分布Γ
i
;这些涡点会在空间中引发一个速度场,根据公式(13)建立一个线性系统,解得每个涡点上的环量分布;在边界上采样N
b
个涡点,即图中黑色的点,在边界附近采样N
α
个新生的涡粒子,列出所需求解的线性系统:K=[K
iα
]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
其中,Γ=[Γ
α
]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(18)U=[u
b
(b
i
)
‑
u
d
(b
i
)
‑
u
∞
]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(18)为新生涡粒子在边界采样点上的单位诱导速度,u
b
(b
i
)为边界的移动速度,u
d
(b
i
)为...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。