动态Smagorinsky模型

分类:流体解析(CFD) | 综合版 2026-04-06
CAE visualization for dynamic smagorinsky theory - technical simulation diagram
动态Smagorinsky模型

动态Smagorinsky理论基础

概述

🧑‍🎓

老师,动态Smagorinsky模型改进了Smagorinsky模型的哪个方面?


🎓

Smagorinsky模型的最大问题是,模型常数 $C_s$ 依赖于流场但使用固定值。动态Smagorinsky模型(Germano等人,1991年;Lilly,1992年)是在计算中局部动态求取 $C_s$ 的技术。利用称为Germano恒等式的数学恒等式。


Germano恒等式

🧑‍🎓

什么是Germano恒等式?


🎓

这是关于两级过滤(网格过滤 $\bar{\phantom{u}}$(宽度 $\Delta$)和测试过滤 $\hat{\phantom{u}}$(宽度 $\hat{\Delta} = 2\Delta$))的恒等式。


$$ L_{ij} = \widehat{\overline{u_i}\,\overline{u_j}} - \hat{\overline{u}}_i\hat{\overline{u}}_j $$

这个 $L_{ij}$(Leonard应力张量)可以从已知的解析尺度量直接计算。另一方面,从SGS应力模型式的一致性条件:


$$ L_{ij} - \frac{1}{3}\delta_{ij}L_{kk} = 2C_s^2 M_{ij} $$

$$ M_{ij} = \hat{\Delta}^2|\hat{\bar{S}}|\hat{\bar{S}}_{ij} - \widehat{\Delta^2|\bar{S}|\bar{S}_{ij}} $$

$C_s^2$ 的动态计算

🧑‍🎓

如何求取 $C_s^2$ ?


🎓

使用Lilly(1992年)的最小二乘法。


$$ C_s^2 = \frac{\langle L_{ij}M_{ij}\rangle}{\langle M_{ij}M_{ij}\rangle} $$

$\langle \cdot \rangle$ 表示空间方向(均质方向)或Lagrange平均。不进行这种平均化会导致 $C_s^2$ 局部出现负值或剧烈振荡,计算变得不稳定。


🧑‍🎓

$C_s^2$ 为负在物理上意味着什么?


🎓

负的 $C_s^2$ 表示反向散逸(backscatter),即从SGS尺度向解析尺度的能量逆向转输。这在物理上是可能发生的现象,但数值上会导致不稳定。在实现中,可以将 $C_s^2$ 的下限设为零进行截断,或通过Lagrange平均来抑制负值。


动态模型的优点

🧑‍🎓

动态模型的具体优点是什么?


🎓
优点说明
壁面处 $C_s \to 0$无需Van Driest阻尼自动实现正确的壁面行为
遍历流的再现在层流区 $C_s \to 0$,避免过度散逸
不同Re数的适应无需事先调整常数
反向散逸的部分再现$C_s^2 < 0$ 在物理上是允许的
咖啡休息 趣谈

Germano"让流场自己决定常数"这一思想的革新性

1991年Massimo Germano提出的动态处理的革命性之处在于"人类无需决定SGS常数"。通过使用测试过滤来求解Germano恒等式,从流场中局部动态求出最优的 $C_s$ ——这种做法从根本上改变了传统"通过实验校准模型参数"的思路。但是最初的论文有负值问题导致计算发散,翌年Lilly(1992年)通过最小二乘法的平均化实现了稳定化,形成了实用的方法。

动态Smagorinsky数值计算方法

测试过滤的实现

🧑‍🎓

测试过滤具体如何实现?


🎓

在非结构网格中,单元中心值的相邻单元平均(体积加权)通常用作测试过滤。在结构网格中可以使用顶帽过滤或高斯过滤。


过滤类型实现方法精度
顶帽(盒式)相邻单元的简单平均低(非均匀网格有问题)
体积加权平均$\hat{\phi}_P = \sum_f V_f \phi_f / \sum_f V_f$中等
高斯过滤基于距离的高斯权重高(适合结构网格)

稳定化方法

🧑‍🎓

$C_s^2$ 出现负值导致不稳定时如何处理?


🎓

主要有3种方法。


1. 截断:$C_s^2 < 0$ 时截断为零。最简单但失去反向散逸的物理

2. 空间平均:在均质方向(如通道流的横向方向)平均 $\langle L_{ij}M_{ij}\rangle$。适合通道流

3. Lagrange平均(Meneveau等人1996):沿流体粒子轨迹的时间平均。适用于非均质流


🎓

Lagrange动态模型最具通用性,在OpenFOAM中实现为 dynLagrangian。Fluent中也可用Dynamic Smagorinsky-Lilly模型。


求解器中的设置

🧑‍🎓

请说明各个求解器中的设置方法。


