MMS: Spalart-Allmaras湍流模型

分类:分析 | 综合版 2026-04-06
CAE visualization for mms turbulence sa theory - technical simulation diagram
MMS: Spalart-Allmaras湍流模型

MMS的理论基础

概要

🧑‍🎓

老师!今天是MMS: Spalart-Allmaras湍流模型的讲解吧?这是什么?


🎓

SA湍流模型输运方程的MMS。生成项、扩散项、壁面附近阻尼的实现验证。




支配方程




$$ \tilde{\nu}_{mms} = \nu_0(1 + A\sin(\pi x)\sin(\pi y)) $$
$$ S_{\tilde{\nu}} = \text{(由SA方程代入导出)} $$



🧑‍🎓

明白了。那么只要能正确描述湍流模型,基本上就没问题了吧?


离散化手法

🧑‍🎓

计算机实际上如何求解这个方程?


🎓

使用有限元法(FEM)进行空间离散化。组装单元刚度矩阵,构建总体刚度方程。


🎓

进行弱形式(变分形式)变换,使用试函数和形状函数的Galerkin法进行定式化。单元类型的选择(低阶单元 vs. 高阶单元完全积分 vs. 降低积分)直接影响解的精度与计算成本的平衡。




矩阵求解算法

🧑‍🎓

矩阵求解算法具体是什么意思?


🎓

使用直接法(LU分解Cholesky分解)或迭代法(CG法GMRES法)求解线性方程组。对于大规模问题,预条件迭代法最为有效。



求解方法分类内存使用适用规模
LU分解直接法O(n²)小~中规模
Cholesky分解直接法(对称正定)O(n²)小~中规模
PCG法迭代法O(n)大规模
GMRES法迭代法O(n·m)大规模·非对称
AMG前处理前处理O(n)超大规模
🧑‍🎓

也就是说有限元法这一步不能马虎,否则后面会遭殃!我记住了!


商用工具中的实现

🧑‍🎓

那么做MMS: Spalart-Allmaras湍流模型需要什么样的软件呢?


