SPH 密度求和
三次样条核只在有限支撑半径内非零。体相粒子拥有近乎完整的邻域,自由表面粒子的邻域则被空气一侧截断。
流体力学 · 粒子数值实验台
二维弱可压缩 SPH 工作台用移动粒子重建自由表面。六个场景把粒子场、紧支撑核、压强—水深剖面,以及能量与密度误差历史同步在同一张科学画布上。
物理教程
背景光滑粒子流体动力学把连续流体离散成携带质量、位置和速度的移动粒子。每颗粒子只查询有限半径内的邻居,用加权和估计密度,再由压强梯度、黏性和重力推进运动。没有粒子覆盖的边界自然成为自由表面。
为什么值得理解溃坝、晃荡和液滴撞击都涉及剧烈移动的界面。固定网格必须额外追踪界面,而拉格朗日粒子本身就随流体移动;代价是密度噪声、边界误差和严格的显式时间步限制。
先抓重点
三次样条核只在有限支撑半径内非零。体相粒子拥有近乎完整的邻域,自由表面粒子的邻域则被空气一侧截断。
对称的粒子对压强项让作用力成对出现。这里的黏性拉普拉斯、壁面反弹与凝聚项都是低阶教学近似。
状态方程用有限压缩性换取显式推进。提高数值声速会抑制密度误差,同时把允许时间步压得更小。
容易误解画面里的一颗蓝点就是一颗真实水分子。
正确理解每个 SPH 粒子代表一个有限体积的连续介质样本,携带的是平滑后的质量、速度与热力学状态,而不是分子尺度的个体。
容易误解只要皇冠形飞溅看起来合理,求解器就已经验证。
正确理解先检查质量账本、体相密度误差、静水关系 、自由落体质心,以及改变粒子间距后的稳定性;视觉相似只能是最后一层证据。
暂停溃坝场景,点击体相粒子与自由表面粒子,比较 A 面板支撑圆和 B 面板邻居数。
应该观察到: 体相粒子拥有更完整、近乎各向同性的邻域;表面粒子缺失空气一侧的邻居,因此密度求和会出现边界亏损。选择“静水检验”,降低黏性后逐步推进,比较 C 面板的粒子压强点与静水直线。
应该观察到: 深处压强总体更高,但粒子噪声、边界处理和自由表面密度亏损会让离散点偏离解析直线。在相同场景分别选择较低和较高数值声速,重置后比较体相密度 RMS 与声学时间步读数。
应该观察到: 更高声速通常压低密度波动,却要求更短时间步;这正是弱可压缩 SPH 的计算代价。依次改变粒子间距并重置溃坝,在相近模拟时刻比较前沿位置、密度误差与历史曲线。
应该观察到: 粒子数、邻域采样与允许时间步同时改变。若结论随分辨率大幅漂移,就不能把单次飞溅当成可靠预测。