🎓
求解器设置方法
FluentViscous > LES > Dynamic Smagorinsky-Lilly
STAR-CCM+LES > Dynamic Smagorinsky SGS Model
OpenFOAMLESModel dynamicKEqn or dynSmagorinsky
🧑‍🎓

动态Smagorinsky是LES SGS模型中理论最优雅的方法,不需调整常数是很大的优势。但实现复杂度和成本(测试过滤计算)是需要权衡的。

咖啡休息 趣谈

测试过滤宽度"2倍"就可以吗的问题

动态处理的测试过滤宽度 $\hat{\Delta}$ 习惯上设为 $\hat{\Delta} = 2\Delta$,但为什么是2倍这个问题直接问出来往往答不上来。理论上是"惯性区的尺度相似性成立的范围内获得最大信息的比率",但实际很大程度上是经验性的选择。也有研究尝试了 $\hat{\Delta} = 3\Delta$ 或 $4\Delta$,有些情况下出现了网格依赖性。建议不是"莫名其妙用2倍"而是进行灵敏度测试。

动态Smagorinsky实务应用

适用范围

🧑‍🎓

动态Smagorinsky模型在什么场景下应该使用?


🎓
适用场景原因
遍历流(层流→乱流遍历包含的流)$C_s$ 在层流区自动变为零
复杂形状的工业LES无需调整,通用性强
壁面附近解析的LES无需Van Driest阻尼壁面行为正确
不同Re数的系统研究常数自动调整
🧑‍🎓

与标准Smagorinsky相比计算成本增加多少?


🎓

由于测试过滤计算和Germano恒等式的评估,SGS模型部分的成本增加2~3倍。但相对于LES整体成本(Navier-Stokes方程求解),占比较小,整体增加约10~15%。


网格要求

🧑‍🎓

动态Smagorinsky模型有特有的网格要求吗?


🎓

基础LES网格要求之外,对测试过滤品质有额外要求。


  • 测试过滤宽度 $\hat{\Delta} = 2\Delta$ 能清晰定义的网格(避免尺寸急剧变化)
  • 壁面附近:$y^+ < 1$,$\Delta x^+ < 50$(流向),$\Delta z^+ < 20$(横向)
  • 非均匀网格使用体积加权测试过滤

验证测试用例

🧑‍🎓

动态Smagorinsky模型的验证可用哪些用例?


🎓
测试用例验证项目参考数据
完全发展通道流($Re_\tau = 395$)速度分布、Reynolds应力Moser等人(1999年)DNS
平板上的遍历边界层遍历位置、$C_f$ 分布Sayadi等人(2013年)DNS
后向台阶($Re_H = 5100$)再附长度Le等人(1997年)DNS
圆柱周围($Re_D = 3900$)$C_D$、$St$、压力分布Beaudan-Moin(1994年)
咖啡休息 趣谈

"$C_s$ 变成负数了!"——动态模型常见状况的对处法

开始使用动态Smagorinsky必然会遇到 $C_s^2 < 0$ 问题。这反映了能量逆流(发生反向散逸)的物理状况,但直接使用会导致负的涡粘性使计算发散。实务对处是"截断(将 $C_s^2$ 限制为0以上)"或"平滑处理(通过空间平均进行平整)"二选一。完全消除会歪曲物理,但优先稳定性的话前者较为稳妥。选择哪种会影响结果,需要记录下来。

动态Smagorinsky软件对比

求解器的实现对比

🧑‍🎓

各个求解器中动态Smagorinsky的实现有差异吗?


🎓
功能FluentSTAR-CCM+OpenFOAM
Dynamic Smagorinsky-Lilly支持支持支持(dynamicKEqn)
Lagrange动态模型----支持(dynLagrangian)
测试过滤类型体积加权体积加权可选
$C_s^2$ 截断自动自动可配置
反向散逸模型----社区实现
🧑‍🎓

在Fluent中使用动态Smagorinsky有什么注意点?


🎓

Fluent的Dynamic Smagorinsky-Lilly是基于平面平均(均质方向的平均)。在没有均质方向的复杂形状中,使用局部平均,精度可能较差。这种情况下WALE模型往往能更稳定地给出好结果。


SGS模型选择指南

🧑‍🎓

请说明LES SGS模型的选择标准。


🎓
SGS模型常数壁面行为计算成本推荐场景
Smagorinsky固定 $C_s = 0.1$~$0.2$需要阻尼完全发展乱流基准
动态Smagorinsky动态计算自动中等遍历流、复杂形状
WALE固定 $C_w = 0.325$自动工业LES首选
$\sigma$ 模型固定 $C_\sigma = 1.35$自动纯剪切流优异
🧑‍🎓

工业应用中WALE最受欢迎,动态Smagorinsky在需要精度的研究用途中更强,这样的分工理解吧。

