应力强度干涉模型可靠性分析 Skill
目标
帮助用户完成应力强度干涉模型的可靠性分析,包括:数据输入与校验、概率分布拟合、可靠度/失效概率计算(五种算法)、参数灵敏度分析、结果可视化、报告生成。
执行步骤
第1步:接收输入数据
询问用户并提供数据输入模板:
必须收集的信息:
- 强度分布类型(正态/对数正态/威布尔)及参数(均值/标准差 或 形状/尺度参数),或强度试验样本数据
- 应力分布类型(正态/对数正态/威布尔)及参数,或工况应力实测样本数据
- 可选:零部件名称、物料编号、分析工况、项目名称
数据输入方式:
- 用户直接提供参数值
- 用户上传Excel文件(读取
references/distribution_params.md了解格式要求) - 用户提供样本数据列表
数据校验规则(立即执行):
- 标准差、尺度参数必须 > 0,否则报错并请求重新输入
- 若用户提供样本数据,检查是否有空值、负数(对尺度参数等),标记超出3倍标准差的异常值
- 威布尔分布禁止使用解析法(见注意事项第1条)
若数据校验失败,停止并说明错误原因,请求用户提供正确数据。
第2步:概率分布拟合(若有样本数据)
若用户提供的是样本数据而非分布参数,需先进行概率分布拟合:
- 读取
references/distribution_params.md 了解各分布的参数估算方法 - 根据分布类型选择拟合方法:
- 正态分布:用样本均值和样本标准差
- 对数正态分布:对样本取对数后计算均值和标准差
- 威布尔分布:使用MLE(最大似然估计)或图估计法
- 输出拟合得到的分布参数,供第3步使用
若用户提供的是分布参数(非样本),跳过此步,直接使用用户提供的参数。
第3步:多算法可靠性计算
根据应力、强度分布类型,选择合适的算法执行计算:
算法选择规则:
- 正态+正态:优先使用经典解析算法,可选对比FOSM/SOSM/MCS
- 对数正态+对数正态:优先使用经典解析算法,可选对比FOSM/SOSM/MCS
- 威布尔+任意:必须使用威布尔干涉专用迭代算法,不可用解析法
- 其他组合:使用FOSM(快速)或SOSM(精确)或MCS(高精度)
执行计算:
运行 scripts/stress_strength_calculator.py,传入:
输出指标(必须包含):
- 应力均值/标准差、强度均值/标准差
- 结构可靠度 R(单位:无,范围0~1)
- 失效概率 Pf = 1 - R
- 可靠性指数 β(若适用)
- 平均安全裕度、最小安全裕度
多算法对比(用户要求或自动触发):
同时运行2种及以上算法,输出对比表和误差分析。
第4步:参数灵敏度分析
在计算完成后,询问用户是否进行灵敏度分析。若用户同意或进行中,执行:
运行 scripts/sensitivity_analyzer.py,传入:
分析方法: 对 each 参数(应力均值、应力标准差、强度均值、强度标准差、形状参数、尺度参数)进行 ±5%、±10% 梯度微扰动,观察可靠度变化。
输出指标:
- 参数灵敏度系数(绝对值越大越敏感)
- 参数重要度权重(归一化百分比)
- 参数影响趋势(正向/负向)
- 风险排序(按敏感程度降序)
第5步:结果可视化
询问用户是否需要生成图表。若需要,生成以下图表(使用Chart.js或Matplotlib):
- 干涉分布图:应力PDF + 强度PDF,高亮干涉区域
- 可靠度曲线图:β值对应的可靠度函数曲线
- 灵敏度分析图:参数灵敏度系数柱状图、重要度权重饼图
图表必须包含:坐标轴标注、图例、工况说明。
第6步:生成报告
询问用户是否需要生成报告。若需要:
运行 scripts/report_generator.py,传入:
- 所有计算结果数据
- 灵敏度分析结果
- 图表文件路径
- 输出文件路径(由用户指定)
报告格式: 默认HTML,可选Word(.docx)
报告内容:
- 项目信息(零部件、工况、日期、工程师)
- 分析依据(模型原理、分布类型)
- 计算结果(可靠度、失效概率、β值+图表)
- 灵敏度分析结果(系数、权重、风险排序)
- 分析结论(综合结论+优化建议)
注意事项
- 威布尔分布禁用解析法:威布尔分布无统一解析积分公式,必须使用专属迭代拟合算法。
- 蒙特卡洛抽样量级:万次抽样为工程常用量级,更高精度可用10万次。
- 灵敏度扰动幅度:严格使用±5%、±10%,不可用更大扰动。
- 结论必须综合:报告结论须结合计算结果+灵敏度分析结果,不可仅基于单一指标。
- 图表规范:所有图表须自带坐标轴标注、图例、工况说明,符合工程图纸规范。
- 性能要求:单组计算≤1s,50组批量≤5s,图表生成≤3s。
隐私与安全
- 本地计算:所有可靠性计算均在用户本地执行,不发送数据到外部服务器。
- 无网络请求:本Skill不包含任何网络请求代码,不会泄露用户数据。
- 文件保存:报告文件仅保存在用户指定的本地路径,不会自动上传或分享。
- 无数据收集:本Skill不收集、不存储用户输入数据(应力/强度参数、样本数据等)。
参考资料
references/algorithms.md:五种算法的数学模型、公式推导、计算步骤references/distribution_params.md:分布参数说明、拟合方法、样本数据格式要求
可执行脚本
scripts/stress_strength_calculator.py:核心计算(解析法/FOSM/SOSM/MCS/威布尔迭代)scripts/sensitivity_analyzer.py:参数灵敏度与重要度分析scripts/report_generator.py:HTML/Word报告生成