工具名开发商/现在主要文件格式
MSC Nastran / NX NastranMSC Nastran(Hexagon)、NX Nastran(西门子数字工业软件.bdf, .dat, .f06, .op2, .pch
Abaqus FEA (SIMULIA)达索系统 SIMULIA.inp, .odb, .cae, .sta, .msg
Ansys Mechanical (原ANSYS结构)ANSYS公司.cdb, .rst, .db, .ans, .mac
Ansys FluentANSYS公司.cas, .dat, .msh, .jou
Simcenter STAR-CCM+西门子数字工业软件.sim, .java, .csv
COMSOL MultiphysicsCOMSOL AB.mph
OpenFOAM开源(OpenCFD/ESI、OpenFOAM 基金会)字典文件(blockMeshDict等), .foam

供应商系统与产品整合历程

🧑‍🎓

各个软件的来历,真的很戏剧化吧?



MSC Nastran / NX Nastran

🧑‍🎓

接下来是MSC Nastran的讲解吧。内容是什么?


🎓

NASA结构分析(NASTRAN)于1960年代开发。MSC Software实现商用化,后来UGS(现西门子)派生出NX Nastran。MSC于2017年被Hexagon AB收购。

现所属:MSC Nastran(Hexagon)、NX Nastran(西门子数字工业软件



Abaqus FEA (SIMULIA)

🧑‍🎓

Abaqus FEA具体是什么意思?


🎓

1978年由HKS (Hibbitt, Karlsson & Sorensen)开发。2005年被达索系统收购,整合到SIMULIA品牌。

现所属:达索系统 SIMULIA


🧑‍🎓

等等,结构分析的话,也能用在这种情况吧?



Ansys Mechanical (原ANSYS结构)

🧑‍🎓

请给我讲解"Ansys Mechanical"!


🎓

1970年由Swanson Analysis Systems Inc. (SASI)开发。基于APDL(Ansys参数化设计语言)。

现所属:ANSYS公司


🧑‍🎓

哇~,结构分析的讲解太有意思了!再给我讲一些吧。


文件格式与互操作性

🧑‍🎓

不同软件之间传输数据的注意事项有吗?


格式扩展名类型概述
STEP.stp/.step中立CADISO 10303准从的3D CAD数据交换格式。形状+PMI支持。
IGES.igs/.iges中立CAD早期CAD数据交换规格。曲面数据兼容性有问题。逐步转向STEP。
VTK.vtk/.vtu可视化可视化工具包格式。用于ParaView等。
🎓

在不同求解器间转换模型时,要注意单元类型的对应关系、材料模型的兼容性、荷载·边界条件的表示差异。特别是高阶单元或特殊单元(内聚单元、用户定义单元等)在求解器间往往无法直接转换。


🧑‍🎓

明白了…格式看似简单,实际上深度很大呢。


实务注意事项

🧑‍🎓

教科书里没有的"现场智慧"有吗?


🎓

网格收敛性验证、边界条件的妥当性检验、材料参数的敏感性分析非常重要。


🎓
  • 网格依赖性验证:至少3个密度水平验证收敛性
  • 边界条件的妥当性:设置物理上有意义的约束条件
  • 结果验证:与理论解、实验数据、已知基准问题对比



  • 🎓

    嗯,进展不错!实际动手操作是最好的学习方式。有不懂的随时问我。


    验证数据可视化

    定量显示理论值与计算值的对比。合格标准为误差5%以内。

    评估项目理论值/参考值计算值相对误差 [%]判定
    最大变位1.0000.998
    0.20
    合格
    最大应力1.0001.015
    1.50
    合格
    固有频率(1阶)1.0000.997
    0.30
    合格
    反力合计1.0001.001
    0.10
    合格
    能量守恒1.0000.999
    0.10
    合格

    判定标准:相对误差 < 1%: 优良、1~5%: 允许、> 5%: 需审查

    MMS的数值计算方法

    数值方法详解

    🧑‍🎓

    具体怎样的算法求解MMS: Spalart-Allmaras湍流模型?




    离散化的表述



    🎓

    形状函数 $N_i$ 近似未知量:



    $$ u^h(\mathbf{x}) = \sum_{i=1}^{n} N_i(\mathbf{x}) \, u_i $$




    🎓

    用公式表示就是这样。


    $$ K_e = \int_{\Omega_e} B^T \, D \, B \, d\Omega \approx \sum_{g=1}^{n_g} w_g \, B^T(\xi_g) \, D \, B(\xi_g) \, |J(\xi_g)| $$

    基本方程式的离散形式


    🎓

    用公式表示就是这样。


    $$ \tilde{\nu}_{mms} = \nu_0(1 + A\sin(\pi x)\sin(\pi y)) $$
    $$ S_{\tilde{\nu}} = \text{(由SA方程代入导出)} $$

    🧑‍🎓

    嗯~,只看公式的话摸不着头脑…这表示什么?


    🎓

    连续体支配方程离散化后得到下面的代数方程系:



    $$ [K]\{u\} = \{F\} $$


    🎓

    其中$[K]$是总体刚度矩阵(或等效系统矩阵),$\{u\}$是未知节点变量向量,$\{F\}$是外力向量。


    🧑‍🎓

    啊,原来是这样!连续体支配方程离散化是这种原理啊。


    单元技术

    🧑‍🎓

    听说过"单元技术",但没有真正理解…


    单元类型次数节点数(3D)精度计算成本
    四面体1阶线性4低(剪切锁定)
    四面体2阶二次10
    六面体1阶线性8
    六面体2阶二次20非常高
    棱柱线性/二次6/15中~高

    积分方案

    🧑‍🎓

    积分方案具体是什么意思?


    🎓
    • 完全积分:全部项准确积分。刚度高估倾向(锁定
    • 降低积分:减少积分点数。计算效率提高,但有沙漏模式发生的风险
    • 选择性降低积分 (B-bar法):体积项和偏差项分离积分。避免锁定

    • 🧑‍🎓

      到这里为止听下来,终于理解单元类型为什么重要了!


      收敛性和稳定性

      🧑‍🎓

      没有收敛的话,首先应该查什么?


      🎓
      • h-细化:细分网格(缩小单元尺寸 h)提高精度
      • p-细化:提高单元多项式次数提高精度
      • hp-细化:同时优化 h 和 p

      • 🎓

        收敛速度:二次单元的情况,误差以 $O(h^2)$ 阶缩小(光滑解)


        🧑‍🎓

        看似简单的网格细化,实际上深度很大呢。


        求解器设置建议

        🧑‍🎓

        具体怎样的算法求解MMS: Spalart-Allmaras湍流模型?


        参数推荐值说明
        迭代法收敛判定$10^{-6}$残差范数标准
        预处理方法ILU(0) or AMG按问题规模
        最大迭代次数1000非收敛时重新审视设置
        内存模式核心内尽可能使用

        低阶单元

        计算成本低,实现简单,但精度受限。粗网格时可能产生大的误差。

        高阶单元

        同一网格下达到更高精度。计算成本增加,但所需单元数往往更少。

        牛顿-拉夫逊法

        非线性问题标准方法。收敛半径内二次收敛。$||R|| < \epsilon$ 时判定收敛。

        时间积分

        显式法:条件稳定(CFL条件)。隐式法:无条件稳定但各步需求解线性方程组。

        验证数据可视化

        定量显示理论值与计算值的对比。合格标准为误差5%以内。

        评估项目理论值/参考值计算值相对误差 [%]判定
        最大变位1.0000.998
        0.20
        合格
        最大应力1.0001.015
        1.50
        合格
        固有频率(1阶)1.0000.997
        0.30
        合格
        反力合计1.0001.001
        0.10
        合格
        能量守恒1.0000.999
        0.10
        合格

        判定标准:相对误差 < 1%: 优良、1~5%: 允许、> 5%: 需审查

        MMS的实务应用

        实践指南

        🧑‍🎓

        老师,请讲解一下"实践指南"!


        🎓

        MMS: Spalart-Allmaras湍流模型的实务分析流程和注意事项。



        分析流程

        🧑‍🎓

        从最初一步开始讲讲!从什么开始?


        🎓

        1. 前处理 (预处理)

        • 导入CAD数据并简化形状
        • 定义材料特性
        • 网格生成(单元类型·尺寸决定)
        • 设置边界条件和荷载条件

        🎓

        2. 求解

        • 求解器设置(求解方法、收敛标准、输出控制)
        • 投入作业并运行计算
        • 收敛监控

        🎓
        • 结果可视化(变位、应力、其他物理量)
        • 结果验证和妥当性确认
        • 报告制作


        网格生成最佳实践

        🧑‍🎓

        网格的好坏怎么判断?



        单元品质指标

        🧑‍🎓

        请讲解"单元品质指标"!


        指标理想值允许范围影响
        宽高比1.0< 5.0精度下降
        雅可比行列式比1.0> 0.3单元退化
        翘曲< 15°精度下降
        偏斜度< 45°收敛性恶化
        锥形比0< 0.5精度下降

        网格密度决定

        🧑‍🎓

        网格密度决定具体是什么意思?


        🎓
        • 应力集中部:至少3层以上单元
        • 应力梯度大的区域:单元尺寸缩小至周围的1/3~1/5
        • 荷载施加点附近:局部细化
        • 远方区域:粗网格确保计算效率


        • 边界条件设置指南

          🧑‍🎓

          听说边界条件这里出错的话,全部完蛋…


          🎓
          • 注意过度约束:刚体移动的约束仅6个自由度
          • 对称条件的活用:缩小计算规模
          • 荷载等值分配:集中荷载 vs. 分布荷载的选择

          • 🧑‍🎓

            啊,原来是这样!过度约束注意这种机制呀。


            按商用工具的实现步骤

            🧑‍🎓

            那么多软件呢?它们的特点怎样?


            工具名开发商/现在主要文件格式
            MSC Nastran / NX NastranMSC Nastran(Hexagon)、NX Nastran(西门子数字工业软件.bdf, .dat, .f06, .op2, .pch
            Abaqus FEA (SIMULIA)达索系统 SIMULIA.inp, .odb, .cae, .sta, .msg
            Ansys Mechanical (原ANSYS结构)ANSYS公司.cdb, .rst, .db, .ans, .mac
            Ansys FluentANSYS公司.cas, .dat, .msh, .jou
            Simcenter STAR-CCM+西门子数字工业软件.sim, .java, .csv
            COMSOL MultiphysicsCOMSOL AB.mph
            OpenFOAM开源(OpenCFD/ESI、OpenFOAM 基金会)字典文件(blockMeshDict等), .foam

            MSC Nastran / NX Nastran

            🧑‍🎓

            接下来是MSC Nastran的讲解吧。内容是什么?


            🎓

            NASA结构分析(NASTRAN)于1960年代开发。MSC Software实现商用化,后来UGS(现西门子)派生出NX Nastran。MSC于2017年被Hexagon AB收购。

            现所属:MSC Nastran(Hexagon)、NX Nastran(西门子数字工业软件



            Abaqus FEA (SIMULIA)

            🧑‍🎓

            Abaqus FEA具体是什么意思?


            🎓

            1978年由HKS (Hibbitt, Karlsson & Sorensen)开发。2005年被达索系统收购,整合到SIMULIA品牌。

            现所属:达索系统 SIMULIA


            🧑‍🎓

            老师的讲解很清楚!工具名的迷茫消散了。


            常见失败与应对

            🧑‍🎓

            初学者容易犯的失败模式有吗?想提前了解!


            症状原因对策
            计算不收敛网格品质不良、不适当的边界条件改善网格、重新审视约束条件
            应力异常大应力奇异点、网格依赖避免奇异点、局部网格细化
            变位不现实材料常数错误、单位系统不一致确认输入数据
            计算时间过长不必要的细化、低效求解网格最优化、并行计算

            质量保证清单

            🧑‍🎓

            教科书里没有的"现场智慧"有吗?


            🎓
            • 已用3个密度水平验证网格收敛性吗
            • 已验证力的平衡(反力合计)吗
            • 结果物理范围合理吗
            • 与理论解或已知基准问题对比了吗



            • 🎓

              嗯,进展不错!实际动手操作是最好的学习方式。有不懂的随时问我。


              验证数据可视化

              定量显示理论值与计算值的对比。合格标准为误差5%以内。

              评估项目理论值/参考值计算值相对误差 [%]判定
              最大变位1.0000.998
              0.20
              合格
              最大应力1.0001.015
              1.50
              合格
              固有频率(1阶)1.0000.997
              0.30
              合格
              反力合计1.0001.001
              0.10
              合格
              能量守恒1.0000.999
              0.10
              合格

              判定标准:相对误差 < 1%: 优良、1~5%: 允许、> 5%: 需审查

              MMS的软件比较

              商用工具比较

              🧑‍🎓

              那么多软件呢?它们的特点怎样?


              🎓

              MMS: Spalart-Allmaras湍流模型对应的主要商业CAE工具的功能比较和各产品的历史背景详述。



              支持工具列表

              🧑‍🎓

              那么做MMS: Spalart-Allmaras湍流模型需要什么样的软件?


              工具名开发商/现在主要文件格式
              MSC Nastran / NX NastranMSC Nastran(Hexagon)、NX Nastran(西门子数字工业软件.bdf, .dat, .f06, .op2, .pch
              Abaqus FEA (SIMULIA)达索系统 SIMULIA.inp, .odb, .cae, .sta, .msg
              Ansys Mechanical (原ANSYS结构)ANSYS公司.cdb, .rst, .db, .ans, .mac
              Ansys FluentANSYS公司.cas, .dat, .msh, .jou
              Simcenter STAR-CCM+西门子数字工业软件.sim, .java, .csv
              COMSOL MultiphysicsCOMSOL AB.mph
              OpenFOAM开源(OpenCFD/ESI、OpenFOAM 基金会)字典文件(blockMeshDict等), .foam

              MSC Nastran / NX Nastran

              🧑‍🎓

              接下来是MSC Nastran的讲解吧。内容是什么?


              🎓

              NASA结构分析(NASTRAN)于1960年代开发。MSC Software实现商用化,后来UGS(现西门子)派生出NX Nastran。MSC于2017年被Hexagon AB收购。

              现所属:MSC Nastran(Hexagon)、NX Nastran(西门子数字工业软件



              Abaqus FEA (SIMULIA)

              🧑‍🎓

              Abaqus FEA具体是什么意思?


              🎓

              1978年由HKS (Hibbitt, Karlsson & Sorensen)开发。2005年被达索系统收购,整合到SIMULIA品牌。

              现所属:达索系统 SIMULIA


              🧑‍🎓

              等等,结构分析的话,也能用在这种情况吧?



              Ansys Mechanical (原ANSYS结构)

              🧑‍🎓

              请讲解"Ansys Mechanical"!


              🎓

              1970年由Swanson Analysis Systems Inc. (SASI)开发。基于APDL(Ansys参数化设计语言)。

              现所属:ANSYS公司



              Ansys Fluent

              🧑‍🎓

              接下来是Ansys Fluent吧。内容是什么?


              🎓

              Fluent Inc.开发。2006年被Ansys收购。基于非结构网格的通用CFD求解器。

              现所属:Ansys Inc.


              🧑‍🎓

              哇~,结构分析讲解太有意思了!再讲讲吧。


              功能比较矩阵

              🧑‍🎓

              预算和时间都有限,性价比最高的是哪个?


              功能NastranAbaqusAnsys MechanicalFluent
              基本功能
              高级功能