数值格式和求解算法
本节描述了欧拉壁膜(EWF)模型使用的时间和空间差分方案,以及求解算法。
17.4.1 时间差分方案
17.4.2 空间差分方案
17.4.3 求解算法
17.4.4 耦合求解方法
17.4.1 时间差分方案
以下时间差分方案可用于欧拉壁膜(EWF)模型。
17.4.1.1 一阶显式方法
17.4.1.2 一阶隐式方法
17.4.1.3 二阶隐式方法
17.4.1.1 一阶显式方法
定义 F 和 G 如下,下标 i 表示前一时间步的值:
Fi≡[−∇s⋅(ρlhVl)+m˙s]iGi≡[−h∇sPL+ρlhgτ+23τfs−h3μlVl+q˙s+τθw−∇s⋅[ρlhVlVl+DˉV]]i(17.39)
我们拥有以下离散化的薄膜质量和动量方程,其中下标 i+1 表示当前时间步的值,而 Δt 则代表用于薄膜计算的时间步长。
Δt(ρh)i+1−(ρh)iΔt(ρlhVl)i+1−(ρlhVl)i=Fi=−(h3μlVl)i+1+Gi(17.40)
随后,影片高度与速度的计算如下:
hi+1(Vl)i+1=(ρl)i+1(ρlh)i+ΔtFi=(ρlh)i+1+Δthi+13μl(ρlhVl)i+ΔtGi(17.41)
上述方程组完成了显式差分方案,其中首先根据前一薄膜时间步长计算的Fi值来计算薄膜高度;然后利用最新的薄膜高度和前一薄膜时间步长计算的Gi值来计算薄膜速度。
17.4.1.2 一阶隐式方法
在显式方法中,F和G的评估是基于前一时间步长的薄膜高度和速度矢量进行的。为了提高显式方法的准确性,引入了一阶隐式方法,在该方法中,F和G值在薄膜时间步长内的迭代循环中进行更新。这种方法可以描述为一个预测-校正过程。首先,即在预测步骤中,使用显式方案来计算薄膜高度和速度矢量,
预测器:
hi+10(Vl)i+10=ρli+10(ρlh)i+ΔtFi=(ρlh)i+10+Δthi+103(ρlhVl)i+ΔtGi(17.42)
上标0表示迭代循环的第一步。
校正器:
使用最新的液膜高度和速度向量来更新F和G;随后重新计算液膜高度和速度。
hi+1n+1(Vl)i+1n+1=ρli+1n+1(ρlh)i+ΔtF[hi+1n,(Vl)i+1n]=(ρlh)i+1n+1+Δt(3μl/hi+1n+1)(ρlhVl)i+ΔtG[hi+1n,(Vl)i+1n](17.43)
上标 n+1 和 n 分别表示当前和前一次迭代。迭代过程在满足以下收敛准则时结束:
hi+1n+1−hi+1n≤ε(uα)i+1n+1−(uα)i+1n≤ε(17.44)
其中,uα 表示速度矢量的每个分量。
17.4.1.3 二阶隐式方法
在上述讨论的显式和一阶隐式方法中,时间差分仅具有一阶精度。下面介绍一种二阶隐式方法。其迭代过程与一阶隐式方法非常相似,但在预测步骤中使用了两个时间步长(即 i 和 i−1)进行时间差分。
预测步骤:
hi+10=(Vl)i+10=ρli+10(ρlh)i+(Δt/2)(3Fi−Fi−1)(ρlh)i+10+Δt(3μl/hi+10)(ρlhVl)i+(Δt/2)(3Gi−Gi−1)(17.45)
校对者:
hi+1n+1=ρli+1n−1(ρih)i+(Δt/2){F[hi+1n(Vl)i+1n]+F[hi+1n−1(Vl)i+1n−1]}(Vl)i+1n+1=(ρlh)i+1n+1+Δt(3μl/hi+1n+1)(ρlhVl)i+(Δt/2){G[hi+1n(Vl)i+1n]+G[hi+1n−1(Vl)i+1n−1]}(17.46)
迭代过程终止于以下收敛标准:
hi+1n+1−hi+1n≤ε(uα)i+1n+1−(uα)i+1n≤ε(17.47)
其中 uα 表示速度矢量的各个分量。
薄膜能量和被动标量方程的离散表达式可以采用与上述类似的方式推导。
17.4.2 空间差分格式
计算方程 17.39(第 848 页)中定义的 F 和 G 需要对各个量在面中心处的空间梯度进行评估。应用格林-高斯定理,标量 φ 在面中心 0 处的梯度计算如下:
∇φ=A1e∑φele(17.48)
在文本中,下标 e 表示薄膜面每条边的中点,A 表示面的面积,l 表示长度向量(其大小为边的长度,方向垂直于边),如图17.5所示:
图17.5:空间梯度
显然,梯度计算的核心在于如何获取 φe。以下描述了当前实现中所采取的步骤。
(1) 初级梯度计算
初级梯度是通过格林-高斯定理简单估计边中心值来计算的,具体如下:
φe=21(φP+φE)(17.49)
∇φP=A1e∑φele(17.50)
(2) 边缘中心值的重构
随后,边缘中心值通过一阶迎风或二阶迎风方案进行计算,
一阶迎风:φe∗=φUP
二阶迎风:φe∗=φUP+drUP⋅∇φP
其中,φUP 是 φ 在迎风面中心的值;drUP 是从迎风面中心到边缘中心的距离向量。
(3) 最终梯度计算
最后,面中心的梯度计算如下,
∇φ=A1e∑φe∗Ie(17.51)
17.4.3. 解决方案算法
尽管薄膜运动始终随时间追踪,EWF模型既可以用于稳态流模拟,也可以用于瞬态流模拟。
17.4.3.1 稳态流
假设尽管流动影响其运动,薄膜本身并不影响流场。在这种情况下,流场已经收敛并保持不变(冻结流场)。薄膜发展所经过的时间通过薄膜时间步长 Δt 增加。这个时间步长可以是
用户指定的常数,也可以使用自适应时间步进方法自动计算,该方法根据最大Courant数,由用户指定的增加和减少因子来决定,具体如下:
当计算出的最大Courant数超过用户指定的值时,薄膜时间步长会通过减少因子 Fdec (默认:2)减少。
当计算出的最大Courant数小于用户指定值的一半时,薄膜时间步长会通过增加因子 Finc (默认:1.5)增加。
17.4.3.2 瞬态流
在每个流动时间步长 Δtflow 内,使用若干个薄膜子时间步长来推进薄膜时间,使其与流动的物理时间同步。薄膜子时间步长的确定方法如下,
Δt=Nfilm Δtflow (17.52)
Nfilm 表示薄膜时间步数;Δtflow 表示流动时间步长。
通过调整薄膜时间步数 Nfilm 并使用用户指定的增加和减少因子 Finc 和 Fdec,实现了自适应时间步进:
当计算出的最大库朗数超过用户指定的值时,薄膜时间步数 Nfilm 将增加 Fdec 倍,从而使薄膜时间步长减少 Fdec 倍。
当计算出的最大库朗数小于用户指定值的一半时,薄膜时间步数 Nfilm 将减少 Finc 倍,从而使薄膜时间步长增加 Finc 倍。
需要注意的是,薄膜时间步数可减少到的最小值为 2。
由于薄膜计算在每个流动时间步长的末尾开始,因此薄膜对流动的影响会滞后一个流动时间步长。
17.4.4 耦合求解方法
默认情况下,欧拉壁面薄膜模型中薄膜质量和动量方程是顺序求解的。在薄膜高度和速度紧密耦合的情况下,分离求解方法无法解析薄膜的特定特征,例如自由下落薄膜的波浪表面。
在耦合求解方法中,薄膜质量和动量方程并行求解,其中前一时间步的薄膜高度和速度解用于下一时间步中两个方程的求解。
为了提高求解稳定性,耦合求解方法中对用于薄膜曲率和表面张力力计算的变量应用了平滑处理。变量平滑通过在迭代操作中混合相邻面的变量值来实现:
φs=W1i=1∑n(φ0(1−α)+φiα)(17.53)
在给定面的薄膜变量φ中,φ0和φs分别表示原始值和平滑值;φi表示在第ith相邻面(直接或间接)上的φ值,如图17.6所示:面值平滑(第853页);α是一个平滑因子,范围从0到1(默认值为0.5);w是由平滑算法确定的权重因子。
图17.6:面值平滑
加权平均操作会根据平滑级别输入参数(范围从1到4,默认值为2)指定的次数重复进行。