迎风格式

分类:CFD求解方法 | 2026-10-01 改写
CAE visualization for upwind schemes theory - technical simulation diagram
风上差分格式

理论:面值如何构造

概述

🙋

CFD设置里对流项格式可选“一阶迎风”“二阶迎风”“QUICK”。该选哪个?

🎓

有限体积法计算穿过单元面的通量需要面值,迎风格式就是用上游(迎风侧)单元的值来构造它。一阶迎风直接用上游单元的值,稳定不振荡,但峰值不断被削平。二阶迎风和QUICK用上游两个以上单元以直线或曲线外推,精度高,但在剧烈变化处超调。选哪个取决于重视什么。我们用同一个形状输送来比较。

面值公式

$$ \phi_{i+1/2}^{UDS} = \phi_i,\quad \phi_{i+1/2}^{LUD} = \tfrac{3}{2}\phi_i - \tfrac{1}{2}\phi_{i-1},\quad \phi_{i+1/2}^{QUICK} = \tfrac{3}{8}\phi_{i+1} + \tfrac{3}{4}\phi_i - \tfrac{1}{8}\phi_{i-1} $$

流动从左向右($i$ 侧为上游)时。一阶迎风(UDS)、二阶迎风(LUD)、QUICK使用的点依次增加,精度提高。

带限制器的TVD格式

$$ \phi_{i+1/2} = \phi_i + \tfrac{1}{2}\psi(r)\,(\phi_{i+1} - \phi_i),\quad r = \frac{\phi_i - \phi_{i-1}}{\phi_{i+1} - \phi_i},\quad \psi_{minmod} = \max(0, \min(1, r)),\ \ \psi_{vL} = \frac{r + |r|}{1 + |r|} $$

$r$ 为相邻梯度之比,光滑处接近1,剧烈变化或极值附近为0或负。限制器 $\psi$ 在那里减弱二阶修正,防止超调。

Coffee Break 随笔闲谈

Godunov定理

1959年苏联的Godunov证明了一个定理:不产生振荡的线性格式最多只有一阶精度。也就是说,系数固定的普通格式无法兼顾高精度与无振荡。为跨越这一障碍,20世纪70~80年代提出了系数随解的形状变化的“非线性”格式,van Leer的MUSCL和Harten的TVD是代表。限制器在光滑处用二阶精度、在剧烈处切换为一阶,巧妙地绕过了Godunov定理。

算例:把峰和方波输送一周

在分为100个单元的周期区间上,用CFL 0.4和两级龙格-库塔法把方波(高1)和高斯峰(高1)输送一周;理想情况下形状不变地回到原处:

格式方波最大值方波最小值高斯峰高高斯L1误差
一阶迎风0.6830.0000.3330.086
二阶迎风1.190−0.2150.7460.064
QUICK1.100−0.1010.9260.009
TVD(minmod)0.9640.0000.6130.037
TVD(van Leer)0.9990.0000.7500.021
🙋

QUICK保留峰值最好,方波却超出10%。

🎓

对,光滑处精度高,剧烈台阶处会振荡。浓度或温度出现小于0或超过上限的值,会使物性计算失败,或以负浓度推进反应。二阶迎风在方波上超出19%。TVD在台阶处也保持在0~1范围内,van Leer还保留75%峰高。一阶迎风安全,但峰被削到三分之一。基本分工是:重视光滑流动精度用QUICK或二阶迎风,处理台阶和锐利锋面用TVD。

选择参考

  1. 为稳定计算,前几百次迭代用一阶迎风开始,稳定后切换为高阶。
  2. 最终结果用二阶以上(二阶迎风、QUICK、TVD)给出,不要一直用一阶。
  3. 对浓度、体积分数、湍流量等有界量用TVD。
  4. 用实际使用的格式确认网格无关性。
  5. 网格越与流动方向对齐,数值扩散越小。
Coffee Break 随笔闲谈

“混合过度的烟”

某隧道通风CFD中,烟的浓度比实验稀释扩散得快得多。为了稳定算完,一直用一阶迎风到最后。一阶迎风的数值扩散叠加在真实湍流扩散之上。切换为带限制器的二阶迎风(TVD)后,烟层清晰保留,浓度接近实验。不要把为稳定而用的设置一直用到出结果。

常见错误

错误与对策

错误后果对策
一阶迎风用到最后高估混合扩散切换为二阶以上
有界量用QUICK负浓度或体积分数用TVD
把振荡误认为物理错误结论换格式确认
限制器过强峰值被削用van Leer等适中的
忽略网格方向斜向流动中扩散与流动对齐的网格
🙋

我想了解相关内容。

关联模拟器

在本领域的交互式模拟器中体验理论

模拟器列表

相关分析领域

热分析V&V·质量保证结构分析
本文评价
感谢您的反馈!
有帮助
更详细
报错
有帮助
0
更详细
0
报错
0