Conference

An Implicitly Stable Mixture Model for Dynamic Multi-fluid Simulations

Yanrui Xu, Xiaokun Wang, Jiamin Wang, Chongming Song, Tiancheng Wang, Yalan Zhang, Jian Chang, Jian-Jun Zhang, Jiří Kosinka, Alexandru C. Telea, Xiaojuan Ban

University of Science and Technology Beijing; Bournemouth University; University of Groningen; Utrecht University

一句话总结

针对多相流体(如泡茶、调酒、墨滴扩散)的 SPH 模拟,提出一种”隐式混合模型”:不再用统一的混合流场直接驱动所有相,而是先解析地推导相间动量源、再通过相–混合动量映射机制把各相运动和混合流场联合隐式求解,从而在保证不可压、质量与动量守恒的同时,保留丰富的相间动态效果。

研究背景

  • 领域现状:基于粒子的多相流模拟因为高效、易于产生动态流体效果,在实时/VR 场景里越来越流行。混合模型(mixture model)用”体积分数 + 漂移速度”在单个离散单元内描述多相共存,是主流的低成本方案。
  • 核心痛点:
    • 用单一混合流场表示所有相时,相场的数值不连续会造成动态效果损失,且质量、动量守恒不稳定。
    • 常用的局部平衡假设(LEA)会在每个时间步强制把漂移速度归零以适配已有单相求解器,这会引入相速度的不连续、抹掉相间交互带来的动态感。
    • 放弃 LEA 追求动态效果的做法(如前人的动态混合模型)又牺牲了混合的不可压性和质量守恒,且需要每步重新归一化体积分数、依赖弱可压求解器。
    • 极端惯性条件下过大的漂移速度还会导致数值失稳。
  • 本文 idea:直接从连续性方程和动量方程解析地推导相间动量源,并提出相–混合动量映射机制,使各相运动可由混合层的动量源隐式表达;同时用一个混合黏性模型平滑地限制漂移速度,兼顾动态与稳定,且能无痛接入现有隐式拉格朗日压力求解器。

方法

整体框架:在体积分数混合模型的基础上,先用无滑移/自由滑移两种极端情形解析地写出相间动量源 \(\boldsymbol{M}^I_k\),再借助”相间动量源等于漂移动量源的相反数”这一关系,把各相速度变化率改写成混合层动量源的隐式表达式,从而让所有相与混合流场在同一次隐式压力求解中被一致地更新;最后用改进的混合黏性抑制过大的漂移。

flowchart LR
  A["体积分数 / 混合速度 v_m / 漂移速度 v_Vk"] --> B["解析相间动量源 M_I,k = C_d · M_In,k"]
  B --> C["相-混合动量映射: 用 M_m 隐式表达各相速度变化率"]
  C --> D["混合黏性模型: 相与混合间黏性抑制漂移"]
  D --> E["接入 DFSPH 隐式压力求解"]
  E --> F["更新体积分数 / 相转移 (漂移 + 扩散)"]

关键设计:

  1. 解析形式的相间动量源。作者考察两种极端:无漂移(各相紧耦合,\(\tfrac{D}{Dt}\boldsymbol{v}_{Vk}=0\))与自由漂移(各相独立、相间动量为零)。推导发现两者的漂移动量源恰好互为相反数 \(\boldsymbol{M}^{df}_k=-\boldsymbol{M}^{In}_k\),据此假设 \(\boldsymbol{M}^I_k=-\boldsymbol{M}^d_k\),得到统一的解析表达 \[\boldsymbol{M}^I_k = C_d\,\boldsymbol{M}^{In}_k\] 其中漂移系数 \(C_d\in[0,1]\):\(C_d=0\) 为自由漂移、\(C_d=1\) 为无漂移。这给出一个无近似、物理清晰的相间动量表达,说明如何在不破坏混合层不可压的前提下调节漂移强度。

  2. 相–混合动量映射机制。计算 \(\boldsymbol{M}^I_k\) 时忽略平流和漂移动量源,使混合层动量方程可当作单相流体处理,从而全程复用隐式压力求解器(相比显式方案时间步更大)。由此把压力引起的相速度变化率写成 \[\tfrac{D_p}{Dt}\boldsymbol{v}_k = \tfrac{\boldsymbol{M}^p_m}{\rho_m}\left[C_d+(1-C_d)\tfrac{\rho_m}{\rho_k}\right]\] 即用可解的混合层压力项 \(-\tfrac{1}{\rho_m}\nabla p_m\) 隐式驱动各相运动。这样相速度、漂移速度、混合速度被同时联立求解,天然保证质量守恒和各粒子体积分数求和为 1,无需 LEA,也不必每步重归一化。

  3. 混合黏性模型。标准混合模型没有规定相之间如何相互作用。作者把单相黏性改写为”相与混合之间”的黏性 \[\tilde{\boldsymbol{M}}^v_k(\boldsymbol{x}) = \alpha_k(\boldsymbol{x})\,\mu_k\,\nabla^2_{\boldsymbol{x}}\!\left(\boldsymbol{v}_m+\int_\Omega \boldsymbol{v}_{Vk}(\boldsymbol{x})\,\delta(\boldsymbol{x})\right)\] 在守恒每个流体微元动量的同时(当各相黏度相同时满足 \(\sum_k \tilde{\boldsymbol{M}}^v_k = \boldsymbol{M}^v_m\))平滑限制漂移速度,避免极端惯性下的失稳。

  4. DFSPH 集成与相转移。整体嵌入 DFSPH(无散度 + 不可压两次投影),并用体积不可压(compression ratio \(\psi\le 1\))适配非均匀密度场;相转移由漂移速度项(体积分数变化率)和扩散项共同驱动。

