CFD网格质量指标

分类:流体分析(CFD) | 综合版 2026-04-06
CAE visualization for mesh quality cfd theory - technical simulation diagram
CFD网格质量指标

CFD网格质量指标的理论基础

概述

🧑‍🎓

老师!今天讲的是CFD网格质量指标对吧?那是什么?


🎓

非正交性、偏斜度。网格质量与收敛性、精度的关系。



🧑‍🎓

老师的解释很容易理解!非正交性的疑惑解决了。


控制方程




$$ \text{Orthogonality: }\cos\theta=\frac{\mathbf{d}\cdot\mathbf{S}}{|\mathbf{d}||\mathbf{S}|} $$
$$ \text{Skewness, Aspect Ratio} $$



🧑‍🎓

啊,原来如此!网格质量指标就是这样工作的。


离散化方法

🧑‍🎓

这个方程在计算机上具体怎样求解?


🎓

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


🎓

通过转换成弱形式(变分形式),使用试验函数和形状函数,采用Galerkin法定式化。单元类型的选择(低阶单元 vs. 高阶单元完全积分 vs. 降阶积分)直接关系到求解精度与计算成本的权衡。




矩阵求解算法

🧑‍🎓

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


🎓

通过直接法(LU分解Cholesky分解)或迭代法(CG法GMRES法)求解线性方程组。对于大规模问题,预处理迭代法很有效。



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

也就是说,有限元法阶段少一分,后期就得付出十倍的代价。记住了!


商业工具中的实现

🧑‍🎓

那CFD网格质量指标需要什么软件来做?


工具名开发商/现属主要文件格式
Ansys FluentAnsys Inc..cas, .dat, .msh, .jou
Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv
OpenFOAM开源(OpenCFD/ESI、OpenFOAM Foundation)字典文件(blockMeshDict等), .foam
Ansys CFXAnsys Inc..cfx, .def, .res, .ccl

供应商系谱与产品整合历史

🧑‍🎓

各软件的发展过程,听起来很有戏剧性?



Ansys Fluent

🧑‍🎓

接下来讲Ansys Fluent?什么内容?


🎓

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

现属:Ansys Inc.



Simcenter STAR-CCM+

🧑‍🎓

接下来讲Simcenter STAR?什么内容?


🎓

CD-adapco开发。2016年被西门子收购,整合进Simcenter品牌。多面体网格为特色。

现属:Siemens Digital Industries Software


🧑‍🎓

听完这些,开发历史的疑惑总算解开了!



OpenFOAM

🧑‍🎓

OpenFOAM具体是什么意思?


🎓

来自Imperial College London的开源CFD。OpenCFD Ltd(ESI集团子公司)与The OpenFOAM Foundation并行开发。

现属:开源(OpenCFD/ESI、OpenFOAM Foundation)


🧑‍🎓

哇,开发历史的故事,超有意思!再讲讲。


文件格式与互操作性

🧑‍🎓

在不同软件间交换数据时有什么要注意的?


格式扩展名类型说明
CGNS.cgnsCFD数据CFD通用符号系统。CFD结果标准交换格式。
VTK.vtk/.vtu可视化可视化工具包格式。ParaView等使用。
STL.stl网格仅三角形面。3D打印标准。不适合CAE网格。
🎓

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


🧑‍🎓

看来格式简单,但其实内涵很深啊。


实务注意事项

🧑‍🎓

教科书外还有什么「实战经验」之类的东西吗?


