多流体 PCISPH

R1cky28 views

PCISPH

这里是原始论文:"Predictive-Corrective Incompressible SPH"

1.引言

在 SPH 的背景下,已经采用了两种不同的策略来建模不可压缩性:

  • 使用刚性的状态方程(EOS)
    • 标准 SPH:刚性较低,不真实
    • WCSPH:刚性较高,时间步较小
  • 求解压力泊松方程
    • ISPH:速度慢

本文提出了一种不可压缩 SPH 方法,兼具 WCSPH 和 ISPH 的优点:

  • PCISPH:计算成本低,时间步大

2. PCISPH 模型

2.1 基本 SPH / WCSPH 算法

位于位置 $x_i$ 的粒子 $i$ 的密度 $ ho_i$: $$ \rho_i = m_i\sum_j W(x_{ij}, h) $$

粒子 $i$ 的压力 $p_i$ 为: $$ p_i = \frac{k\rho_{0i}}{\gamma}\left(\left(\frac{\rho_i}{\rho_{0i}}\right)^\gamma - 1\right) $$

压力力为: $$ F_i^{p} = -\sum_{j}m_im_j \left(\frac{p_i}{\rho_i^2} + \frac{p_j}{\rho_j^2}\right)\nabla W(x_{ij}, h) $$

黏性力为: $$ F_i^{vis} = 2\nu(d+2)\sum_j \frac{m_im_j}{\rho_i\rho_j}\frac{v_{ij}\cdot x_{ij}}{\|x_{ij}\|^2+0.01h^2}\nabla W(x_{ij}, h) $$

2.2 PCISPH 算法

下面是完整算法:

,其中: $$ \rho_{err, i}^* = \rho_{i}^* - \rho_{0i} $$

$$ \tilde{p}_i = \delta \rho_{err, i}^* $$

为避免伪造数值,这里我们选择一个固定的 $\delta$,其值由一个拥有完整邻域的原型粒子进行评估:

$$ \delta = \frac{1}{\beta\left(\sum_j\nabla W_{ij}\cdot \sum_j\nabla W_{ij} + \sum_j \left(\nabla W_{ij}\cdot \nabla W_{ij}\right) \right)} $$

$$ \beta = \Delta t^2m^2\frac{2}{\rho_{0i}^2} $$

3. 结果

下面是不同黏性系数下的两相 PCISPH 结果: