我正在尝试通过实施不同的方法来学习 SPH。我目前正在关注 Jan Bender [1] 的 Divergence Free Smoothed Particle Hydrodynamics。
我相信我理解它背后的方法和数学。但是,我无法通过找到压力来纠正密度误差,因为它们非常小。它是一种预测校正算法,因此我必须使用 Jacobi 迭代器中的压力来找到正确的速度,使密度等于静止密度以强制不可压缩。然而,即使经过 1000 次迭代,系统也不会收敛,但它正在朝着正确的方向前进。我在 PCISPH 和 IISPH 上遇到过类似的问题。我只能通过手动缩放产生的压力来让第一个工作。IISPH 中的压力太大,仍然试图完成这项工作。
我可以通过手动缩放计算的刚度值来加速迭代器的 DFSPH 收敛。然而这感觉不对。是否可以缩放压力值等值以使 SPH 模拟正常工作?我认为我错过了一些重要的东西。