不确定性传播·蒙特卡洛解析 返回
分析工具

不确定性传播·蒙特卡洛解析

讲解CAE模拟中的不确定性传播和蒙特卡洛解析。从基本原理、应用优势到实施步骤,清晰地说明统计评估输入参数的变化如何影响结果的方法。

计算式选择

输入变量的不确定性

蒙特卡洛设置

1000100000
计算结果
平均值 μ
标准不确定性 σ
95% CI (±2σ)
相对不确定性 u_r
蒙特卡洛输出分布直方图
龙卷风图(灵敏度分析)
最大灵敏度变量 vs 输出(散点图)
理论·主要公式

$$u_c^2(y) = \sum_{i=1}^n \left(\frac{\partial f}{\partial x_i}\right)^2 u^2(x_i)$$

合成不确定性(独立变量):灵敏度系数的平方和的平方根

$$U = k \cdot u_c(y)$$

扩展不确定性:$k$ 包含因子($k=2$ 约为95%的置信区间)

$$\frac{u(y)}{y} \approx \sqrt{\sum_i \left(a_i \frac{u(x_i)}{x_i}\right)^2}$$

相对不确定性的传播(幂律):$y=\prod x_i^{a_i}$ 的情况

不确定性传播·蒙特卡洛解析是什么

🙋
什么是"不确定性传播"?CAE的结果不是会给出一个固定的答案吗?
🎓
粗略地说,这是一种评估"输入稍微改变时,答案会改变多少"的方法。现实中的材料强度和载荷都是变化的。例如,在汽车碰撞模拟中,如果板厚或材料强度从设计值偏离±5%,乘员伤害值会改变多少?不确定性传播就是用统计方法来预测这一点。在这个模拟器中,你可以在上面的"自定义式"中输入计算式,设置输入变量的变化,然后试试看。
🙋
哦,我明白了!但如果计算很复杂,计算这种"变化"不是很困难吗?
🎓
这就是为什么有两种代表性的方法。一种是GUM法,通过线性近似分析计算不确定性。另一种是这个工具的亮点——蒙特卡洛法。它根据输入值的变化分布进行随机抽样数千次,每次都进行计算,然后查看结果的分布。这可以说是"暴力法"的模拟。在上面的参数中,尝试改变分布类型为"正态分布"或"均匀分布",增加样本数,实际看看结果如何收敛。
🙋
我懂了!如果两种方法的结果不同,我应该相信哪一个?龙卷风图是什么意思?
🎓
这是个好问题。GUM法是线性近似,所以如果计算式具有强非线性(比如 $y = x^3$),就会产生误差。因此,当两者的差异较大时,基于实际抽样的蒙特卡洛法的结果优先。龙卷风图一眼就能看出哪个输入变量的变化对最终结果影响最大。柱子长的变量(灵敏度高的变量)的精度如果提高,就能有效地减少结果的不确定性。反之,短柱子的变量再精确也效果不大。这对制定设计和测量计划特别重要。

常见问题

GUM法基于线性近似和正态分布假设计算合成不确定性。相反,蒙特卡洛分析通过从输入分布生成大量随机数进行模拟,因此对非线性模型和非正态分布也能给出准确结果。虽然计算负荷更高,但更适合复杂系统。
根据实测数据、规格书中的公差、过去的实验结果来设置标准偏差或分布形状(正态分布、均匀分布等)。如果数据不足,请参考专家意见或文献值,在保守范围内进行假设。
通常建议几千到几万次。在确认输出收敛的同时增加次数,当直方图或平均值、标准偏差稳定时即可。如果需要高精度,可以进行10万次或以上的试验。
从结果的变化范围了解最坏情况和置信区间,用于设计安全系数的审查和稳健设计。通过确定灵敏度高的参数,可以优先处理制造公差的管理和实验计划的优先级。

真实应用

汽车·航空航天安全性评估: 在碰撞和疲劳强度模拟中,将材料特性(弹性模量、屈服应力)、板厚、焊接强度、载荷条件等制造变化和使用环境变化设置为输入不确定性。通过蒙特卡洛分析预测车体变形量和寿命的分布范围,用于实现"99%的概率满足安全标准"这样的概率设计保证。

制造工艺·公差设计: 在机械零部件组装精度的CAE研究中,将各零部件的加工公差视为输入不确定性。从龙卷风图中识别出对最终组装误差贡献最大的零部件(灵敏度高的尺寸),通过严格公差控制该零部件,来优化成本和性能的平衡。

测量系统的校准计划: 在从多个传感器的测量值推算物理量时(例如从多个应变仪值计算应力),用不确定性传播评估各传感器的校准不确定性如何影响最终推算精度。可以通过提高灵敏度高的传感器的校准频率等方式实现高效的测量质量管理。

材料开发·药物研发中的预测模型验证: 在用分子模拟等预测材料特性的模型中,定量化输入参数(力场参数、初始结构等)的不确定性如何影响预测结果。通过考虑不确定性范围与实验值进行比较,能更严格地评估模型的可信度。

常见误解和注意事项

首先,"样本数随便1000次就行了"的想法是危险的。确实计算速度会更快,但结果分布的尾部(特别是95%或99%置信区间的末端)完全无法收敛,可能导致重大的低估。例如,在评估破坏概率等低概率事件时,少量样本中可能根本不会发生该事件,给出"风险为零"的错误安全感。作为目标,应该先用1万次执行,然后确认统计量(平均值、标准偏差)在2万次、5万次时不变化,进行"收敛性确认"是必需的。

其次,"输入变量是独立的吗?"这个根本问题容易被忽视。例如,如果是同一批材料的杨氏模量和屈服应力,可能有正相关。如果假设无关而随意变化,就会产生"杨氏模量低但强度异常高"这样现实中不存在的组合,使结果分布扭曲。应该尽可能调查变量间的相关性知识,在工具允许的情况下设置相关性。

最后,"蒙特卡洛法是万能的魔法棒"的过度信任。输入的概率分布设置(是正态分布、均匀分布还是其他歪斜分布)是一切的出发点。如果这个设置不反映现实,即使进行数百万次抽样也无法得出有意义的结果。例如,制造公差±0.1mm近似均匀分布,但磨损导致的尺寸变化可能更接近正态分布。首先要认真面对如何定量化输入不确定性,查阅测量数据和规格书。

使用指南

  1. 在customFormula中输入计算式(例:voltage*current 用于功率计算)
  2. 在customVarNames中用逗号分隔指定变量名(例:voltage,current)
  3. 设置各变量的mean${i}(平均值)和unc${i}(不确定性)。例如voltage平均12V、不确定性0.5V,current平均8A、不确定性0.3A
  4. 将nmc(蒙特卡洛样本数)设置为10000以上并执行。获取统计分布和输出不确定性

具体计算示例

铝合金挤压型材的应力计算中的实现示例。荷重F=5000N(不确定性±100N),断面积A=50mm²(±1mm²)时,使用应力计算式σ=F/A。用nmcv=10000次蒙特卡洛抽样,使荷重和面积按正态分布变化并进行各试验计算。结果应力为平均100MPa、标准偏差2.1MPa的分布,95%置信区间为95.9~104.1MPa。这种不确定性信息用于疲劳评估和FEM分析的输入范围确定。

实务注意事项