中心差分格式

分类:流体分析(CFD) | 综合版 2026-04-06
CAE visualization for central difference theory - technical simulation diagram
中心差分格式

中心差分格式的理论基础

概要

🧑🎓

老师! 今天是讲中心差分格式的话题吧? 它是什么东西呢?


🎓

2次精度但非有界。在LES中应用。通过Rhie-Chow插值稳定化。




控制方程




$$ \phi_f=\frac{\phi_P+\phi_N}{2} $$
$$ \text{2nd order, unbounded} $$



🧑🎓

我明白了。那如果中心差分格式记下来的话,首先就没问题了吧?


离散化方法

🧑🎓

这个方程在计算机上实际怎样求解呢?


🎓

采用有限元法(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+Siemens Digital Industries Software.sim, .java, .csv
OpenFOAM开源(OpenCFD/ESI、OpenFOAM Foundation)字典文件(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年被Siemens收购并整合到Simcenter品牌。多面体网格是特点。

现所属:Siemens Digital Industries Software


🧑🎓

哇~,开发的故事,超有意思! 请再讲讲。


文件格式与互操作性

🧑🎓

不同软件间交换数据的时候有没有需要注意的?


格式扩展名类型概要
CGNS.cgnsCFD数据CFD General Notation System。CFD结果的标准交换格式。
VTK.vtk/.vtu可视化Visualization Toolkit格式。ParaView等使用。
🎓

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


🧑🎓

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


实务上的注意事项

🧑🎓

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


🎓

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


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


  • 🧑🎓

    中心差分格式的全貌我掌握了! 明天开始在实务中试试。


    🎓

    好的,开始不错! 实际动手是最好的学习。有不懂的随时问。


    Coffee Break 杂谈

    中心差分法的历史——泰勒展开与数值分析的诞生(布鲁克·泰勒,1715年)

    中心差分的数学基础"泰勒展开"是1715年由Brook Taylor发表的定理。f(x+h) = f(x) + hf'(x) + h²f''(x)/2! + ...的幂级数展开中,中心差分f'(x) ≈ (f(x+h)-f(x-h))/(2h)有O(h²)精度。在1960年代(航空航天研究)CFD才被计算机实用化,这个理论之前睡眠了250年。中心差分的"偶数次精度"特性——离散化误差的最低次以偶数次(h²)开始——是Richardson外推法(Richardson Extrapolation)高阶精度提高的基础,至今仍用于网格收敛研究和误差估计。

    中心差分格式的数值计算方法

    数值方法的详细说明

    🧑🎓

    具体用什么算法来求解中心差分格式呢?



    🧑🎓

    我明白了。那如果中心差分格式掌握好了的话,首先就没问题了吧?


    离散化的公式化



    🎓

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

    基本方程的离散形式


    🎓

    用公式表示就这样。


    $$ \phi_f=\frac{\phi_P+\phi_N}{2} $$
    $$ \text{2nd order, unbounded} $$

    🧑🎓

    嗯…光看公式不明白… 表示什么呢?


    🎓

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



    $$ [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+Siemens Digital Industries Software.sim, .java, .csv
            OpenFOAM开源(OpenCFD/ESI、OpenFOAM Foundation)字典文件(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个网格密度级别以上确认了网格收敛性吗
            • 验证了力的平衡(反力合计)吗
            • 确认结果在物理合理范围内吗
            • 与已知理论解或基准问题进行比较了吗


            • 🧑🎓

              中心差分格式的全貌我掌握了! 明天开始在实务中试试。


              🎓

              好的,开始不错! 实际动手是最好的学习。有不懂的随时问。


              Coffee Break 杂谈

              LES中的中心差分格式的实务——数值稳定性和人工粘性的最小化

              大涡模拟(LES)中,中心差分格式因其不含数值粘性分析湍流小尺度结构的特性而受欢迎。但在边界层和冲击波附近存在数值振荡(Wiggles)风险。实务中常用"Bounded Central Differencing(BCD)"——根据局部监测量自动切换风上与中心差分比例的混合格式。OpenFOAM的limitedLinear正是这一思想的实现,急梯度域自动与First Order混合。在格式"限制器"强度(blendFactor)设为0.9~1.0(几乎中心差分),残差开始振荡时调整至0.7~0.8。这样的反复调整是乱流LES收敛管理的实务步骤。

              中心差分格式的软件比较

              商用工具比较

              🧑🎓

              有各种软件吧? 各自的特点教我!


              🎓

              支持中心差分格式的主要商用CAE工具的功能比较和各产品的历史背景详细阐述。


              🧑🎓

              我明白了。那如果中心差分格式掌握好了的话,首先就没问题了吧?


              支持工具清单

              🧑🎓

              那做中心差分格式可以用什么软件呢?


              工具名称开发公司/现所属主要文件格式
              Ansys FluentAnsys Inc..cas, .dat, .msh, .jou
              Ansys CFXAnsys Inc..cfx, .def, .res, .ccl
              Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv
              OpenFOAM开源(OpenCFD/ESI、OpenFOAM Foundation)字典文件(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年被Siemens收购并整合到Simcenter品牌。多面体网格是特点。

              现所属:Siemens Digital Industries Software



              OpenFOAM

              🧑🎓

              OpenFOAM具体是什么意思呢?


              🎓

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

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


              🧑🎓

              啊,原来如此! 开发… 就是这样一个机制呢。


              功能比较矩阵

              🧑🎓

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


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

              转换时的风险

              🧑🎓

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


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

              • 🧑🎓

                啊,原来如此! 不同工具间的转换… 就是这样一个机制呢。


                许可证形式

                🧑🎓

                "许可证形式"听说过,但可能理解不透…


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

                选择指南

                🧑🎓

                到底该选哪个呢,请告诉我判断标准!


                🎓

                中心差分格式工具选择需要考虑以下因素:


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


                • 🧑🎓

                  中心差分格式的全貌我掌握了! 明天开始在实务中试试。


                  🎓

                  好的,开始不错! 实际动手是最好的学习。有不懂的随时问。


                  Coffee Break 杂谈

                  中心差分vs风上——ANSYS和OpenFOAM的默认设置背后的设计思想

                  ANSYS Fluent(默认:Second Order Upwind)和OpenFOAM的icoFoam/pisoFoam(默认:linear=中心差分)的格式默认设置差异反映了设计思想的不同。Fluent以产业应用为念,将"稳定收敛"优先化,通过将Second Order Upwind设为标准使初学者也易得稳定解。OpenFOAM从研究代码发展而来,将"精度优先"放首位,以linear为默认值,发散风险由用户理解并处理。Star-CCM+将Bounded Central Differencing(BCD)作为默认值,追求稳定性和精度的平衡。格式选择对CFD解影响巨大,理解工具默认设置的含义后进行判断很重要。

                  中心差分格式的前沿研究

                  前沿课题与研究动向

                  🧑🎓

                  中心差分格式这个领域,今后怎样发展呢?


                  🎓

                  看一下中心差分格式领域最新研究动向和先进方法。


                  🧑🎓

                  我明白了。那如果中心差分格式掌握好了的话,首先就没问题了吧?


                  最新数值方法

                  🧑🎓

                  接下来讲最新数值方法的事吧。内容是什么呢?



                  🧑🎓

                  嗯…光看公式不明白… 表示什么呢?


                  🎓
                  • 等几何分析 (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. 计算时间超过

                    🧑🎓

                    计算时间超过具体是什么意思呢?