Spalart-Allmaras模型

分类:流体分析(CFD) | 综合版 2026-04-06
CAE visualization for spalart allmaras theory - technical simulation diagram
Spalart-Allmaras模型

Spalart-Allmaras理论基础

概述

🧑‍🎓

老师,我听说Spalart-Allmaras模型在航空领域经常使用,这是什么模型呢?


🎓

Spalart-Allmaras(SA)模型是一种单方程湍流模型,仅通过一条修正涡粘性 $\tilde{\nu}$ 的输运方程来描述湍流。由Philippe Spalart和Steven Allmaras于1992年发表。该模型是为飞机翼周围流动特别开发的,已成为NASA标准湍流模型之一。


🧑‍🎓

单方程意味着比k-epsilon的双方程更轻量吗?


🎓

正是如此。由于输运方程少一条,计算成本更低,收敛速度更快。该模型在壁面附近行为良好,对附着边界层和弱逆压力梯度下的流动具有高精度。


支配方程

🧑‍🎓

请给出具体的方程。


🎓

修正涡粘性 $\tilde{\nu}$ 的输运方程如下。


$$ \frac{D\tilde{\nu}}{Dt} = c_{b1}\tilde{S}\tilde{\nu} - c_{w1}f_w\left(\frac{\tilde{\nu}}{d}\right)^2 + \frac{1}{\sigma}\left[\nabla\cdot\left((\nu + \tilde{\nu})\nabla\tilde{\nu}\right) + c_{b2}(\nabla\tilde{\nu})^2\right] $$

🎓

各项的物理意义如下。


物理意义
生成项$c_{b1}\tilde{S}\tilde{\nu}$平均速度梯度的湍流生成
耗散项$c_{w1}f_w(\tilde{\nu}/d)^2$依赖于壁面距离 $d$ 的破坏
扩散项$\frac{1}{\sigma}[\nabla\cdot((\nu+\tilde{\nu})\nabla\tilde{\nu}) + c_{b2}(\nabla\tilde{\nu})^2]$分子扩散+湍流扩散

涡粘性的计算

🧑‍🎓

怎样从 $\tilde{\nu}$ 求得涡粘性 $\nu_t$?


🎓

使用阻尼函数 $f_{v1}$ 进行计算。


$$ \nu_t = \tilde{\nu}\, f_{v1}, \quad f_{v1} = \frac{\chi^3}{\chi^3 + c_{v1}^3}, \quad \chi = \frac{\tilde{\nu}}{\nu} $$

在壁面附近($\chi \ll 1$),$f_{v1} \to 0$,$\nu_t$ 自动衰减。这是SA模型的一个重要特征,不需要额外添加低雷诺数阻尼函数。


模型常数

🧑‍🎓

有多少个常数?


🎓

以下是标准常数。


常数常数
$c_{b1}$0.1355$c_{b2}$0.622
$\sigma$2/3$\kappa$0.41
$c_{w1}$$c_{b1}/\kappa^2 + (1+c_{b2})/\sigma$$c_{w2}$0.3
$c_{w3}$2.0$c_{v1}$7.1
🧑‍🎓

虽然常数很多,但 $c_{w1}$ 是从其他常数推导出的,实质上独立的常数约有6个吧。


🎓

正是如此。而且壁面距离 $d$ 是唯一的几何输入,不需要额外求解湍流长度尺度方程。这就是单方程模型的简洁性。

趣闻 闲聊

「用单方程求解机翼」——Philippe和Amir的赌局

1992年Philippe Spalart和Steven Allmaras发表的SA模型采用「仅解一条涡粘性输运方程」的理念。当时CFD社区存在「不解两条方程就无法计算湍流」的固有偏见,单方程方法遭到怀疑。但翼面边界层的计算精度不低于双方程模型,航空业也因此迅速接纳该模型。NASA外部空气动力CFD指南多年来推荐该模型,正是因为这个单方程的轻量性和鲁棒性。

Spalart-Allmaras数值计算方法

FVM中的离散化

🧑‍🎓

