密度基础求解器

分类:流体分析(CFD) | 集成版 2026-04-06
CAE visualization for density based theory - technical simulation diagram
密度基础求解器

密度基础求解器的理论基础

概述

🧑‍🎓

老师!今天是密度基础求解器的话题,对吧?这是什么东西呀?


🎓

可压缩流的标准解法。近似黎曼求解器。激波捕获。




控制方程




$$ \frac{\partial\mathbf{U}}{\partial t}+\frac{\partial\mathbf{F}}{\partial x}+\frac{\partial\mathbf{G}}{\partial y}=\mathbf{S} $$
$$ \text{Roe, AUSM, HLLC 通量} $$



🧑‍🎓

也就是说在密度基础求解器的地方如果掉以轻心,后面就会吃大亏,是吧?我牢记于心!


离散化方法

🧑‍🎓

在计算机上,这个方程到底怎么解呢?


🎓

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


🎓

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




矩阵求解算法

🧑‍🎓

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


🎓

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



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

也就是说在有限元法的地方如果掉以轻心,后面就会吃大亏,是吧?我牢记于心!


商用工具中的实现

🧑‍🎓

那做密度基础求解器的话,有什么软件可以用呢?


工具名称开发方/现属主要文件格式
Ansys FluentANSYS Inc..cas, .dat, .msh, .jou
ANSYS CFXANSYS Inc..cfx, .def, .res, .ccl
Simcenter STAR-CCM+西门子数字工业软件.sim, .java, .csv
OpenFOAM开源(OpenCFD/ESI、OpenFOAM基金会)字典文件(blockMeshDict等), .foam

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

🧑‍🎓

各种软件的由来,是不是挺曲折的?



ANSYS Fluent

🧑‍🎓

接下来是ANSYS Fluent的话题,对吧?内容是什么呢?


🎓

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

现属:ANSYS Inc.



ANSYS CFX

🧑‍🎓

请给我讲讲"ANSYS CFX"!


🎓

由AEA Technology(英国)开发的CFX。2003年被ANSYS收购。耦合型求解器是其特色。

现属:ANSYS Inc.


🧑‍🎓

听到这里,我终于理解为什么开发的历史这么重要了!



Simcenter STAR-CCM+

🧑‍🎓

接下来是Simcenter STAR的话题,对吧?内容是什么呢?


🎓

由CD-adapco开发。2016年被西门子收购,纳入Simcenter品牌。多面体网格是特色。

现属:西门子数字工业软件


🧑‍🎓

哇,开发的故事真有趣!请再讲讲。


文件格式与互操作性

🧑‍🎓

不同软件间转换数据时有什么注意点吗?


格式扩展名类型概述
CGNS.cgnsCFD数据CFD通用记号系统。CFD结果的标准交换格式。
VTK.vtk/.vtu可视化VTK格式。用于ParaView等工具。
🎓

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


🧑‍🎓

原来格式看似简单,但实际上很深奥啊。


实务注意事项

🧑‍🎓

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


