4. 敏感度分析基础:定义、目的、全局与局部敏感度
做网格参数敏感度分析之前,我建议大家先把这个概念本身搞透。说白了,敏感度分析就是回答一个问题:我的输入稍微变一点,输出会跟着蹦多远? 你想想看,在PME仿真里,网格尺寸、映射阶次、接触刚度……这些参数哪个不是拍脑袋先给一个默认值?可问题就在于,有些参数你动它10%,结果几乎纹丝不动;有些参数你只调了小数点后两位,整个应力分布就换了副面孔。
4.1 为什么需要敏感度分析
我刚开始做PME仿真那会儿,就吃过这方面的亏。算一个多物理场耦合,花了三天三夜跑通,结果领导一句话“网格细点再算一遍”,我直接把所有参数按照手册推荐值又跑了一次——然后发现,资源和时间全浪费在那些无关痛痒的参数上了。说白了,敏感度分析就是帮我们把力气花在刀刃上。
它的实际价值,我从项目里总结了三点:
- 识别关键参数:哪些参数对结果影响最大,优先控制它们的精度。
- 降低计算成本:对那些钝感的参数,大胆用粗网格或低阶映射,不影响结果质量。
- 支撑模型简化:如果你的PME模型要嵌入优化框架,先做敏感度分析,能把几十个输入压缩到五六个核心参数,迭代速度快很多。
我个人习惯,在新项目定网格策略之前,先花半天跑一轮敏感度普查。这半天省下来的,往往是好几天的重算时间。
4.2 敏感度分析的定义
官方的定义我放在这里,但我会用大白话给你拆一遍。
数学定义: 给定模型 Y = f(X₁, X₂, ..., Xₙ),敏感度分析研究当输入参数 Xᵢ 在某个范围内变化时,输出 Y 的方差被各输入参数解释的比例。
大白话: 你的模型就是一个黑盒子,左边输入一堆网格参数,右边跑出应力和位移。敏感度分析就是在这个黑盒子上插满探头,看哪个输入通道进来的一点点噪声,到了输出端被放得最大。
敏感度指标通常有两种形式:
| 指标类型 | 计算方法 | 含义 |
|---|---|---|
| 一阶敏感度 | ∂Y/∂Xᵢ | Xᵢ单独变化时Y的变化率 |
| 总效应敏感度 | Var(Y)中被Xᵢ解释的部分 | Xᵢ自身及其与所有参数的交互作用 |
嗯,这里要注意:一阶敏感度只看单变量,总效应敏感度则包含了交互作用。这两个指标我会在后面的章节具体算给你看。
4.3 全局敏感度 vs. 局部敏感度
这个问题是敏感度分析的“分水岭”。我自己接触过大量工程师,很多人上来就用局部敏感度——因为它简单。但实际情况往往比那复杂得多。
局部敏感度
局部敏感度也叫单次扰动法。做法是:固定所有其他参数在标称值,只变化一个参数,看输出变化率。
- 优点:计算量小,一次仿真就够了,适合线性较强的模型。
- 缺点:结果严重依赖你的标称点选在哪。我以前在一个非线性接触问题里试过,网格尺寸在1mm标称点附近灵敏度是0.5,换到0.8mm标称点,灵敏度直接变成了2.3——完全不是一个量级。
全局敏感度
全局敏感度通过在整个参数空间内采样,评估每个参数对输出方差的贡献。常用的方法是 Sobol' 法或 Morris 法。
- 优点:不依赖标称点,能捕捉参数间的交互效应,结果稳定。
- 缺点:需要大量采样,计算成本通常是局部方法的10~100倍。
怎么判断该用哪个?我有个实用原则:
- 如果你只在标称值附近微调参数→局部敏感度够用。
- 如果你的参数范围很大,或者参数之间有耦合→必须上全局敏感度。
下面这张图,就是我经常和团队讨论时用的框架,帮你把整个敏感度分析的逻辑理清楚。
4.4 避坑指南
这块我自己踩过的坑,列举几个最典型的:
- 坑一:局部敏感度选错了基准点。 我曾经算一个结构疲劳,在常温标称点跑局部敏感度,前三名是材料参数。结果换到高温工况,网格参数直接窜到了第一名。解决方案:不确定的情况下,至少选三个有代表性的标称点做对比。
- 坑二:忽略参数之间的交互效应。 网格尺寸和映射阶次,单独看都不算敏感,但两个一起调,效应会暴涨。局部敏感度完全看不出来这一点,只有全局方法才能捕捉到。
- 坑三:采样次数不够。 全局敏感度对采样量很敏感。我见过有人用Sobol'法只采样了50次,结果一阶指数和总效应指数加起来超过1.5——明显是采样噪声造成的。保险的做法是至少保证采样次数是参数个数的20倍以上。