液体倾倒模拟器 返回
SPH流体模拟器

液体倾倒模拟器

实时体验SPH粒子法流体仿真。调节重力、粘度和容器形状,直观探索流体动力学原理。

控制面板

300
0.98
3 粒子/帧
200
点击画布投放粒子簇
0
粒子数
0%
填充率

理论说明

SPH法将流体离散为粒子,各粒子物理量通过邻近粒子加权平均计算。

P = ρgh (静水压)
a = −∇P/ρ + g + F_visc

粒子间斥力模拟压力,凝聚力近似表面张力。在工业CAE中,LS-DYNA的SPH方法广泛用于铸造充型和晃荡分析。

什么是液体倾倒模拟

🧑‍🎓
这个模拟器里那些五颜六色的小球飞来飞去,就是液体吗?它们是怎么代替水的?
🎓
简单来说,这就是SPH(光滑粒子流体动力学)方法的核心思想。它把一大滩连续的液体,拆分成成千上万个微小的“粒子”。每个粒子都像一个小水滴,带着自己的速度、密度和压力信息。它们之间通过数学规则相互作用,合起来就表现出了水的流动、飞溅这些特性。你试着在模拟器里把“倾倒速率”滑块调快,就能看到粒子们是如何像真实水流一样冲出去的。
🧑‍🎓
诶,真的吗?那粒子之间是怎么“推来挤去”产生压力的呢?比如水杯底部压力更大,这个能模拟出来吗?
🎓
问得好!这正是模拟器有趣的地方。它用粒子间的“排斥力”来模拟压力。想象一下,粒子越密集的地方,大家挤在一起,排斥力就越强,就会把粒子往周围稀疏的地方推。这正好对应了帕斯卡原理:深度越大,压力$P = \rho g h$也越大。在模拟器里,你把“重力”参数调大,底部粒子堆积得更密,产生的排斥力(压力)就更明显,流动的样子也会不一样,你可以马上试试看!
🧑‍🎓
哦!那水能聚成水滴、水面有层“皮”的感觉(表面张力),又是怎么弄出来的?我看粒子好像不会完全散开。
🎓
你的观察很敏锐!这就是通过“粘性阻尼”和粒子间微弱的“凝聚力”来实现的。你可以把“粘性阻尼”想象成液体的内部摩擦力,调高它,液体看起来就更“粘稠”,像蜂蜜。而那个微弱的凝聚力呢,就像在自由表面的粒子之间加了小小的吸引力,让它们倾向于抱团,防止过度飞散,这就近似模拟了表面张力的效果。在实际工程中,比如模拟铸造时金属液的充型,这个特性就非常重要,它决定了金属能否完好地填满模具的每个角落。

物理模型与关键公式

SPH方法的核心是使用“光滑核函数”来估算任意粒子$a$处的物理量(如密度$\rho$)。该函数定义了粒子$a$的“影响力范围”,范围内的邻居粒子$b$的贡献会被加权平均。

$$\rho_a = \sum_b m_b W(\mathbf{r}_a - \mathbf{r}_b, h)$$

其中,$\rho_a$是粒子$a$的密度,$m_b$是邻居粒子$b$的质量,$W$是光滑核函数,$\mathbf{r}$是位置矢量,$h$是光滑长度(决定影响力范围)。密度估算出来是计算所有其他物理量的基础。

根据估算出的密度,粒子的压力可以通过状态方程求解。模拟中常用的是类似水的状态方程,将压力与密度关联起来。

$$P_a = k \left( \left( \frac{\rho_a}{\rho_0} \right)^\gamma - 1 \right)$$

这里,$P_a$是粒子$a$的压力,$\rho_0$是参考密度(如水的密度),$k$是压力常数,$\gamma$是常数(通常取7)。这个公式使得密集区域($\rho_a$大)产生高压($P_a$大),从而产生排斥力,驱动流动。

现实世界中的应用

铸造充型过程仿真:在汽车发动机缸体等复杂铸件生产前,工程师使用SPH方法模拟高温金属液倒入模具的过程。这可以预测金属液是否会填满所有细小的型腔,或者在哪里可能产生气泡、冷隔等缺陷,从而优化浇注系统设计,节省大量试制成本。