在CFD求解器中怎样离散化SA模型?


🎓

使用有限体积法(FVM)离散化与其他标量输运方程相同。对流项和扩散项转换为面通量进行离散化。


$$ \int_V \frac{\partial(\rho\tilde{\nu})}{\partial t}dV + \oint_S \rho\tilde{\nu}\mathbf{u}\cdot d\mathbf{A} = \oint_S \frac{\rho(\nu+\tilde{\nu})}{\sigma}\nabla\tilde{\nu}\cdot d\mathbf{A} + \int_V S_{\tilde{\nu}}\, dV $$

🎓

但SA模型有其特殊之处。非线性扩散项 $c_{b2}(\nabla\tilde{\nu})^2$ 不符合标准扩散项形式,需要作为源项处理,或采用保守形改写技巧。


壁面距离 $d$ 的计算

🧑‍🎓

壁面距离怎样计算?需要计算所有单元到最近壁面的距离,对吧?


🎓

对。壁面距离计算主要有两种方法。


方法计算量精度并行化
几何搜索(Brute Force)$O(N_{cell} \times N_{wall})$精确通信成本大
泊松方程法$O(N_{cell})$近似容易
🎓

泊松方程法通过求解 $\nabla^2 \phi = -1$,用 $d \approx |\nabla\phi| + \sqrt{|\nabla\phi|^2 + 2\phi}$ 来估计。Fluent默认使用这个方法。在大规模并行计算中比几何搜索更高效。


边界条件

🧑‍🎓

壁面和远场设置什么样的边界条件?


🎓
边界条件备注
壁面$\tilde{\nu} = 0$完全粘着条件
入口$\tilde{\nu}_{\text{in}} = 3\nu$ 〜 $5\nu$低湍流度外流
远场$\tilde{\nu}_{\infty} / \nu = 3$ 〜 $5$NASA推荐值
🎓

入口的 $\tilde{\nu}$ 设置会影响结果。NASA湍流建模资源推荐 $\tilde{\nu}/\nu = 3$,但与风洞实验比较时需要根据湍流强度调整。


数值稳定性技巧

🧑‍🎓

SA模型计算会不稳定吗?


🎓

当 $\tilde{\nu}$ 变成负值时在物理上无意义。采用以下对策。


  • 负值限制(Negativity clipping):当 $\tilde{\nu} < 0$ 时设为零
  • SA-neg变体:Allmaras等(2012)提出的负值容许版本。对生成项和耗散项进行修正,即使 $\tilde{\nu} < 0$ 也能稳定计算
  • 源项隐式线性化:将 $S_{\tilde{\nu}} = S_c + S_p \cdot \tilde{\nu}$ 分解,将 $S_p < 0$ 部分植入系数矩阵

🧑‍🎓

OpenFOAM中也实现了SA-neg变体吗?


🎓

OpenFOAMv2306之后,SpalartAllmaras 类中包含了负值处理。Fluent也已支持SA-neg。

趣闻 闲聊

SA模型的壁距——小输入的大影响

Spalart-Allmaras模型唯一的几何输入就是壁面距离 $d$,这个 $d$ 的精度直接影响整个模型的精度。在复杂形状中,比如翼与襟翼的间隙或机身与发动机的接合处,壁面距离计算会变困难。特别是在内壁(腔体内表面)被误认为是「外壳」时,壁面距离会过大,导致局部涡粘性严重高估。使用SA模型时必须养成习惯,总是将壁距场可视化检查一遍,这是现场确保计算精度的铁则。

Spalart-Allmaras实际应用

SA模型的适用范围

🧑‍🎓

请告诉我应该使用SA模型的场景和应该避免的场景。


🎓

有明确的适用分界。


适用场景原因
翼型周围空气动力分析(NACA翼、飞机翼)开发目标本身。附着边界层高精度
火箭喷嘴内部流壁面附近稳定,高Re适应
涡轮叶栅基本研究计算成本低,多工况检验适合
DES/DDEs的RANS区域SA-DES、SA-DDEs广泛应用
应该避免的用途原因
自由剪切层(喷流、混合层)自由剪切层展宽率会高估
强旋转流(旋风分离器、涡室)无法捕捉异向性效应
大规模剥离(钝头物体后方)再附着位置预测精度低
浮力驱动流浮力-湍流相互作用模型未完善