🎓

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


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


  • 🧑‍🎓

    CFD网格质量指标真的很深啊…感谢老师的讲解,整理好了!


    🎓

    不错,进度不错啊!实际动手是最好的学习方式。有疑问随时问。


    Coffee Break 杂谈小角

    偏斜度0.85以上导致计算发散——网格质量指标的真实含义

    CFD教科书说偏斜度(Skewness)要保证在0.85以下。但某流体机械厂商的实际经验是——新员工用自动生成网格,「最大偏斜度0.87,平均值良好」,结果计算跑了200步就残差爆表。问题不在「平均」,而在「局部」——高偏斜度单元集中在压力梯度大的壁面附近。这类单元的梯度计算误差非线性放大,那一个点成了「引爆点」导致全局发散。所以网格质量指标的数值不如「坏单元在哪」来得重要。

    CFD网格质量指标的数值计算方法

    数值方法详解

    🧑‍🎓

    具体用什么算法来求解CFD网格质量指标?




    离散化表述



    🎓

    用形状函数 $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)| $$

    基本方程式的离散形式


    🎓

    用公式表示是这样。


    $$ \text{Orthogonality: }\cos\theta=\frac{\mathbf{d}\cdot\mathbf{S}}{|\mathbf{d}||\mathbf{S}|} $$
    $$ \text{Skewness, Aspect Ratio} $$

    🧑‍🎓

    嗯…只看公式,有点摸不着头脑…什么意思啊?


    🎓

    连续体的控制方程离散化后,得到代数方程组:



    $$ [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)$ 阶数误差减少


        🧑‍🎓

        看来网格细化看似简单,其实内涵很深。


        求解器设置建议

        🧑‍🎓

        具体用什么算法来求解CFD网格质量指标?


        参数推荐值备注
        迭代法收敛判定$10^{-6}$残差范数基准
        预处理方法ILU(0) or AMG按问题规模
        最大迭代次数1000非收敛则重新设置
        内存模式In-core尽可能使用

        迎风差分(Upwind)

        一阶迎风:数值扩散大但稳定。二阶迎风:精度提高但振荡风险。高雷诺数流动必需。

        中心差分(Central Differencing)

        二阶精度,但 Pe 数 > 2 时出现数值振荡。低雷诺数扩散主导流适用。

        TVD格式(MUSCL、QUICK等)

        用限流函数压制数值振荡同时保持高精度。有效捕捉激波与陡峭梯度。

        有限体积法 vs 有限元法

        FVM:自然满足守恒律。CFD主流。FEM:复杂形状、多物理耦合优势。SPH等无网格法也在发展。

        CFL条件(库朗数)

        显式法:CFL ≤ 1 稳定条件。隐式法:CFL > 1 也稳定,但影响精度与迭代次数。LES:推荐 CFL ≈ 1。物理意义:1时间步信息不超过1单元。

        残差监控

        连续方程、动量、能量各残差下降3~4个数量级则判为收敛。质量守恒残差特别重要。

        松弛因子

        压力:0.2~0.3,速度:0.5~0.7 是常见初值。发散时降低松弛因子,收敛后提高来加速。

        非稳态计算的内部迭代

        每时间步内迭代至定常解。内部迭代数:5~20次为目安。时间步间残差变动大则改进时间步。

        CFD网格质量指标的实际应用

        实践指南

        🧑‍🎓

        老师,请讲「实践指南」!


        🎓

        讲CFD网格质量指标的实际分析流程与注意事项。


        🧑‍🎓

        等等,网格质量指标的实战,那这样的情况也能用?


        分析流程

        🧑‍🎓

        从最开始教起!该从什么着手?


        🎓

        1. 预处理 (Pre-processing)

        • CAD数据导入与几何简化
        • 材料特性定义
        • 网格生成(单元类型、尺寸确定)
        • 边界条件与荷载条件设置

        🎓

        2. 求解 (Solving)

        • 求解器设置(解法、收敛基准、输出控制)
        • 作业提交与计算执行
        • 收敛监控

        🎓

        3. 后处理 (Post-processing)

        • 结果可视化(位移、应力、其他物理量)
        • 结果验证与妥当性确认
        • 报告编制


        网格生成最佳实践

        🧑‍🎓

        网格好坏怎样判断?



        单元质量指标

        🧑‍🎓

        讲讲「单元质量指标」!


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

        网格密度确定

        🧑‍🎓

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


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


        • 边界条件设置指南

          🧑‍🎓

          听说边界条件错了全功尽弃…


          🎓
          • 避免过约束:刚体位移约束仅6自由度
          • 对称条件活用:计算规模减小
          • 荷载等效分配:集中力 vs. 分布力选择

          • 🧑‍🎓

            啊,原来如此!过约束要注意就是这样的机制。


            按商业工具的实现步骤

            🧑‍🎓

            各软件差异很大吧?分别讲讲特点!


            工具名开发商/现属主要文件格式
            Ansys FluentAnsys Inc..cas, .dat, .msh, .jou
            Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv
            OpenFOAM开源(OpenCFD/ESI、OpenFOAM Foundation)字典文件(blockMeshDict等), .foam
            Ansys CFXAnsys Inc..cfx, .def, .res, .ccl

            Ansys Fluent

            🧑‍🎓

            接下来讲Ansys Fluent?什么内容?


            🎓

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

            现属:Ansys Inc.



            Simcenter STAR-CCM+

            🧑‍🎓

            接下来讲Simcenter STAR?什么内容?


            🎓

            CD-adapco开发。2016年被西门子收购,整合进Simcenter品牌。多面体网格为特色。

            现属:Siemens Digital Industries Software


            🧑‍🎓

            老师的解释很清楚!工具名的疑惑解决了。


            常见失败与对策

            🧑‍🎓

            初学者常犯什么错?想先了解避免!


            症状原因对策
            计算不收敛网格质量差、边界条件不当改进网格、重新检查约束
            应力异常大应力奇异点、网格依赖避免奇异点、局部网格细化
            位移不现实材料常数错、单位制混乱确认输入数据
            计算时间过长不必要的细化、低效求解法网格优化、并行计算

            质量保证检查清单

            🧑‍🎓

            教科书外还有什么「实战经验」之类的东西吗?


            🎓
            • 用3种以上网格密度验证了网格收敛性吗
            • 检验了力的平衡(反力合计)吗
            • 结果在物理上合理范围内吗
            • 与理论解或基准问题对比过吗


            • 🧑‍🎓

              CFD网格质量指标真的很深啊…感谢老师的讲解,整理好了!


              🎓

              不错,进度不错啊!实际动手是最好的学习方式。有疑问随时问。


              Coffee Break 杂谈小角

              「运行前确认的3件事」——实务经验法则

              经验丰富的CFD工程师在网格前总做3件事。(1)CAD数据几何公差检查——面间隙(gap)或重复面会导致自动网格崩溃。(2)确认特征长度尺度——最小形状与最大域名尺度比超过1万倍易破网。(3)提前算目标 $y^+$——现阶段确定乱流模型选择(壁函数法 vs. 低Re数法)。跳过这些是导致后期全部返工的最大时间浪费。

              CFD网格质量指标的软件对比

              商业工具对比

              🧑‍🎓

              各软件差异很大吧?分别讲讲特点!


              🎓

              CFD网格质量指标支持的主要商业CAE工具的功能对比及各产品历史背景详述。



              支持工具清单

              🧑‍🎓

              那CFD网格质量指标需要什么软件来做?


              工具名开发商/现属主要文件格式
              Ansys FluentAnsys Inc..cas, .dat, .msh, .jou
              Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv
              OpenFOAM开源(OpenCFD/ESI、OpenFOAM Foundation)字典文件(blockMeshDict等), .foam
              Ansys CFXAnsys Inc..cfx, .def, .res, .ccl

              Ansys Fluent

              🧑‍🎓

              接下来讲Ansys Fluent?什么内容?


              🎓

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

              现属:Ansys Inc.



              Simcenter STAR-CCM+

              🧑‍🎓

              接下来讲Simcenter STAR?什么内容?


              🎓

              CD-adapco开发。2016年被西门子收购,整合进Simcenter品牌。多面体网格为特色。

              现属:Siemens Digital Industries Software


              🧑‍🎓

              听完这些,开发历史的疑惑总算解开了!



              OpenFOAM

              🧑‍🎓

              OpenFOAM具体是什么意思?


              🎓

              来自Imperial College London的开源CFD。OpenCFD Ltd(ESI集团子公司)与The OpenFOAM Foundation并行开发。

              现属:开源(OpenCFD/ESI、OpenFOAM Foundation)



              Ansys CFX

              🧑‍🎓

              讲讲「Ansys CFX」!


              🎓

              AEA Technology (UK) 开发的CFX。2003年被Ansys收购。结合型求解器为特色。

              现属:Ansys Inc.


              🧑‍🎓

              啊,原来如此!开发历史就是这样的机制。


              功能对比矩阵

              🧑‍🎓

              预算时间都有限,成本效益最高是哪个?


              功能FluentStar-CCM+OpenFOAMCFX
              基本功能
              高级功能
              自动化/脚本
              并行计算
              GPU支持

              转换时的风险

              🧑‍🎓

              转换时的风险具体是什么意思?


              🎓
              • 单元类型不兼容:求解器特有单元无法用中性格式表达
              • 材料模型差异:同名但内部实现不同
              • 边界条件重新定义:多数需手动重设
              • 结果数据比较:输出变量定义差异(节点值 vs. 单元值、积分点值)

              • 🧑‍🎓

                看来不同工具间的转换就是这样的机制。


                许可证形式

                🧑‍🎓

                听过「许可证形式」,但没完全理解…


                工具许可证特点
                商用FEA节点锁定/浮动高价但官方支持
                OpenFOAMGPL免费但支持需付费
                COMSOL节点锁定/浮动按模块单购
                Code_AsterGPLEDF开发的OSS求解器

                选择指南

                🧑‍🎓

                最后,应该选哪个,给个判断标准?


                🎓

                CFD网格质量指标工具选择要考虑以下:


                🎓
                • 分析规模:向数万~数亿自由度的可扩展性
                • 物理模型:必要本构关系、单元类型的支持状况
                • 工作流:与CAD的耦合、自动化便利性
                • 成本:初期投资 + 年保维护 + 教育成本
                • 支持:技术支持质量与响应速度


                • 🧑‍🎓

                  CFD网格质量指标真的很深啊…感谢老师的讲解,整理好了!


                  🎓

                  不错,进度不错啊!实际动手是最好的学习方式。有疑问随时问。


                  Coffee Break 杂谈小角

                  网格质量「基准」为何按工具而异

                  「偏斜度0.9以下」是Fluent等有限体积法的基准,ANSYS Mechanical等有限元法工具用雅可比比等别的指标。更麻烦的是,同样叫「偏斜度」,工具间定义也有微妙差异。Fluent的偏斜度用等体积形状比较、OpenFOAM的非正交性(non-orthogonality)是面法线与连接向量的角度、Star用别的指标为主。用别工具的网格时「前工具下良好却这里警告」就是这个定义差异引起。

                  CFD网格质量指标的前沿研究

                  前沿话题与研究趋势

                  🧑‍🎓

                  CFD网格质量指标领域,今后怎样发展?


                  🎓

                  看CFD网格质量指标最新研究动向与先进方法。


                  🧑‍🎓

                  啊,原来如此!网格质量指标的机制就是这样。


                  最新数值方法

                  🧑‍🎓

                  接下来讲最新数值方法?什么内容?



                  🧑‍🎓

                  嗯…只看公式,有点摸不着头脑…什么意思啊?


                  🎓
                  • 等几何分析 (IGA):直接用NURBS基函数,实现CAD-CAE无缝衔接
                  • 粒子法 (SPH, MPM):无网格方法追踪大变形、破坏
                  • 位相场法 (Phase-Field):隐式表达界面,复杂界面追踪
                  • 机器学习辅助代理模型、物理信息神经网络 (PINN)


                  • 高性能计算(HPC)支持


                    并行化方法说明适用求解器
                    MPI (领域分割)分布式内存型。大规模问题标准全主要求解器
                    OpenMP共享内存型。节点内并行多数求解器
                    GPU (CUDA/OpenCL)GPGPU应用。特别是显式法有效LS-DYNA, Fluent等
                    混合 MPI+OpenMP节点间+节点内并行大规模HPC环境

                    CFD网格质量指标的故障排查

                    故障排查




                    常见错误与对策

                    🧑‍🎓

                    老师也为CFD网格质量指标调试熬过夜吗?(笑)



                    1. 收敛失败

                    🧑‍🎓

                    收敛失败具体是什么意思?


                    🎓

                    症状:求解器在指定迭代次数内未收敛而异常终止


                    🎓

                    可能原因

                    • 网格质量不足(过度歪曲的单元)
                    • 材料参数设置不当
                    • 不恰当的初始条件
                    • 非线性性过强(荷载步不足)

                    🎓

                    对策

                    • 执行网格质量检查(纵横比、雅可比比)
                    • 确认材料参数的单位制
                    • 荷载分多步进行(增加子步数)
                    • 放宽收敛判定基准(但注意精度)

                    🧑‍🎓

                    也就是说,收敛失败处理不好,后期会很惨。要永记心间!



                    2. 非物理结果

                    🧑‍🎓

                    接下来讲非物理结果?什么内容?


                    🎓

                    症状应力/位移/温度等出现物理上不现实的值


                    🎓

                    可能原因

                    • 边界条件误设
                    • 单位制混用(SI单位与工程单位混淆)
                    • 不恰当的单元类型选择
                    • 应力奇异点存在

                    🎓

                    对策

                    • 确认反力合计(力的平衡)
                    • 检查单位制一致性
                    • 重新考虑单元类型适合性
                    • 移除奇异点或子模型化

                    🧑‍🎓

                    前辈说过「收敛失败一定要好好处理」,现在明白了。




                    3. 计算时间超过

                    🧑