实验结果

主实验取”两相分离”(Two-Phase Separation:体积比 1:1、密度比 1:2 的混合流体在重力下分层),对比本文方法、前人动态混合模型 [Jiang and Lan 2021]、以及本文加 LEA 的退化版本在守恒性上的表现:

配置 不可压/体积守恒 各相质量守恒 相动能峰值 分离行为
本文方法 严格保持 严格保持 与分离速度无关,总能达到同一峰值(重力势能→动能无条件守恒) 正常分离,分离/混合区相速度最大、已分离区相速度趋零
动态混合模型 [Jiang and Lan 2021] 弱可压,不严格 不严格(每步重归一化体积分数) 峰值随分离速度变化,不守恒 已分离区仍残留不应有的相速度
本文 + LEA 分离极慢,30 秒后仅出现薄分离层

其余实验(文字概述):碰撞实验验证线动量守恒(\(C_d<1\) 时相分离增强但线动量基本不变,前人方法出现动量偏差);旋转实验验证角动量守恒(本文与 DFSPH 衰减相近且稳定,前人方法难以稳定甚至出现不合理相速度);效率上本文多相求解每步仅比前人多约 2%,但因 DFSPH 允许约 10 倍大的时间步,整体加速约 2–3 倍。墨滴、沙漏、螺旋桨起泡、五相鸡尾酒分离、泡茶扩散等复杂场景展示了方法在分离主导、拖曳主导、扩散主导下的通用性。

亮点与局限

  • 亮点:
    • 用无漂移/自由漂移两极端推出相间动量源的无近似解析表达,物理直觉清晰(一个 \(C_d\) 统一自由漂移到紧耦合)。
    • 相–混合动量映射让相与混合流场联合隐式求解,摆脱 LEA,天然保证质量与体积守恒、无需每步重归一化。
    • 可无痛接入 DFSPH 等隐式求解器,借大时间步获得 2–3 倍整体加速,适合长时长、重效率的 VR 场景。
    • 开源实现(TiSPH_multiphase,基于 Taichi)。
  • 局限:
    • 每个时间步的相转移会在流体微元间搬运动量,当漂移速度很大时可能带来误差(作者列为未来工作)。
    • 更新体积分数时在相交换阶段会引入轻微误差,尤其在显著相分离时会让角动量衰减略超纯 DFSPH(作者称不影响视觉与稳定性)。
    • 未与真实实验/物理基准做定量精度校验,评估主要是守恒性与视觉对比。

延伸思考

  • 该工作把”漂移强度”抽象成单一可调系数 \(C_d\),本质是在自由漂移与无漂移间做线性插值,未来若能让 \(C_d\) 随局部密度差、剪切率自适应,或许能进一步减少人工调参。
  • “相转移搬运动量”被点名为误差来源也可能是新效果来源——把相间质量交换与动量交换一致耦合,或可产生更真实的湍流/掺混视觉。
  • 方法思路(先解析相间耦合、再映射回可解的混合层)不局限于流体,对沙–水、织物–液体等混合理论驱动的耦合问题可能同样适用,值得迁移验证。