SPH 多相流求解器

SPH 流求解器可按顺序求解质量和动量的积分守恒方程。求解器使用压力校正方法进行压力预测。

压力校正方程基于连续性方程和动量方程而构建,以便通过校正压力寻找满足连续性方程的预测速度场。此方法也称为预估校正法。可通过压力校正方程获得作为变量的压力。

预测步骤

在预测步骤中,中间颗粒位置 r i * 计算如下:
r i * − r i n Δ t = v i n
(1083)
其中, Δ t 为时间步, r i n 为当前时间步的颗粒位置, v i n 为当前时间步的速度。

对于显式时间,中间速度 v i * 计算如下:

m i v i * − v i n Δ t + V i ∇ ( p n ) − V i μ ∇ 2 ( v n ) = V i f b , i n
(1084)
对于隐式时间积分:
m i v i * − v i n Δ t + V i ∇ ( p n ) − V i μ ∇ 2 ( v * ) = V i f b , i *
(1085)

线性系统可以使用稳定双共轭梯度 (BICGSTAB) 法、共轭梯度 (CG) 法或广义最小残差 (GMRES) 法求解。就效率而言,BICGSTAB 通常是首选方法。

速度稳定
求解器通过在动量方程中引入额外的耗散项来稳定速度。可以应用用户指定的速度稳定因子来修正耗散项的幅值。速度稳定因子值较小会导致自由表面高度离散,并在流体域内产生较大的速度扰动。因此,确定一个稳定因子值以保持速度场稳定就至关重要。

投影步骤

要计算压力校正 p ′ = p n + 1 − p n ,需要求解压力校正方程:
∇ ⋅ ( ∇ ( p ′ ) ) = ρ 0 Δ t ∇ ⋅ ( v * )
(1086)
线性系统可以使用稳定双共轭梯度 (BICGSTAB) 法、雅可比法或广义最小残差 (GMRES) 法求解。就效率而言,BICGSTAB 通常是首选方法。

速度 v n + 1 是根据校正的中间速度获得的:

v i n + 1 − v i * Δ t = − 1 ρ o ∇ ( p ′ )
(1087)
最终位置 r n + 1 随后将根据以下公式更新:
r i n + 1 − r i n Δ t = v i n + v i n + 1 2
(1088)
压力稳定
求解器在压力校正方程中应用压力稳定,以最小化由棋盘效应引起的非物理压力振荡。用户指定的压力稳定系数可调整稳定项的幅值。该系数值的范围为从 0(无稳定)到 1(高稳定)。压力稳定系数值较大可能导致颗粒穿壁离开。
人工可压缩性稳定
在某些颗粒分布和邻域中,颗粒分布分辨率可能会导致极端压力值,从而降低流体质量和后处理结果。求解线性系统(例如使用 BICGSTAB 算法)时,这些极端值由矩阵对角线中非常小的系数表示。为了防止出现这些极端压力校正,求解器通过引入人工可压缩性来临时加强压力泊松方程 (PPE) 矩阵的对角线,从而稳定压力校正求解器。

用户指定的人工可压缩系数控制稳定校正的强度(默认值为 0.5)。