平滑粒子流体动力学:静息流体振荡

计算科学 sph
2021-12-06 10:13:59

我有一个 2D 的工作 SPH 模拟。当粒子运动时,一切正常。但是一旦模拟进入静止状态,底部的粒子开始剧烈振荡并最终穿透边界粒子。我尝试使用两种类型的粘度 XSPH 和人工粘度来抑制模拟。他们只是略有帮助。较小的时间步长也无济于事。显然,压力正在底部积聚。除了粘度和更小的时间步长之外,还有其他方法可以解决这个问题吗?

1个回答

首先,XSPH 不表现为粘度,它只是根据平均速度计算位置,考虑到粒子的接近程度。但重要的是,速度本身不受影响,而仅用于更新位置:

dridt=vi+0.5j(vjvi)mjρjWij

其次,它可能与直觉相反,但当流体运动缓慢时,SPH(至少在流体模拟中)的误差更大。这就是为什么它在模拟溃坝和其他惯性力占主导地位的问题时更有效。仅当系统处于剧烈瞬态运动时,结果才有意义。

但是,您遇到的问题仍然不可接受,可能取决于压力评估方案(状态方程)和时间步长。检查声速c和平滑距离h并估计所需时间步长的顺序

Δt=hc.