咖啡休息 趣谈

动态模型的计算成本"真的高"吗

"动态Smagorinsky比古典版本慢"这个说法很常见,但实际的额外开销因求解器而异。OpenFOAM的实现中,额外滤波运算通常占全体的5~15%,但网格结构复杂时平均处理的数据通信成本增加,可能超过30%的额外开销。Fluent和StarCCM+经过内部优化后几乎是透明的,也有这样的报告。"动态就慢"这个先入观不如在自己环境上做基准测试更重要。

动态Smagorinsky先端研究

动态混合模型

🧑‍🎓

动态技术还有进一步的发展吗?


🎓

Zang等人(1993年)的动态混合模型(Dynamic Mixed Model)将Smagorinsky模型(涡粘性型)与尺度相似模型(scale-similarity型)组合,同时动态求取两个常数。SGS应力的再现性提高。


Lagrange动态模型的发展

🧑‍🎓

Lagrange动态模型的最新研究趋势如何?


🎓

针对Meneveau等人(1996年)的原始版本,已提出以下改良。


  • 计算效率改善:限制测试过滤计算到相邻单元的限定范围
  • 非结构网格支持:Vasilyev等人(1998年)的离散滤波理论
  • 可压缩流:Moin等人(1991年)的Favre平均动态模型

机器学习的SGS模型

🧑‍🎓

有用AI取代SGS模型的研究吗?


🎓

有的。从DNS数据中用神经网络直接预测SGS应力张量的方法。Gamahara-Hattori(2017年)、Beck等人(2019年)的研究中实现了比动态Smagorinsky模型更高精度的SGS应力预测。但在先验测试(SGS应力的瞬时值比较)中优异,在后验测试(实际LES计算中的使用)中仍有稳定性问题。


🧑‍🎓

动态Smagorinsky模型有超过30年的历史,是成熟的方法,现在仍是LES SGS模型理论的基础位置。

咖啡休息 趣谈

动态模型和反向散逸——该不该允许"负粘性"

动态Smagorinsky研究者现在还在讨论的是"在多大程度上允许负的涡粘性(反向散逸)"的问题。负值直接使用会更现实,但计算容易不稳定。完全截断就稳定但物理精度下降。"局部截断+Lagrange平均"手法(Meneveau 1996)是现在认可的实用最优解。但不是完全的解决,仍是研究课题。

动态Smagorinsky故障排除

常见问题和对策

🧑‍🎓

使用动态Smagorinsky模型计算不顺利时应该检查什么?


1. $C_s$ 激烈振荡导致不稳定

🎓

原因:均质方向的空间平均或Lagrange平均不充分


对策

  • 有均质方向时(通道流的横向等)在该方向平均
  • 没有均质方向时切换为Lagrange动态模型
  • 启用 $C_s^2$ 下限为0的截断稳定化
  • 增大测试过滤宽度(如 $\hat{\Delta} = 3\Delta$ 等)

2. 壁面附近涡粘性过大

🧑‍🎓

壁面附近$C_s$ 没有变成零。


🎓

原因:测试过滤实现在壁面附近不能正确工作(跨越壁面的滤波等)


对策

  • 确认测试过滤不跨越壁面
  • 确认OpenFOAM壁面BC对测试过滤的处理
  • 替代方案为WALE模型(壁面行为有保证)

3. 遍历未能再现

🎓

现象:动态模型的 $C_s$ 在层流区仍为正值


对策

  • 确认网格解析度充分(要解析遍历需要DNS级分辨率)
  • 确认入口乱流波动合适(过度波动导致强制遍历)

4. 计算成本高

🧑‍🎓

有减少动态模型额外开销的方法吗?


🎓
  • 降低测试过滤计算频率(不是每步而是隔几步)
  • 调整Lagrange动态模型的时间尺度 $T$,在平均稳定性和计算频率间平衡
  • 切换为WALE模型(定常数无需动态计算,壁面行为同等)
咖啡休息 趣谈

"Germano恒等式对不上"——非结构网格的陷阱

动态Smagorinsky故障中意外多见的是非结构网格(四面体或混合网格)上Germano恒等式误差增大。理论上假定了滤波操作与Navier-Stokes方程的可交换性,但非均匀网格中这个交换误差变得不可忽视。特别是网格尺寸急剧变化的地方(细网格和粗网格的边界),SGS应力的评估容易不稳定。调试第一步就是检查是否频繁发生局部截断。

相关模拟器

通过该领域的交互模拟器直观体验理论

模拟器列表

相关领域

热解析V&V·质量保证结构解析
本文评价
感谢您的回答!
有参考
价值
希望
更详细
报告
错误
有参考价值
0
希望更详细
0
报告错误
0
贡献者:NovaSolver Contributors
匿名工程师和AI——网站地图
查看简介