船舶与油箱晃荡分析:大型油轮或汽车油箱里的液体在船舶转弯或急刹车时会剧烈晃动。SPH非常适合模拟这种具有自由液面、且可能冲击舱壁的大幅晃动,帮助评估晃荡冲击力对舱壁结构的影响,确保运输安全。

恶劣条件下的流体行为研究:例如,模拟航空发动机在飞行中遭遇鸟撞时,鸟体(用SPH粒子集表示)与风扇叶片的相互作用。SPH能很好地处理这类极端变形和碎裂问题,这是传统网格方法难以做到的。

影视与游戏特效:许多电影中逼真的海啸、洪水或魔法液体特效,其底层物理模拟也常基于SPH或其变种方法。它能够高效且视觉可信地模拟出流体的飞溅、融合等复杂现象。

常见误解与注意事项

首先,"粒子数量越多模拟效果越好"是一个常见的误解。虽然增加粒子数量确实能提高分辨率,但计算时间会以接近粒子数平方的速度增长。在实际工程中,关键在于找到满足所需精度的最小粒子数。例如,若只需观察容器整体流动趋势,粗粒度粒子已足够;但若要捕捉细微飞溅或表面张力引起的微小液滴形成,则需采用局部粒子细化等技巧。

其次,参数设置的陷阱。模拟器中的"粘度"或"表面张力"滑块通常是无量纲的相对值。这意味着要使其与实际流体参数对应,必须考虑标度律(相似准则)。例如,若直接在水流模拟设置中调高粘度滑块来模拟更粘稠的甘油,会导致结果与实际行为产生偏差。实践中,必须通过"验证"步骤,在已知简单工况(如圆管流动)中将模拟结果与理论值/实验值进行比对校准。

最后,切勿忽视初始条件的重要性。以均匀网格排列注入粒子与随机分布粒子,会导致完全不同的初始不稳定性,从而对结果产生重大影响。此外,若将注入速度设置得远高于实际值,会产生非真实的压力场和飞溅现象,甚至导致计算发散。仔细观察实际物理过程并设置与之匹配的初始状态,才是正确的第一步。

相关工程领域

这种基于SPH的液体注入模拟技术,实际上与众多工程领域紧密相连。首当其冲的是多相流分析。当前虽仅涉及液体,但若加入气泡或固体颗粒,便可应用于含气饮料灌装过程或浆料(含固体颗粒的流体)流动分析。粒子法在处理不同相态方面具有天然优势。

另一领域是流固耦合分析(FSI)。当前模拟器中容器是固定的刚体,但若将SPH流体粒子与通过其他方法(如有限元法)计算的柔性结构(如橡胶储罐或薄板)耦合,就能模拟流体导致结构变形、变形又反作用于流动的复杂现象。这直接关联到燃油箱晃荡疲劳分析、生物工程中血液与血管相互作用分析等技术。

拓宽视野来看,该技术还与粉体工程相通。若将粒子间作用力从粘性力、表面张力替换为摩擦力、凝聚力,便可模拟砂石、谷物、制药粉末等流动与崩塌现象,其概念与"离散元法(DEM)"可谓同源。作为CAE工程师,深入理解一种方法的精髓,将成为学习其他领域仿真技术的坚实基础。

进阶学习指南

通过本模拟器获得直观感受后,下一步可深入数理背景。推荐分三个阶段学习:首先掌握连续介质力学基础。SPH本质上是求解纳维-斯托克斯方程这一流体运动方程。不必急于推导公式,而应从概念上理解"质量守恒""动量守恒""能量守恒"三大物理定律如何体现,这样就能看清模拟参数的实际控制对象。

其次学习离散化思想。SPH的核心在于用粒子求和近似积分的"核近似法"及其梯度计算方法。例如,压力梯度力公式中为何会出现对称形式($P_i/\rho_i^2 + P_j/\rho_j^2$)?这是为满足动量守恒而设计的技巧,对数值稳定性贡献显著。逐步理解这些"公式形态背后的意义",将为你自主编写代码、深度解析结果奠定基础。

最后,尝试挑战实际工程问题。值得探索的进阶主题包括"自由表面处理"和"边界条件"。当前模拟器仅采用简单壁面反弹,而实际工程中需要建模更复杂的润湿性(壁面接触角)。此外,流入/流出边界设置也是重要课题。通过研究这些问题,你将能触及商用CAE软件内部计算的核心逻辑。