您的位置:首页 > 理论基础

【CG物理模拟系列】流体模拟--粒子法之SPH(理论)

2016-05-31 13:46 537 查看


SPH法介绍

SPH(Smoothed Particle Hydrodynamics)是早年银河系碰撞,天体形成等宇宙物理学模拟所使用的方法[Lucy1977],近年来被应用到流体,热等其他现象处理中。但是,由于是曾经宇宙物理学中常产生的压缩性流体问题的处理方法,并不适用于像水和流速较慢的空气(流速<<音速)这样的非压缩性流体 (强行转换非压缩性的研究近年来也有很多[Becker2007,Solenthaler2009])。

[Desbrun1996]将SPH法第一次应用于CG领域, 此后[Muller2003]将其改进,使其也能适用于3次元的粘性流体。 以下,主要对[Muller2003]的方法进行详细介绍。

SPH法的离散化方程

SPH法中的物理量

的离散化方程如下所示。





这里,N是临近粒子的集合,m是粒子质量,

是粒子密度,
W是kernel方程。内核方程的有效半径是h,有效半径外值为0(Compact Support
)。 同时,它的积分设定为1(

)

根据上述方程,通过周围粒子的权重相加和来近似计算物理量。 另外,物理量的梯度

可以使用内核函数的导数来表示。 物理量

的梯度公式为,





物理量

的laplacian算子为,





使用上述方程,流体的密度方程如下所示。







SPH法中NS方程(Navier-Stokes equations)的解法

支配方程(非压缩性的navier-stokes方程)如下所示.









这里,

是流体速度,

是动粘性系数,

是流体的密度,p为圧力,

是外力,包含重力,表面张力等。
式一是质量守恒方程,式二为动量守恒方程。

先将支配方程用粒子离散化后,通过SPH法求解。为了将粒子表示为液体,只要粒子质量保持不变就可以保证质量的守恒性,因此,不必求解质量守恒方程(这里仅质量守恒,体积不守恒)。质量保存式パーティクル質量が変化しないかぎり質量保存性が常に保持され,質量保存式を解く必要がない(あくまで質量保存であり,体積保存ではないことに注意).同时,粒子法不必像网格法一样计算平流项,只需移动粒子即可。为此,不必离散化平流项

。所以,各粒子i的速度

的计算公式更新如下。











的各项随后叙述。



粘性扩散项 

粘性项根据流体的速度构成。速度

的laplacian算子离散化后( 把离散化方程



替换),由于粒子i到j 所施加的力与j到i所施加的力不同(asymmetric) 。 不做处理的话,速度快的粒子对速度慢的粒子有影响,反之,影响力小的粒子的速度则会发散。

粘性力便是由流体的速度差来决定的力,通过下式即可实现symmetric的作用。







圧力项

圧力项是由压力值的梯度组成。通过使用梯度值用的离散化方程,虽然能离散化压力项,但是也会发生同粘性扩散项相同的asymmetric问题,根据[Muller2003],





可以使用压力的平均值来解决。



可以通过表示压力和密度关系的状态方程计算。理想气体的状态方程为,





这里,k是气体常数。大多数的SPH模拟,使用的是[Desbrun1996]提出的公式。





这里,

是模拟对象的流体密度。例如,水的密度为

,编程时,初期设定使用最大密度即可。这个公式简单易懂,但会导致流体压缩。非压缩性强制转换中最常用的方法是 求解Poisson 方程

,但为此也要求解一个庞大的线形系统,非常耗时。

[Becker2007]使用Tait方程,可以确保一定程度的非压缩性。Tait方程如下.





这里,



B是圧力定数.





这里,

是音速。通过 

,从

的关系中计算得出。
密度的変化率

常用0.01表示。

这个方法保有很高的非压缩性(1%以下),为了使计算更安定,timestep的值要设定的很小才可以。timestep的大小可以通过CFL(Courant-Friedrichs-Lewy)计算





这里,

是外力,

是粘性定数,根据[Becker2007]取值范围为0.08~0.5。



参考文献 

[Becker2007] M. Becker and M. Teschner, Weakly Compressible SPH for Free Furface Flows, In Proc. SCA2007, pp.209-217, 2007.
[Desbrun1996] M. Desbrun and M.-P. Cani, Smoothed Particles: A New Paradigm for Animating Highly Deformable Bodies, Eurographics Workshop on Computer Animation and Simulation (EGCAS), pp.61-76. 1996.
[Lucy1977] L. B. Lucy, A Numerical Approach to the Testing of the Fission Hypothesis, The Astronomical Journal, Vol.82, No.12, pp.1013-1024, 1977.
[Muller2003] M. Muller, D. Charypar and M. Gross, Particle-based Fluid Simulation for Interactive Applications, In Proc. SCA2003, pp.154-159, 2003.
[Solenthaler2009] B. Solenthaler and R. Pajarola, Predictive-Corrective Incompressible SPH, In Proc. SIGGRAPH2009, pp.1-6, 2009.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息