Morris法(Elementary Effects)

分类: 分析 | 综合版 2026-04-06
CAE visualization for morris screening theory - technical simulation diagram
Morris法(Elementary Effects)

Morris法(Elementary Effects)的理论基础

概述

🧑‍🎓

老师!今天是Morris法(Elementary Effects)的内容吧?是什么样的方法呢?


🎓

多输入系统的因子筛选手法。用少量样本识别影响力大的输入变量。通过μ*和σ评估重要度。



🧑‍🎓

啊,原来如此!多输入系统的因子筛选是这样的机制呢。


控制方程




$$ EE_i = \frac{Y(X_1,...,X_i+\Delta,...,X_k)-Y(\mathbf{X})}{\Delta} $$
$$ \mu_i^* = \frac{1}{r}\sum_{j=1}^r |EE_i^{(j)}| $$




离散化手法

🧑‍🎓

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


🎓

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


🎓

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




矩阵求解算法

🧑‍🎓

矩阵求解算法具体是怎么回事呢?


🎓

用直接法(LU分解Cholesky分解)或迭代法(CG法GMRES法)求解联立方程。对大规模问题,前处理迭代法效果显著。



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

也就是说在有限元法这个阶段粗心大意的话,后面会吃大亏呢。铭记于心!


商用工具中的实现

🧑‍🎓

那么,要进行Morris法(Elementary Effects)分析,有哪些软件可以用呢?


工具名称开发方/现属主要文件格式
MSC Nastran / NX NastranMSC Nastran(Hexagon)、NX Nastran(Siemens Digital Industries Software).bdf, .dat, .f06, .op2, .pch
Abaqus FEA (SIMULIA)Dassault Systèmes SIMULIA.inp, .odb, .cae, .sta, .msg
Ansys Mechanical (旧ANSYS Structural)ANSYS Inc..cdb, .rst, .db, .ans, .mac
Ansys FluentANSYS Inc..cas, .dat, .msh, .jou
Simcenter STAR-CCM+Siemens Digital Industries Software.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(现Siemens)派生出NX Nastran。MSC在2017年被Hexagon AB收购。

现属:MSC Nastran(Hexagon)、NX Nastran(Siemens Digital Industries Software)



Abaqus FEA (SIMULIA)

🧑‍🎓

Abaqus FEA,具体是怎么回事呢?


🎓

1978年由HKS (Hibbitt, Karlsson & Sorensen) 开发。2005年被Dassault Systèmes收购,并纳入SIMULIA品牌。

现属:Dassault Systèmes SIMULIA


🧑‍🎓

等等,结构分析的话,也能用在这样的情况中吧?



Ansys Mechanical (旧ANSYS Structural)

🧑‍🎓

请给我讲讲"Ansys Mechanical"!


🎓

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

现属:ANSYS Inc.


🧑‍🎓

哇,结构分析的话题,实在太有意思了!再跟我多讲讲吧。


文件格式与互操作性

🧑‍🎓

不同软件间传递数据时,有什么要注意的吗?


格式扩展名种类概述
STEP.stp/.step中立CAD遵循ISO 10303的3D CAD数据交换格式。支持几何+PMI。
IGES.igs/.iges中立CAD初期的CAD数据交换标准。曲面数据的兼容性存在问题。正逐步向STEP过渡。
VTK.vtk/.vtu可视化可视化工具包格式。被ParaView等工具使用。
🎓

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


🧑‍🎓

原来…格式看似简单,其实蕴含着很深的门道呢。


实务注意事项

🧑‍🎓

有没有"教科书里没写"但"现场才能体会"的智慧呢?


🎓

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