网格要求

🧑‍🎓

SA模型需要多高的网格分辨率?


🎓

SA模型设计前提是求解到壁面附近。内置低雷诺数阻尼函数 $f_{v1}$,因此 $y^+ \approx 1$ 是理想的。


参数推荐值
壁面第一层 $y^+$1以下
边界层内的层数20层以上
增长率1.1〜1.2
流向分辨率翼弦长度每200个单元以上
🧑‍🎓

可以和壁函数组合使用吗?


🎓

可以,但不推荐。SA模型的优势就在于壁面行为的精确性,用壁函数省略的话优势就没了。如果想用壁函数,k-epsilon系或SST k-omega更合适。


DES/DDEs的连接

🧑‍🎓

请介绍SA-DES。


🎓

Spalart等(1997)提出的分离涡模拟(DES)通过修正SA模型的壁面距离 $d$ 实现,使得壁面外的区域表现出LES特性的混合方法。


$$ \tilde{d} = \min(d, C_{\text{DES}} \Delta) $$

其中 $\Delta$ 是网格宽度,$C_{\text{DES}} = 0.65$。壁面附近 $d < C_{\text{DES}}\Delta$ 时为RANS,离壁面较远时 $C_{\text{DES}}\Delta < d$ 则表现为LES。


🧑‍🎓

DDEs与DES有什么区别?


🎓

延迟分离涡模拟(DDES)是Spalart等(2006)的改进版,防止了在边界层内不必要地切换到LES模式的「网格诱导剥离」问题。引入延迟函数 $f_d$ 在边界层内维持RANS。航空领域中DDEs实际上已成为标准。

趣闻 闲聊

SA模型在航天器热环境评估中的应用

航天飞机再入时的空气动力加热分析中也活跃着Spalart-Allmaras模型。其单方程的轻量性使得大量参数研究成为可能,再入角度、速度、姿态的各种组合都能用CFD进行网格化评估。在计算资源有限的1990年代至2000年代,SA比双方程快25〜30%的速度优势是决定性的。这体现了「简洁就是力量」的Unix哲学在SA模型中的体现。

Spalart-Allmaras软件对比

求解器实现对比

🧑‍🎓

不同求解器中SA模型的实现有差异吗?


🎓

模型方程本身相同,但对DES变体和支持程度有所不同。


功能Ansys FluentAnsys CFXSTAR-CCM+OpenFOAM
标准SA支持支持支持支持
带旋转/曲率修正支持(SA-RC)支持支持支持
SA-neg(负值容许)支持--支持支持
SA-DES支持支持支持支持
SA-DDES支持支持支持支持
SA-IDDES支持--支持支持

NASA验证案例的对比

🧑‍🎓

不同求解器中SA模型的结果一致吗?


🎓

NASA湍流建模资源提供的验证案例(平板、NACA 0012、DPW等)中,设置正确的话各求解器结果基本一致。但以下因素会导致差异。


差异原因影响
壁面距离的计算方式复杂形状中单元 $d$ 值不同
对流格式精度二阶迎风 vs. MUSCL vs. TVD格式
源项线性化方式收敛性和稳定性受影响
转捩处理完全湍流 vs. trip条件
🧑‍🎓

在Fluent中设置的步骤是什么?


🎓

1. Models > Viscous > Spalart-Allmaras (1 Equation) 选择

2. 在Options中选择Strain/Vorticity-Based Production(推荐Vorticity)

3. 如需启用曲率修正,在SA Options中勾选Rotation/Curvature Correction

4. 入口BC中将Modified Turbulent Viscosity设为 $3\nu$ 〜 $5\nu$


OpenFOAM设置示例

🧑‍🎓

OpenFOAM中怎样设置?


🎓

