English

SPH 流体

没有网格,没有水面高度场。只有一千多个粒子,每个粒子只知道邻居的密度、速度、压力—— 水却会自己铺平、翻卷、撞墙后爬上去。

拖动画面搅动水面
动力黏度 μ 0.08
重力 g 9.81
显示
框架:经典 · 描述:连续介质 · 弱可压
密度涨落维持在几个百分点,说明“弱可压”这个近似还站得住。
SPH 到底在算什么

每个粒子 i 先在邻域里加权求和得到密度 ρᵢ = Σ m W(rᵢⱼ, h); 再用状态方程 p = k(ρ − ρ₀) 得到压力;压力梯度、黏性、重力合起来决定加速度。 没有“水面”,水面是粒子密度自然掉到零的地方。

弱可压的意思是允许 1%–5% 的密度涨落,用压力把它们推回去。 这样不用解全局压力泊松方程,代价是声速有限、冲击时会出现非物理压缩。

把黏度调到 0,翻卷能持续更久;调大,水会像糖浆一样很快摊平。