自适应网格细分(AMR)

分类:流体分析(CFD) | 集成版 2026-04-06
AMR网格理论CAE可视化 - 技术模拟图
自适应网格细分(AMR)

自适应网格细分(AMR)的理论基础

概述

🧑‍🎓

老师!今天是关于自适应网格细分(AMR)的讲解,对吧?那是什么东西呢?


🎓

基于解梯度的局部网格细分。冲击波、界面追踪。




控制方程




$$ \text{误差指示子: } \epsilon=\|\nabla\phi\|\cdot h $$
$$ \text{细分标准} $$



🧑‍🎓

原来如此……自适应网格细分看似简单,但实际上非常深奥呢。


离散化方法

🧑‍🎓

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


🎓

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


🎓

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




矩阵求解算法

🧑‍🎓

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


🎓

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



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

也就是说在有限元法阶段偷工减料的话,后面会吃大亏,对吧。我记住了!


商用工具中的实现

🧑‍🎓

那么,使用自适应网格细分(AMR)有什么软件可以用呢?


工具名称开发方/现在主要文件格式
Ansys FluentANSYS Inc..cas, .dat, .msh, .jou
Simcenter STAR-CCM+西门子数字工业 软件.sim, .java, .csv
OpenFOAM开源(OpenCFD/ESI、OpenFOAM 基金会)字典文件(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年被Siemens收购并纳入Simcenter品牌。多面体网格是特色。

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


🧑‍🎓

到这里为止,总算明白为什么说开发历程很重要了!



OpenFOAM

🧑‍🎓

OpenFOAM具体是什么意思呢?


🎓

源自伦敦帝国学院的开源CFD。OpenCFD Ltd(ESI集团旗下)和The OpenFOAM Foundation并行开发。

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


🧑‍🎓

哦哦,开发历程的讲解太有趣了!请继续多说一些。


文件格式与互操作性

🧑‍🎓

不同软件之间传输数据时有什么注意点吗?


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

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


🧑‍🎓

原来如此……文件格式看似简单,但实际上非常深奥呢。


实务注意事项

🧑‍🎓

教科书里没有的"现场知识"有什么吗?


🎓

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


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


  • 🧑‍🎓

    啊,自适应网格细分(AMR)太深奥了……但多亏老师的解释,我整理得差不多了!


    🎓

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


    Coffee Break 闲谈角落

    误差估计理论——AMR如何识别"应该在哪里细分"

    AMR的理论核心在于"误差估计器"。著名的有Zienkiewicz-Zhu(ZZ)估计器,它通过相邻单元解的梯度差来判断"这里的误差可能很大"。直观来说就是"相邻单元的值差异很大的地方应该用更细的网格重新计算"。理论上 $\eta_K \propto h_K^p |\nabla^2 u|$ 的形式,误差与单元尺寸 $h_K$ 和解的二阶导数成正比。AMR通过只细分超过阈值的 $\eta_K$ 对应的单元,在不增加计算量的情况下提升精度——这是控制方程背后的思想。理解理论后,"为什么这个判据有效"就会恍然大悟。

    自适应网格细分(AMR)的数值计算方法

    数值方法详解

    🧑‍🎓

    具体用什么算法求解自适应网格细分(AMR)呢?



    🧑‍🎓

    原来如此……自适应网格细分看似简单,但实际上非常深奥呢。


    离散化的正式化



    🎓

    形状函数 $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{误差指示子: } \epsilon=\|\nabla\phi\|\cdot h $$
    $$ \text{细分标准} $$

    🧑‍🎓

    嗯,光看公式看不懂……这代表什么?


    🎓

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



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


        🧑‍🎓

        原来如此……细分网格看似简单,但实际上非常深奥呢。


        求解器设置建议

        🧑‍🎓

        具体用什么算法求解自适应网格细分(AMR)呢?


        参数推荐值备注
        迭代法收敛判断$10^{-6}$残差范数基准
        预处理方法ILU(0) or AMG根据问题规模选择
        最大迭代次数1000未收敛时需改进设置
        内存模式核心内尽可能使用

        迎风差分(Upwind)

        一阶迎风:数值扩散较大但稳定。二阶迎风:精度提高但可能产生振荡。对于高雷诺数流动是必需的。

        中心差分(Central Differencing)

        二阶精度,但当Pe数 > 2时会产生数值振荡。适用于低雷诺数扩散主导的流动。

        TVD方案(MUSCL、QUICK等)

        用限制函数抑制数值振荡同时保持高精度。对冲击波和陡峭梯度的捕捉有效。

        有限体积法 vs 有限元法

        FVM:自然满足守恒律。CFD的主流。FEM:对复杂形状和多物理耦合有利。SPH等无网格方法也在发展中。

        CFL条件(库郎数)

        显式格式:CFL ≤ 1是稳定条件。隐式格式:CFL > 1仍稳定,但影响精度和迭代次数。LES:推荐CFL ≈ 1。物理意义:一个时间步信息不能传播超过一个单元。

        残差监视

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

        松弛因子

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

        非定常计算的内部迭代

        各时间步内进行迭代直到定常解收敛。内部迭代数:5~20次为目标。残差在时间步间波动时需重新审视时间步长。

        自适应网格细分(AMR)的实务应用

        实践指南

        🧑‍🎓

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


        🎓

        自适应网格细分(AMR)的实务分析流程和注意点解说。


        🧑‍🎓

        原来如此……自适应网格细分看似简单,但实际上非常深奥呢。


        分析流程

        🧑‍🎓

        从最初的第一步开始教我!怎么开始?


        🎓

        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+西门子数字工业 软件.sim, .java, .csv
            OpenFOAM开源(OpenCFD/ESI、OpenFOAM 基金会)字典文件(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年被Siemens收购并纳入Simcenter品牌。多面体网格是特色。

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


            🧑‍🎓

            老师的说明很好懂!工具名的模糊认知清晰多了。


            常见失败与对策

            🧑‍🎓

            初心者容易犯什么样的失败呢?提前知道想预防!


            症状原因对策
            计算不收敛网格品质差、边界条件不当改进网格、重新检查拘束
            应力异常大应力奇点、网格相关规避奇点、局部细分网格
            位移不合理材料参数错误、单位系统混乱确认输入数据
            计算时间过长不必要的细分、求解方法低效网格优化、并行计算

            质量保证检查清单

            🧑‍🎓

            教科书里没有的"现场知识"有什么吗?


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


            • 🧑‍🎓

              啊,自适应网格细分(AMR)太深奥了……但多亏老师的解释,我整理得差不多了!


              🎓

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


              Coffee Break 闲谈角落

              "网格细分过头"往往是深夜才意识到

              AMR实践中常见的失败是"为保险起见全部细分"这样的判断。某汽车厂商的工程师在发动机舱冷却流分析中将AMR的细分层数从3提高到4,单元数从600万飙升到4200万,计算时间从3天变成3周。结果的偏差却在误差范围内——这是真实的案例。AMR"实践指南"中最重要的是,事先明确细分位置和停止标准。设置速度梯度或压力变化率的阈值,确立"细分不超过这个界限"的制动装置再启动,是现场的铁则。

              自适应网格细分(AMR)的软件对比

              商用工具比较

              🧑‍🎓

              有各种各样的软件,对吧?各自有什么特点呢?


              🎓

              自适应网格细分(AMR)对应的主要商用CAE工具的功能对比,及各产品的历史背景详述。


              🧑‍🎓

              原来如此……自适应网格细分看似简单,但实际上非常深奥呢。


              对应工具清单

              🧑‍🎓

              那么,使用自适应网格细分(AMR)有什么软件可以用呢?


              工具名称开发方/现在主要文件格式
              Ansys FluentANSYS Inc..cas, .dat, .msh, .jou
              Simcenter STAR-CCM+西门子数字工业 软件.sim, .java, .csv
              OpenFOAM开源(OpenCFD/ESI、OpenFOAM 基金会)字典文件(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年被Siemens收购并纳入Simcenter品牌。多面体网格是特色。

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


              🧑‍🎓

              到这里为止,总算明白为什么说开发历程很重要了!



              OpenFOAM

              🧑‍🎓

              OpenFOAM具体是什么意思呢?


              🎓

              源自伦敦帝国学院的开源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求解器

                选择指南

                🧑‍🎓

                最终要选哪个,判断标准是什么呢?


                🎓

                自适应网格细分(AMR)工具选择中需考虑以下因素:


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


                • 🧑‍🎓

                  啊,自适应网格细分(AMR)太深奥了……但多亏老师的解释,我整理得差不多了!


                  🎓

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


                  Coffee Break 闲谈角落

                  AMR工具选择的真相是"如何与求解器组合"

                  在商用工具中使用AMR时,常见的误区是"只要有AMR功能,哪个工具都一样"。实际上各工具的AMR与求解器的集成度完全不同。ANSYS的AMR与FVM压缩性求解器紧密耦合,擅长冲击波追踪。StarCCM+的动态细分优势在于复杂燃烧室形状的多面体网格。OpenFOAM的dynamicRefineFvMesh虽然开源灵活度高,但大规模并行计算后的动态再平衡效率较弱。在预算和应用条件允许的范围内,"AMR的实现方式是否匹配自己的分析条件"是现场工程师必须提前确认的关键问题。

                  自适应网格细分(AMR)的前沿研究

                  前沿主题与研究动向

                  🧑‍🎓

                  自适应网格细分(AMR)领域未来会朝什么方向发展?


                  🎓

                  自适应网格细分(AMR)领域的最新研究动向和先进方法论。


                  🧑‍🎓

                  原来如此……自适应网格细分看似简单,但实际上非常深奥呢。


                  最新的数值方法

                  🧑‍🎓

                  下面是最新数值方法的讲解,对吧。内容是什么呢?



                  🧑‍🎓

                  嗯,光看公式看不懂……这代表什么?


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


                  • 高性能计算 (HPC) 适配


                    并行化方法概述适用求解器
                    MPI (领域分割)分布式内存型。大规模问题的标准全主要求解器