constant/turbulenceProperties 中如下指定。


```

RAS {

model SpalartAllmaras;

turbulence on;

printCoeffs on;

}

```


初始条件在 0/nuTilda 文件中设置。内部场为 $3\nu$ 〜 $5\nu$,壁面为 fixedValue uniform 0


🧑‍🎓

SA模型是航空领域的首选,对DES/DDEs的扩展性很强,这是优势吧。在工业应用中常是SA和SST k-omega的二选一。


🎓

理解正确。壁面精细处理的航空类选SA,壁函数配合或热分析需求的话SST k-omega更合适。这就是划分。

趣闻 闲聊

NASA的SA验证页面——公开标杆对全球的影响

NASA湍流建模资源网站公开发布了包括SA模型在内的主要RANS模型的参考实现和验证数据。这个网站的整备使「我的计算与NASA标准解一致」这样的表述成为可能,为求解器间比较奠定了标准基础。Fluent、OpenFOAM、SU2等求解器开发者都用这个NASA基准来验证自己的实现。Spalart本人也参与了该网站的维护,将自己的模型变成「官方标尺」的研究者是罕见的。

Spalart-Allmaras前沿研究

旋转·曲率修正(SA-RC)

🧑‍🎓

SA模型的旋转曲率修正是怎样的?


🎓

Shur等(2000)提出的修正在生成项中加入旋转曲率效应。乘以旋转函数 $f_{r1}$,


$$ P_{\text{SA-RC}} = c_{b1}(f_{r1} - f_{t2})\tilde{S}\tilde{\nu} $$

$f_{r1}$ 由应力率张量与旋转率张量的比计算。凸面侧(稳定作用)抑制湍流,凹面侧(不稳定作用)增强湍流。


🧑‍🎓

什么场景下会显示效果?


🎓

翼尖涡、U型管内流、涡轮机械叶栅等曲率强的流动中可见改善。NASA通用研究模型(CRM)的翼尖部分使用SA-RC时,标准SA比实验一致性更好。


SA-QCR(Quadratic Constitutive Relation)

🧑‍🎓

也听说过SA-QCR。


🎓

标准的Boussinesq假设(线性涡粘性模型)中,雷诺应力张量与应力率成正比。SA-QCR(Spalart,2000)在此基础上添加二次项来部分再现异向性。


$$ \tau_{ij} = -2\mu_t S_{ij} + C_{cr1}\left(\overline{\Omega}_{ik}a_{jk} + \overline{\Omega}_{jk}a_{ik}\right) $$

其中 $a_{ij}$ 是规格化雷诺应力的异向性张量,$C_{cr1} = 0.3$。


🎓

翼-机身接合部的角涡和翼根的二次流预测能改善。NASA拖曳预报研讨会(DPW)显示,SA-QCR的阻力预报比标准SA更接近实验。


机器学习的改进

🧑‍🎓

有用AI改进SA模型的研究吗?


🎓

有。代表性方法有以下两种。


1. 场反演与机器学习(FIML):Parikh-Duraisamy(2016)。通过最小化实验数据差异在全场反演生成项修正系数 $\beta(\mathbf{x})$,再用ML将 $\beta$ 一般化

2. 物理约束神经网络(PINN):将SA输运方程作为物理约束植入神经网络,用少量DNS/LES数据优化模型常数


🧑‍🎓

FIML已是实用阶段吗?


🎓

还在研究阶段,但波音等在考虑飞机设计的应用。SA模型通过壁面距离函数的结构与FIML配合性好,比其他RANS模型更容易改进。


SA-noft模型

🧑‍🎓

还有其他变体吗?


🎓

SA-noft(无 $f_{t2}$ 项)是去掉转捩项 $f_{t2}$ 的简化版,在完全湍流计算中与标准SA结果几乎相同。NASA湍流建模资源推荐在无特殊原因时使用SA-noft。这也是Fluent的标准实现。

趣闻 闲聊

SA模型与DES——「壁采RANS,涡采LES」的创意

