本文提到的方法见于:Tartakovsky, Alexandre M., and Paul Meakin. “A smoothed particle hydrodynamics model for miscible flow in three-dimensional fractures and the two-dimensional Rayleigh–Taylor instability.” Journal of Computational Physics 207.2 (2005): 610-624.
普通SPH形式
密度: \rho_i=\sum_{j}m_jW_{ij}.
其中\sum_j在i的核半径h内求和,W_{ij}=W(\bm{x}_i-\bm{x}_j,h),\bm{x}_i为粒子i的位置,
梯度公式(差分):
\nabla A_i=\sum_j\frac{m_j}{\rho_j}(A_j-A_i)\nabla_i W_{ij}.
梯度公式(对称):
\nabla A_i=\rho_i\sum_jm_j\left(\frac{A_i}{\rho_i^2}+\frac{A_j}{\rho_j^2}\right)\nabla_i W_{ij}.
拉普拉斯算子(一般形式):
\nabla^2 A_i=-\sum_j\frac{m_j}{\rho_j}(A_i-A_j)\frac{2\Vert\nabla_i W_{ij}\Vert}{\Vert \bm{r}_i-\bm{r}_j\Vert}
数值密度形式
数值密度定义:n_i=\rho_i/m_i.
采用数值密度的SPH算法并不区分每个粒子的质量,即认为m_i=m_j,故有
n_i=\sum_j W_{ij}.
则梯度公式(差分)为
\nabla A_i=\sum_j\frac{1}{n_j}(A_j-A_i)\nabla_i W_{ij}.
梯度公式(对称)为
\frac{m_i}{\rho_i}\nabla A_i=\sum_j m_im_j\left(\frac{A_i}{\rho_i^2}+\frac{A_j}{\rho_j^2}\right)\nabla_i W_{ij}.
注意到m_i=m_j,故有
\nabla A_i=n_i\sum_j\left(\frac{A_i}{n_i^2}+\frac{A_j}{n_j^2}\right)\nabla_i W_{ij}.
相应的拉普拉斯算子(一般形式):
\nabla^2 A_i=-\sum_j\frac{1}{n_j}(A_i-A_j)\frac{2\Vert\nabla_i W_{ij}\Vert}{\Vert \bm{r}_i-\bm{r}_j\Vert}