SPH模拟中没有或很少有邻居时的密度值

计算科学 流体动力学 模拟 sph 平滑
2021-12-04 04:42:57

我正在尝试使用本文中显示的方向来实现SPH

需要使用公式更新密度

ρ(xi)=jmjWdefault(xixj,h)

平滑核为

Wdefault(r,h)=31564πh9{(h2||r||2)3,0rh0,||r||>h

如果平滑长度()内没有粒子,根据这个公式,粒子的密度不会变为零吗?h

3个回答

是的。您需要选择足够大的半径,以便对于每个粒子,在第一个粒子的半径内总是有大量其他粒子。h

实际上,由于自我贡献(i=j),密度永远不会变为零。但是,您需要相邻的粒子,除非质量密度的采样很差。最佳邻居数在 2D 中约为 20,在 3D 中约为 50。

您还可以在此处查看有关计算所需平滑长度的讨论

是的,如果没有粒子,密度将变为零。这就是为什么在 SPH 中使粒子分布均匀非常重要的原因。还必须选择足够大的平滑长度,这样您将始终在内核中获得最少数量的粒子,并使用数值技术来保持粒子的良好分布。