Spalart-Allmaras模型也是分离涡模拟(DES)这一划时代手法的出发点。DES(1997年提出)通过修正SA的壁面距离 $d$,使得边界层内采用RANS,剥离域采用亚网格模型进行LES计算的混合方法。「仅用一种模型的切换就连接RANS和LES」的想法当时非常新颖,是SA模型设计者Spalart自身对模型的拓展。现今DES、DDES、IDDES的全部根源都追溯到SA模型。

Spalart-Allmaras故障排查

常见问题及对策

🧑‍🎓

SA模型计算不正常时,要检查什么?


1. nuTilda 变成负值

🎓

症状:计算中 $\tilde{\nu}$ 变为负值,发生NaN/Inf


原因:初始条件不适当($\tilde{\nu}$ 初值为零或极小),网格品质差,入口边界发生逆流


对策

  • 初值设为 $\tilde{\nu} = 3\nu$ 〜 $5\nu$
  • 采用SA-neg变体(Fluent自动处理)
  • 入口的 $\tilde{\nu}$ 值增大(临时增至 $10\nu$ 稳定后恢复)
  • 检查网格质量指标(偏斜度 < 0.85)

2. 壁面距离计算错误

🧑‍🎓

壁面距离错误会怎样?


🎓

症状:耗散项 $c_{w1}f_w(\tilde{\nu}/d)^2$ 变成异常值,涡粘性过大或过小


原因:多个壁面接近区域(间隙、薄结构)壁面距离计算不准


对策

  • Fluent中Solve > Initialize > Wall Distance 重新计算
  • OpenFOAM中 wallDist 的 method 从 meshWave(默认)改为 Poisson试试
  • 间隙极窄时简化形状

3. 自由剪切层高估

🧑‍🎓

喷流的展宽角有问题。


🎓

症状:喷流展宽率比实验大20〜30%


原因:SA模型未针对自由剪切流做过校正。壁面距离 $d$ 大的区域散逸不足,涡粘性过大


对策

  • 喷流混合层分析改用SST k-omega或k-epsilon Realizable
  • 切换到DES/DDEs,用LES求解自由剪切层

4. 转捩位置与实验不符

🎓

症状:翼面层流湍流转捩位置与实验不同


原因:标准SA模型假设完全湍流。没有转捩预测功能


对策

  • 要考虑转捩则用SA + $\gamma$-$Re_\theta$ 转捩模型
  • Fluent可用Transition SST
  • 用trip条件手动指定转捩位置(NASA案例常用)

验证用基准

🧑‍🎓

用什么基准验证SA模型的结果?


🎓

NASA湍流建模资源(https://turbmodels.larc.nasa.gov/)最可信。推荐以下案例。


案例验证项实验数据
平板$C_f$ 分布Wieghardt (1951)
NACA 0012$C_p$, $C_L$-$\alpha$Gregory-O'Reilly (1970)
RAE 2822跨音速 $C_p$Cook等 (1979)
DPW (CRM)巡航工况 $C_D$NASA CRM实验
🧑‍🎓

先用平板验证 $C_f$ 是否符合理论值($C_f = 0.058 Re_x^{-0.2}$),再进行NACA翼就是标准流程吧。

趣闻 闲聊

ν̃变负——OpenFOAM用户最初踏的地雷

SA模型的工作变量 ν̃(修正涡粘性)理论上非负,但数值计算时可能变负,导致涡粘性变负,计算发散。OpenFOAM的SpalartAllmaras求解器引入了SA-neg变形来处理负值,但旧版本对策不足,初学者常被卡住。「OpenFOAM的SA中nu_t有问题」是CFD论坛的定番话题,正确设置第一层网格y+和ν̃初值是解决的捷径。

相关模拟器

通过本领域的交互式模拟器亲身体验理论

模拟器列表

相关领域

热分析V&V、品质保证结构分析
本文的评价
感谢您的回答!
有帮助
更详细
报告
错误
有帮助
0
更详细
0
报告错误
0
撰写者:NovaSolver贡献者
匿名工程师与AI — 网站地图
查看档案