SPH流体 - 核衍生物

时间:2014-06-29 16:54:06

标签: algorithm simulation physics game-physics particle-system

我目前正在尝试创建一个SPH fluid模拟器。要开始,我已尝试实施the paper from Müller。因此整个算法基于计算三种不同的力(压力,粘度和表面张力)。

压力可以用公式9计算,其中核函数的导数是r_{i,x} r_{i,y} r_{i,z}的部分导数。所以我们得到一个三维向量。

但是对于粘度和表面张力,我们需要W的第二个导数,它也应该是一个三维向量,但方程1419期望一个标量?

有人暗示我吗?

2 个答案:

答案 0 :(得分:2)

我看不出公式14和19中的任何重大问题(但我并没有声称对论文过于彻底了解)。可能是因为这个符号让你误入歧途吗?

内核函数 W r )是标量字段(矢量参数,标量结果)。如果我们采用它的渐变 W ,我们得到一个矢量场。但是,如果我们取 W 的拉普拉斯算子(²),它与计算矢量场的发散度相同,即 W 。反过来,这通过分歧的定义给出了一个标量字段。

因此,考虑到这一点,似乎方程式914看起来相当合理。

答案 1 :(得分:0)

关键要点是拉普拉斯算子映射了它所应用领域的散度。

这种散度涉及点积,它描述了矢量在场中的对齐方式。因此,拉普拉斯算子描述了场的二阶偏导数之和。组件汇总在一起。

内核只需要应用二阶微分,因为处理粘度的“梯度”是给定的,即相对速度向量。

Laplacian