分离流求解器
分离流求解器可按顺序求解质量和动量的积分守恒方程。对于如
分离求解器使用压力-速度耦合算法,其中将通过求解压力校正方程满足对速度场的质量守恒约束。压力校正方程基于连续性方程和动量方程而构建,以便通过校正压力寻找满足连续性方程的预测速度场。此方法也称为预估校正法。可通过压力校正方程获得作为变量的压力。
- SIMPLE
- SIMPLEC
- PISO
该分离求解器在恒密度流中有自己的根。虽然它可以处理轻微可压缩流和低瑞利数自然对流,但不适用于激波捕捉、高马赫数和高瑞利数应用。
在很大程度上,提供的方法基于 [224]、[235]、[236]、[267]、[268] 和 [276]。
动量方程的离散化
面压力计算
在动量方程中,压力显示为压力梯度。为了计算 Eqn. (922) 中的压力梯度项,必须计算每个面上的压力。
其中,
当 δ-V 耗散专家属性打开时,面压力计算中将计入耗散项,如下所示:
其中,
在边界处,网格单元 1 部分来自虚构的“虚拟网格单元”,其中速度已反映在边界面上。因此 Eqn. (923) 将变为:
当 δ-V 耗散打开时,在边界处,Eqn. (924) 将变为:
。
压力校正方程
通过根据质量通量校正
对离散动量方程求解之后,将计算未校正的面质量通量
内部面上未校正的质量通量可根据网格单元变量写为:
其中,
其中:
|
网格单元 0 和网格单元 1 的网格单元体积 |
|
网格单元 0 和网格单元 1 的所有动量分量的动量系数平均值 |
|
网格单元 0 的压力 |
|
网格单元 1 的压力 |
|
压力的网格单元梯度的体积加权平均值,它使用两个网格单元梯度值之间基于体积的插值计算得出 |
在多相流中,由于相间相互作用的存在,动量系数形成了矩阵。但是,仅考虑矩阵的对角项。这些值用 Eqn. (930) 中的
- Rhie-Chow
- Rhie-Chow 动量插值方法忽略 Eqn. (930) 中的非对角项,这些项表示相互作用力在不同相之间的相互作用。如果预期没有强大的相间耦合,这就已经足够。
- 相耦合
- 相耦合动量插值法 ([472]) 是多相流 Rhie-Chow 插值法的扩展。此方法通过求解用于耗散系数计算的完整矩阵形式 a 来考虑交界面力,其计算方法为: (931)
其中,
是体积分数(包括每个相的体积分数)的矢量。此方法改进了当离散相具有极小长度尺度时的收敛行为。
- 非稳态耗散校正
-
对于系数 ,启用非稳态耗散校正时,将基于声学 CFL 修改系数 。
- 使声学 CFL 为 ,其中 为声速, 为模拟时间步, 为局部网格尺寸。
- 使
为用户指定的限制声学 CFL 值。
然后:
- 如果
,则使用 而不进行修改。 - 否则,
将替换为 ,如下所示:其中:
且
和 为面法向上相对于面形心的压力值,在两个对称点 处进行线性重构计算得出。 且其中:
是与面积矢量 关联的单位矢量。 是面形心的位置矢量。 是标量距离,其中:- 如果
,则 。 -
否则,
,其中: ( 投影至面网格面积法向) ( 投影至面网格面积法向)。
- 如果
- 使声学 CFL 为 ,其中 为声速, 为模拟时间步, 为局部网格尺寸。
- 密度校正
-
对于可压缩流,将引入密度校正 :
(932)其中,下标 "fn" 表示面法向分量。
(933)其中的
和 是网格单元压力校正,且:(934)其中:
(935)由于可以选择忽略二阶项
,因此可以合并这些方程,将质量流量校正定义为:(936) - 离散压力校正方程
-
离散压力校正方程通过 Eqn. (927) 和 Eqn. (936) 得出,并以系数形式写为:
(937)残差 r 为进入网格单元的净质量流量:
(938)
SIMPLE 算法
SIMPLE 算法用于控制总体求解。此算法汇总如下:
- 设置边界条件。
- 计算速度和压力的重构梯度。
- 计算速度和压力梯度。
- 求解离散动量方程。这可用于创建中间速度场
。 - 计算面
处的未校正质量通量。 - 求解压力校正方程。这可以为压力校正
生成网格单元值。 - 更新压力场: (939)
其中,
为压力的亚松弛因子。 - 更新边界压力校正
。 - 校正面质量通量: (940)
- 校正网格单元速度: (941)
其中,
为压力校正的梯度, 为离散速度方程的中央系数矢量, 为网格单元体积。 - 压力变化时更新密度。
- 释放所有临时储存。
SIMPLE Consistent (SIMPLEC) 算法
SIMPLEC 遵循的步骤与为 SIMPLE 算法概括的步骤相同。它的不同之处体现在压力校正方程
在速度校正方程中,SIMPLEC 假设相邻网格单元中的速度校正等于中心网格单元处的速度校正。这会导致 的方程不同。
另一差异是,与时间步长和速度亚松弛相关的压力亚松弛隐式内置在 方程中,因此没有 Eqn. (939) 中那种显式压力亚松弛。
在 SIMPLEC 中,Eqn. (941) 变成:
其中 为速度相邻系数。
PISO 算法
PISO 算法适用于对流库朗数较少的瞬态情况。
PISO 与 SIMPLE 对比:
- 尽管这两种算法具有相同的时间精度级别,但采用短时间步时 PISO 比 SIMPLE 速度更快。[254]
- PISO 不适用于长时间步的情况,在该情况下,组合 CFL 会高至远超过 10,而 SIMPLE 仍旧保持稳定。
- 随着时间步长增加,SIMPLE 将失去瞬态求解的时间精度。但是,SIMPLE 仍可以通过使用较大的时间步长,获得精确的稳态求解(如果存在)。
因此,在可以使用大时间步长的情况中使用 SIMPLE,例如在获取稳态求解时,而对于要求使用小时间步长且时间精度要求较高的问题,则使用 PISO。
PISO 算法与 SIMPLE 算法具有许多相同的特点。该算法汇总如下:
- 设置边界条件。
- 计算速度和压力的重构梯度。
- 计算速度和压力梯度。
- 求解离散动量方程。此操作会创建中间速度场
。 - 计算面
处的未校正质量通量。 - 构建压力校正方程,然后测试 PISO 算法是否收敛。如果 PISO 已收敛,则将最后一次迭代标志设为“真”。
- 求解压力校正方程。此操作会得到压力校正
的网格单元值。 - 更新压力场: (943)
其中,
为压力的亚松弛因子。如果此迭代是最后一个,则 等于 1。 - 更新边界压力校正
。 - 校正面质量通量: (944)
- 校正网格单元速度: (945)
其中,
为压力校正的梯度, 为表示速度方程的离散线性系统的中央系数矢量, 为网格单元体积。 - 压力变化时更新密度。
- 求解任何耦合 PISO 的方程,例如针对组分或能量。
- 从状态方程重新计算密度(最后一个修正器除外)。
- 如果此迭代是最后一个,则转到第 18 步。
- 使用相邻网格单元导致的校正显式更新动量方程。
- 转到第 5 步,然后继续操作,直到达到收敛。
- 释放所有临时储存。