Richardson外推法

分类: 求解 | 综合版 2026-04-06
CAE visualization for richardson extrapolation theory - technical simulation diagram
Richardson外推法

Richardson外推法的理论基础

概述

🧑‍🎓

老师!今天讲的是Richardson外推法,是什么东西?


🎓

从三个网格级别的结果估计网格无关解。同时计算收敛阶数p的观测值。解的验证基本方法。




控制方程




$$ f_{exact} \approx f_1 + \frac{f_1 - f_2}{r^p - 1} $$
$$ r = \frac{h_2}{h_1},\quad p = \frac{\ln\frac{f_3-f_2}{f_2-f_1}}{\ln r} $$



🧑‍🎓

听到这里,终于理解了为什么外推法的基础这么重要!


离散化方法

🧑‍🎓

这个方程在计算机中具体怎么解?


🎓

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


🎓

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




矩阵求解算法

🧑‍🎓

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


🎓

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



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

也就是说有限元法中的细节处理至关重要,否则后面会吃苦头。记住了!


商用工具中的实现

🧑‍🎓

那么Richardson外推法用什么软件可以做?


工具名称开发方/现在主要文件格式
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 Structural)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 Foundation)字典文件(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 Structural)

🧑‍🎓

请给我讲讲"Ansys Mechanical"!


🎓

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

现在的所属: ANSYS公司


🧑‍🎓

哇~结构分析的话题,真的超有意思!再多讲点。


文件格式与互操作性

🧑‍🎓

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


格式扩展名类型概述
STEP.stp/.step中立CAD符合ISO 10303的3D CAD数据交换格式。支持形状+PMI。
IGES.igs/.iges中立CAD早期CAD数据交换规范。曲面数据互换存在兼容性问题。正逐步向STEP迁移。
VTK.vtk/.vtu可视化可视化工具包格式。ParaView等使用。
🎓

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


🧑‍🎓

原来格式看似简单,但其实很深奥呢。


实务注意事项

🧑‍🎓

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


🎓

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


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


  • 🧑‍🎓

    Richardson外推法的全貌我掌握了!明天就在实务中意识到这些。


    🎓

    好得很!实际动手是最好的学习方法。有不懂的地方随时问。


    验证数据可视化

    定量展示理论值与计算值的对比。以相对误差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%: 需检讨

    Richardson外推法的数值计算方法

    数值方法详解

    🧑‍🎓

    Richardson外推法具体用什么算法来求解?



    🧑‍🎓

    老师的说明太清楚了!外推法的雾霾一扫而散。


    离散化的定式化



    🎓

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

    基础方程的离散形式


    🎓

    用公式表示就是这样。


    $$ f_{exact} \approx f_1 + \frac{f_1 - f_2}{r^p - 1} $$
    $$ r = \frac{h_2}{h_1},\quad p = \frac{\ln\frac{f_3-f_2}{f_2-f_1}}{\ln r} $$

    🧑‍🎓

    呃……光看公式还是有点云里雾里……什么意思?


    🎓

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



    $$ [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)$ 的量级减小误差(光滑解的情况)


        🧑‍🎓

        原来网格细分看似简洁,实际上深度无穷啊。


        求解器设置建议

        🧑‍🎓

        Richardson外推法用什么算法具体怎么解?


        参数推荐值备注
        迭代法收敛判定$10^{-6}$残差范数基准
        预处理方法ILU(0) 或 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%: 需检讨

        Richardson外推法的实务应用

        实践指南

        🧑‍🎓

        老师,请给我讲讲"实践指南"!


        🎓

        讲解Richardson外推法的实务求解流程和注意事项。


        🧑‍🎓

        老师的说明太清楚了!外推法实务应用的雾霾一扫而散。


        求解流程

        🧑‍🎓

        从第一步开始教我!从哪儿开始?


        🎓

        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. 分布荷载的选择

          • 🧑‍🎓

            啊!原来过约束要这样处理啊!


            按商用工具分类的实现步骤

            🧑‍🎓

            各种软件都有吧?各自特色讲讲!


            工具名称开发方/现在主要文件格式
            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 Structural)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 Foundation)字典文件(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个网格级别以上确认收敛性
            • 验证力的平衡(反力合计)
            • 确认结果在物理合理范围
            • 与已知理论解或基准问题对比


            • 🧑‍🎓

              Richardson外推法的全貌我掌握了!明天就在实务中意识到这些。


              🎓

              好得很!实际动手是最好的学习方法。有不懂的地方随时问。


              验证数据可视化

              定量展示理论值与计算值的对比。以相对误差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%: 需检讨

              Richardson外推法的软件比较

              商用工具比较

              🧑‍🎓

              各种软件都有吧?各自特色讲讲!


              🎓

              对应Richardson外推法的主要商用CAE工具的功能比较及各产品的历史背景详述。


              🧑‍🎓

              学长说"对应外推法的主要"最少要好好做。现在体会到了。


              支持工具列表

              🧑‍🎓

              那么Richardson外推法用什么软件可以做?


              工具名称开发方/现在主要文件格式
              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 Structural)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 Foundation)字典文件(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 Fluent

              🧑‍🎓

              接下来讲Ansys Fluent的故事。内容是什么?


              🎓

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

              现在的所属: Ansys Inc.


              🧑‍🎓

              哇~结构分析的话题,真的超有意思!再多讲点。


              功能比较矩阵

              🧑‍🎓

              预算和时间都有限,最划算的是哪个?


              功能NastranAbaqusAnsys MechanicalFluent
              基本功能
              高级功能
              自动化/脚本
              并列计算
              GPU支持

              转换时的风险

              🧑‍🎓

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


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

              • 🧑‍🎓

                啊!原来不同工具间的转换是这样。


                许可证形式

                🧑‍🎓

                "许可证形式"听过,但理解得不够充分……


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

                选择