🎓
  • 网格依赖性检证:至少用3个网格密度级别验证收敛性
  • 边界条件的合理性:设置具有物理意义的约束条件
  • 结果验证:与解析解、试验数据、已知基准问题进行对比



  • 🎓

    对,态度不错!实际动手操作才是最好的学习。有不懂的地方随时来问。


    验证数据的可视化

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

    Morris法(Elementary Effects)的数值计算手法

    数值手法详解

    🧑‍🎓

    Morris法(Elementary Effects)具体用什么算法来求解呢?



    🧑‍🎓

    关于对的数值解法,听起来非常有趣!还想再听听。


    离散化定式



    🎓

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

    基础方程离散形式


    🎓

    用公式表示如下。


    $$ EE_i = \frac{Y(X_1,...,X_i+\Delta,...,X_k)-Y(\mathbf{X})}{\Delta} $$
    $$ \mu_i^* = \frac{1}{r}\sum_{j=1}^r |EE_i^{(j)}| $$

    🧑‍🎓

    嗯,光看公式的话,还是有些感受不了…能解释一下表示什么吗?


    🎓

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



    $$ [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)$ 的阶数上误差递减(光滑解的情况)


        🧑‍🎓

        原来网格加密看似简单,实际上蕴含着很深的门道呢。


        求解器设置建议

        🧑‍🎓

        Morris法(Elementary Effects)具体用什么算法来求解呢?


        参数推荐值备注
        迭代法收敛判定$10^{-6}$残差范数准则
        前处理手法ILU(0) or AMG由问题规模决定
        最大反复次数1000非收敛时需重新设置
        内存模式In-core尽可能

        低阶单元

        计算成本低、实现简单,但精度受限。粗网格下误差可能很大。

        高阶单元

        同一网格下达到更高的精度。计算成本增加,但所需单元数往往较少。

        牛顿-拉夫逊法

        非线性问题的标准方法。在收敛半径内具有二阶收敛。通过 $||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%: 需检查

        Morris法(Elementary Effects)的实务应用

        实践指南

        🧑‍🎓

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


        🎓

        Morris法(Elementary Effects)的实务解析流程与注意事项我来讲解。


        🧑‍🎓

        等等,的实务解析流程,也就是说这样的情况也能用?


        分析流程

        🧑‍🎓

        从最初的一步开始教我吧!从哪儿开始呢?


        🎓

        1. 前处理 (Pre-processing)

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

        🎓

        2. 求解 (Solving)

        • 求解器设置(解法、收敛准则、输出控制)
        • 任务提交与计算执行
        • 收敛过程监视

        🎓

        3. 后处理 (Post-processing)

        • 结果可视化(位移、应力及其他物理量)
        • 结果验证与合理性检查
        • 报告生成


        网格生成最佳实践

        🧑‍🎓

        网格的好坏该怎么判断呢?



        单元品质指标

        🧑‍🎓

        请讲讲"单元品质指标"!


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

        网格密度的决定

        🧑‍🎓

        网格密度的确定具体怎么操作呢?


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


        • 边界条件设置指导

          🧑‍🎓

          边界条件,听说弄错了就会全盘皆输…


          🎓
          • 过约束注意:刚体运动的约束仅限6个自由度
          • 对称条件的活用:计算规模的削减
          • 荷载的等效分配:集中荷载 vs. 分布荷载的选择

          • 🧑‍🎓

            啊,是这样!过约束注意就是这样的机制呢。


            商用工具的具体步骤

            🧑‍🎓

            有很多种软件呢?每个软件的特色都给我讲讲吧!


            工具名称开发方/现属主要文件格式
            MSC Nastran / NX NastranMSC Nastran(Hexagon)、NX Nastran(Siemens Digital Industries Software).bdf, .dat, .f06, .op2, .pch
            Abaqus FEA (SIMULIA)Dassault Systèmes SIMULIA.inp, .odb, .cae, .sta, .msg
            Ansys Mechanical (旧ANSYS Structural)ANSYS Inc..cdb, .rst, .db, .ans, .mac
            Ansys FluentANSYS Inc..cas, .dat, .msh, .jou
            Simcenter STAR-CCM+Siemens Digital Industries Software.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(现Siemens)派生出NX Nastran。MSC在2017年被Hexagon AB收购。

            现属:MSC Nastran(Hexagon)、NX Nastran(Siemens Digital Industries Software)



            Abaqus FEA (SIMULIA)

            🧑‍🎓

            Abaqus FEA,具体是怎么回事呢?


            🎓

            1978年由HKS (Hibbitt, Karlsson & Sorensen) 开发。2005年被Dassault Systèmes收购,并纳入SIMULIA品牌。

            现属:Dassault Systèmes SIMULIA


            🧑‍🎓

            老师讲得很容易理解!工具名字的困惑总算解开了。


            常见失误与对策

            🧑‍🎓

            初学者最容易犯哪些错呢?事先知道比较好!


            症状原因对策
            计算不收敛网格品质不足、边界条件不当网格改善、约束条件重新检视
            应力异常偏大应力奇点、网格依赖回避奇点、局部网格细化
            位移不符合物理材料常数错误、单位制混乱检查输入数据
            计算时间过长不必要的细化、解法低效网格最优化、并行计算

            质量保证检查清单

            🧑‍🎓

            有没有"教科书里没写"但"现场才能体会"的智慧呢?


            🎓
            • 用3个以上的网格密度级别确认了收敛性吗
            • 验证了力的平衡(反力合计)吗
            • 结果是否在物理合理范围内
            • 与解析解或基准问题进行了对比吗



            • 🎓

              对,态度不错!实际动手操作才是最好的学习。有不懂的地方随时来问。


              验证数据的可视化

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

              Morris法(Elementary Effects)的软件比较

              商用工具对比

              🧑‍🎓

              有很多种软件呢?每个软件的特色都给我讲讲吧!


              🎓

              支持Morris法(Elementary Effects)的主要商用CAE工具的功能比较及各产品的历史背景我来详述。


              🧑‍🎓

              等等,支持的主要商用就是说,这样的情况也能用?


              支持工具列表

              🧑‍🎓

              那么,要进行Morris法(Elementary Effects)分析,有哪些软件可以用呢?


              工具名称开发方/现属主要文件格式
              MSC Nastran / NX NastranMSC Nastran(Hexagon)、NX Nastran(Siemens Digital Industries Software).bdf, .dat, .f06, .op2, .pch
              Abaqus FEA (SIMULIA)Dassault Systèmes SIMULIA.inp, .odb, .cae, .sta, .msg
              Ansys Mechanical (旧ANSYS Structural)ANSYS Inc..cdb, .rst, .db, .ans, .mac
              Ansys FluentANSYS Inc..cas, .dat, .msh, .jou
              Simcenter STAR-CCM+Siemens Digital Industries Software.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(现Siemens)派生出NX Nastran。MSC在2017年被Hexagon AB收购。

              现属:MSC Nastran(Hexagon)、NX Nastran(Siemens Digital Industries Software)



              Abaqus FEA (SIMULIA)

              🧑‍🎓

              Abaqus FEA,具体是怎么回事呢?


              🎓

              1978年由HKS (Hibbitt, Karlsson & Sorensen) 开发。2005年被Dassault Systèmes收购,并纳入SIMULIA品牌。

              现属:Dassault Systèmes SIMULIA


              🧑‍🎓

              等等,结构分析的话,也能用在这样的情况中吧?



              Ansys Fluent

              🧑‍🎓

              接下来是Ansys Fluent的内容吧。是怎样的呢?


              🎓

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

              现属:Ansys Inc.


              🧑‍🎓

              哇,结构分析的话题,实在太有意思了!再跟我多讲讲吧。


              功能对比矩阵

              🧑‍🎓

              预算有限,时间紧张,最划算的是哪一个呢?


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

              转换时的风险

              🧑‍🎓

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


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

              • 🧑‍🎓

                啊,是这样!不同工具间的模型就是这样的机制呢。


                许可证形式

                🧑‍🎓

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