MMS:Spalart-Allmaras湍流模型

分类:V&V·制造解方法 | 2026-10-01 改写
CAE visualization for mms turbulence sa theory - technical simulation diagram
MMS: Spalart-Allmaras湍流模型

理论:先定答案再构造源项

概述

🙋

湍流模型实现是否正确,和实验比较不就知道了吗?

🎓

与实验不符时,分不清是模型局限还是程序错误;碰巧吻合也可能只是错误与其他误差相互抵消。程序是否正确求解方程,需要与实验分开确认。这就是验证(verification),制造解方法是其中有力的手段。自己确定解代入方程,把多余部分作为源项加入,确定的解就成为精确解。之后只需看网格加密时误差是否按理论速度下降。SA模型这类含多个非线性项的方程,经常出现漏项或系数错误,用这种方法就能发现。

简化的一维SA方程

$$ \frac{d}{dy}\!\left[\frac{\nu + \tilde\nu}{\sigma}\frac{d\tilde\nu}{dy}\right] + \frac{c_{b2}}{\sigma}\left(\frac{d\tilde\nu}{dy}\right)^2 + c_{b1} S\,\tilde\nu - c_{w1}\left(\frac{\tilde\nu}{d}\right)^2 + f(y) = 0 $$

从SA模型ν̃输运方程中去掉对流,耗散项修正函数取fw = 1,涡量大小取S = 1。常数σ = 2/3,cb1 = 0.1355,cb2 = 0.622,cw1 = cb1/κ² + (1 + cb2)/σ = 3.239(κ = 0.41)。区间0.1 ≤ y ≤ 1,壁面距离d = y,分子运动粘度ν = 0.1(无量纲)。

制造解与观测阶

$$ \tilde\nu_m(y) = 1 + 0.5\sin(2\pi y),\qquad f = -\mathcal{L}(\tilde\nu_m),\qquad p = \frac{\ln(e_h / e_{h/2})}{\ln 2} $$

L为左边算子。源项f用符号计算(sympy)求得。e_h为网格宽h时的L2误差。

Coffee Break 随笔闲谈

SA模型与验证文化

Spalart-Allmaras模型是1992年为飞机外部流动发表的一方程湍流模型,因易于使用而广泛应用。但各实现在细节处理上略有不同,同一问题结果对不上成了问题。NASA的Turbulence Modeling Resource汇总了标准公式形式和验证算例,使多个程序能确认网格加密后是否收敛到同一答案。制造解验证也用于这类实现确认。

算例

例:网格加密时的误差(二阶中心差分、牛顿法求解)

实现20等分40等分80等分160等分观测阶
正确实现3.40×10⁻³8.38×10⁻⁴2.08×10⁻⁴5.19×10⁻⁵2.02 / 2.01 / 2.00
漏掉cb2项1.37×10⁻¹1.34×10⁻¹1.33×10⁻¹1.33×10⁻¹0.03 / 0.01 / 0.01
界面扩散系数取单侧值7.98×10⁻³3.32×10⁻³1.55×10⁻³7.52×10⁻⁴1.26 / 1.10 / 1.04

观测阶由相邻两套网格误差之比求得。正确实现按理论收敛到2。

🙋

漏掉cb2项误差完全不降,而单侧扩散系数时误差仍在下降。

🎓

两者性质不同。漏掉cb2项意味着程序求解的方程本身不同,网格再细也只是接近另一个方程的解,误差停在0.13左右。这很容易发现。而界面扩散系数取单侧值的错误,方程正确,只是离散精度从二阶降到一阶。网格加密仍会接近正确解,所以只看一套网格的结果或与实验比较都难以察觉。但看观测阶为1.04,与理论值2不符,一眼就能看出。阶数验证的意义在于不仅看误差大小,还看误差减小的方式。

验证流程

  1. 选择光滑且能激活所有项的制造解(各阶导数都不为0)。
  2. 源项用符号计算生成,避免手抄错误。
  3. 在3~4套网格上计算误差,求观测阶。
  4. 阶数与理论不符时,逐项去掉以缩小原因范围。
  5. 验证期间关闭壁面函数、限制器等会降低精度的机制。
Coffee Break 随笔闲谈

“平板摩擦明明对上了”

某自研求解器加入SA模型后,平板边界层壁面摩擦与实验吻合在百分之几以内。但用制造解验证时观测阶达不到2,误差中途停止下降。调查发现cb2项的系数忘了除以σ。平板边界层中该项影响相对较小,被其他误差掩盖。在有分离的流动中结果变化很大,修正后与另一程序的结果吻合良好。

常见错误

错误与对策

错误后果对策
以与实验吻合当作已验证实现错误残留用MMS确认阶数
使部分项为0的制造解漏掉这些项的错误激活所有项的解
手工推导源项源项本身出错符号计算
网格过粗未进入渐近区用4套以上确认
保留限制器阶数下降验证期间关闭
🙋

我想了解相关内容。

关联模拟器

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

模拟器列表

相关分析领域

结构分析流体分析(CFD)热分析
本文评价
感谢您的反馈!
有帮助
更详细
报错
有帮助
0
更详细
0
报错
0