【CG物理模拟系列】流体模拟--粒子法之Position Based Fluids

本文介绍了Position Based Fluids(PBF)方法用于流体模拟,强调了保持流体非压缩性的重要性。PBF是一种基于位置的模拟方法,避免了传统力学方法的误差积累。通过约束条件更新粒子位置,实现稳定且高速的计算。文中详细阐述了PBF的基本原理,包括如何在粒子法中应用,并讨论了张力稳定化以及边界粒子处理,以防止粒子过度集中和边界问题。
摘要由CSDN通过智能技术生成

Position Based Fluids

我们使用粒子法进行流体模拟时,一个很重要的因素就是如何保持流体的非压缩性。非压缩性是指,随着流体的流动,密度在空间和时间上不发生变化,比如像水这样的流体,另外,与音速相比流速足够小的空气也可以当成非压缩性流体来考虑 (接近音速的时候,空气会发生压缩,音速飞机产生的冲击波即音爆便是由空气压缩产生的)。为了保持非压缩性,学者们提出了各种各样的方法,如MPS,WCSPH,PCISPH,IISPH等, 这之中,能非常高速且稳定计算的方法便是我们这次要讲的基于位置流体法(Position Based Fluids, 以下简称PBF)[1]。

PBF是基于位置法(Position-based method)[2] 中的一种。Position-based法与以前的基于力学方法不同,是根据物体位置(空间坐标值)间的制约条件直接更新物体(传统的基于力学法则是根据支配方程,按照加速度->速度->位置的顺序逐步变更),因此不会产生在传统力学方法中由逐步积分所产生的误差积累。但是,由于这种方法中,顶点及粒子的位置关系所遵循的制约条件是属于几何学的范畴,严格意义上讲不属于物理模拟。

Position-based法介绍

这里先对基本的position-based法进行说明。首先,对于一个产生位移的点,其坐标为pbf.eq1.gifpbf.eq2.gif是其制约条件。 正常状态下pbf.eq3.gif, 当粒子发生一个微小量pbf.eq4.gif的移动后,也满足这个条件,即 pbf.eq5.gif。 把这个式子泰勒展开,即

pbf.eq6.gif

忽略掉2次以上的项,我们将得到一个关于pbf.eq4.gif的方程。

pbf.eq7.gif

pbf.eq8.gif可以由制约条件的定义计算。现在,把pbf.eq1.gif当作粒子的中心坐标,在3次元空间粒子数为pbf.eq9.gif的条件下,需求得未知数的个数为

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值