🎓

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


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



  • 🎓

    对,你这个思路很好!实际操作是最好的学习,有不明白的地方随时来问我。


    咖啡间闲谈 轶闻趣事

    密度基础求解器为何对超音速流强——与双曲型方程的相容性

    在超音速流(Ma≥1)中,压力变化作为"波"传播。这种"波的传播"的数学本质是"双曲型偏微分方程"——信息沿特征线方向传播。密度基础求解器通过联合更新密度、动量、能量,能正确处理这种双曲型特性。相比之下,压力基础(SIMPLE系)是以椭圆型为设计前提,在超音速下会数值不稳定。战斗机激波、火箭喷管膨胀波的分析为什么要用密度基础求解器,原因就在这里。即使在亚音速,低速流还会出现"条件数恶化"的另一个问题。

    密度基础求解器的数值计算方法

    数值方法详解

    🧑‍🎓

    密度基础求解器具体怎么算呢?




    离散化的表述



    🎓

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

    基础方程的离散形式


    🎓

    用数式表示就是这样。


    $$ \frac{\partial\mathbf{U}}{\partial t}+\frac{\partial\mathbf{F}}{\partial x}+\frac{\partial\mathbf{G}}{\partial y}=\mathbf{S} $$
    $$ \text{Roe, AUSM, HLLC 通量} $$

    🧑‍🎓

    只看公式有点模糊…这表示什么呢?


    🎓

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



    $$ [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)$(光滑解的情况)


        🧑‍🎓

        原来细分网格看似简单,但实际上很深奥啊。


        求解器设置建议

        🧑‍🎓

        密度基础求解器具体怎么算呢?


        参数推荐值备注
        迭代法收敛判定$10^{-6}$残差范数准则
        预处理方法ILU(0) or AMG取决于问题规模
        最大迭代次数1000未收敛时需要调整设置
        内存模式In-core尽可能用

        风上差分(Upwind)

        1阶风上:数值扩散大但稳定。2阶风上:精度提升但有振荡风险。高雷诺数流必需。

        中心差分(Central Differencing)

        2阶精度,但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次是目安。残差在时间步间波动时要调整时间步长。

        密度基础求解器的实务应用

        实践指南

        🧑‍🎓

        老师,"实践指南"是什么内容?


        🎓

        解说密度基础求解器的实务分析流程和注意点。



        分析流程

        🧑‍🎓

        从第一步开始请教我! 要从哪里开始?


        🎓

        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
            ANSYS CFXANSYS Inc..cfx, .def, .res, .ccl
            Simcenter STAR-CCM+西门子数字工业软件.sim, .java, .csv
            OpenFOAM开源(OpenCFD/ESI、OpenFOAM基金会)字典文件(blockMeshDict等), .foam

            ANSYS Fluent

            🧑‍🎓

            接下来是ANSYS Fluent的话题,对吧?内容是什么呢?


            🎓

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

            现属:ANSYS Inc.



            ANSYS CFX

            🧑‍🎓

            请给我讲讲"ANSYS CFX"!


            🎓

            由AEA Technology(英国)开发的CFX。2003年被ANSYS收购。耦合型求解器是其特色。

            现属:ANSYS Inc.


            🧑‍🎓

            老师讲得清楚!工具名字的疑惑消除了。


            常见失败和对策

            🧑‍🎓

            初心者容易犯什么错呢?想事先知道!


            现象原因对策
            计算不收敛网格品质不良、不适当的边界条件网格改善、约束条件重新检查
            应力异常大应力特异点、网格依赖特异点回避、局部网格细分
            位移不现实材料常数误差、单位系不一致输入数据确认
            计算时间过长不必要的细分、低效解法网格最优化、并行计算

            质量保证检查清单

            🧑‍🎓

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


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



            • 🎓

              对,你这个思路很好!实际操作是最好的学习,有不明白的地方随时来问我。


              咖啡间闲谈 轶闻趣事

              航天器大气圈再入——密度基础求解器在极限现场的活跃

              航天飞机或弹道导弹的大气圈再入是密度基础CFD最恶劣的应用之一。机体前方会立起Ma=20以上的分离激波,后面温度达数千度。可压缩效应、高温离解、化学反应全部同时进行。现场工程师的苦恼是"热化学非平衡"的处理——普通CFD使用的完全气体假设在这个区域不成立。这类问题用密度基础求解器加高温气体模型的特殊代码。另一方面,涡轮增压器设计这样日常的工作中,喷嘴喉部会成为Ma≈1的情况,这就是密度基础求解器实践应用的出番。

              密度基础求解器的软件对比

              商用工具对比

              🧑‍🎓

              有这么多软件呢? 各自的特点请给我讲讲!


              🎓

              支持密度基础求解器的主要商用CAE工具的功能对比及各产品的历史背景详述。



              支持工具清单

              🧑‍🎓

              那做密度基础求解器的话,有什么软件可以用呢?


              工具名称开发方/现属主要文件格式
              ANSYS FluentANSYS Inc..cas, .dat, .msh, .jou
              ANSYS CFXANSYS Inc..cfx, .def, .res, .ccl
              Simcenter STAR-CCM+西门子数字工业软件.sim, .java, .csv
              OpenFOAM开源(OpenCFD/ESI、OpenFOAM基金会)字典文件(blockMeshDict等), .foam

              ANSYS Fluent

              🧑‍🎓

              接下来是ANSYS Fluent的话题,对吧?内容是什么呢?


              🎓

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

              现属:ANSYS Inc.



              ANSYS CFX

              🧑‍🎓

              请给我讲讲"ANSYS CFX"!


              🎓

              由AEA Technology(英国)开发的CFX。2003年被ANSYS收购。耦合型求解器是其特色。

              现属:ANSYS Inc.


              🧑‍🎓

              听到这里,我终于理解为什么开发的历史这么重要了!



              Simcenter STAR-CCM+

              🧑‍🎓

              接下来是Simcenter STAR的话题,对吧?内容是什么呢?


              🎓

              由CD-adapco开发。2016年被西门子收购,纳入Simcenter品牌。多面体网格是特色。

              现属:西门子数字工业软件



              OpenFOAM

              🧑‍🎓

              OpenFOAM具体怎么回事呢?


              🎓

              源于Imperial College London的开源CFD。OpenCFD Ltd(ESI Group旗下)和The OpenFOAM Foundation并行开发。

              现属:开源(OpenCFD/ESI、OpenFOAM基金会)


              🧑‍🎓

              啊,我明白了!开发就是这么回事。


              功能对比矩阵

              🧑‍🎓

              预算和时间都很紧张,哪个最划算?


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

              转换时的风险

              🧑‍🎓

              转换时的风险具体怎么回事呢?


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

              • 🧑‍🎓

                啊,我明白了!不同工具间的转换就是这么回事。


                许可证形式

                🧑‍🎓

                我听过"许可证形式",但可能还没真正理解…


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

                选择指南

                🧑‍🎓

                到底该选哪个,判断标准是什么?


                🎓

                选择密度基础求解器工具时需要考虑以下几点:


                🎓
                • 分析规模:支持数万到数亿自由度的可扩展性
                • 物理模型:所需构成律·单元类型的支持情况
                • 工作流:与CAD的联接、自动化的便利性
                • 成本:初期投资 + 年度维护 + 教育成本
                • 支持:技术支持的质量和响应时间



                • 🎓

                  对,你这个思路很好!实际操作是最好的学习,有不明白的地方随时来问我。


                  咖啡间闲谈 轶闻趣事

                  密度基础求解器也能解亚音速——Preconditioning技术的妙招

                  密度基础求解器的弱点是低速(Ma<0.1)流的条件数恶化导致收敛变慢。为解决这个问题,开发了"Preconditioning(预处理)"技术。通过在控制方程的时间微分项乘以预处理矩阵,调整压力波和速度的传播速度尺度,使低速时密度基础求解器也能快速收敛。Fluent以"Low-Speed Preconditioning"的名义装备了这个功能,可以用密度基础求解器处理发动机内的低速冷却流。"密度基础求解器只用于超音速"是过时的想法——但设置不当反而会变慢,要小心。

                  密度基础求解器的先进研究

                  尖端话题与研究动向

                  🧑‍🎓

                  密度基础求解器这个领域今后怎么发展?


                  🎓

                  看一下密度基础求解器领域的最新研究动向和先进手法。



                  最新的数值方法

                  🧑‍🎓

                  接下来是最新数值方法的话题,对吧?内容是什么呢?



                  🧑‍🎓

                  只看公式有点模糊…这表示什么呢?


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


                  • 高性能计算(HPC)支持


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

                    密度基础求解器的故障排除

                    故障排除




                    常见错误和对策

                    🧑‍🎓

                    老师也为密度基础求解器熬过夜吗?(笑)



                    1. 收敛失败

                    🧑‍🎓

                    收敛失败具体怎么回事呢?


                    🎓

                    现象:求解器在指定迭代次数内不收敛,异常终止


                    🎓

                    可能原因

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

                    🎓

                    对策

                    • 进行网格品质检查(纵横比、雅可比行列式)
                    • 确认材料参数的单位制
                    • 将荷载分多个步(增加子步数)
                    • 放松收敛判定标准(但要注意精度)

                    🧑‍🎓

                    也就是说在收敛失败的地方如果掉以轻心,后面就会吃大亏,是吧?我牢记于心!



                    2. 非物理性结果

                    🧑‍🎓

                    接下来是非物理性结果的话题,对吧?内容是什么呢?


                    🎓

                    现象应力/位移/温度等物理上不现实


                    🎓

                    可能原因

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

                    🎓

                    对策

                    • 确认反力合计(力的平衡)
                    • 检查单位制的一致性
                    • 重新考虑单元类型的适切性
                    • 消除特异点或进行子模型分析

                    🧑‍🎓

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




                    3.