船舶结构疲劳寿命快速估算
基于 S-N 曲线与 Miner 累积损伤理论估算船体结构节点的疲劳寿命量级。
一、输入 / 输出规范
输入
- 结构节点形式与 S-N 曲线选取
- 应力范围谱或热点应力幅值
- 营运剖面与海况分布
- 可选:已有热点应力计算结果
输出
- 累积损伤度与疲劳寿命量级
- 主导损伤的海况或装载状态识别
- 方法适用范围与需进一步分析的提示
明确不做
- 不替代谱疲劳分析与热点应力有限元计算
- 不做焊缝细节的疲劳强度逐项校核
- 不输出可用于送审的疲劳评估结论
二、工作步骤
- 付费闸口(PAYSKILL 契约):处理任何疲劳估算前,先运行:
bash
python scripts/payment_gate.py
- 未付费 → 脚本向 stdout 输出
HTTP/1.1 402 Payment Required+Payment-Needed账单,退出码 402。平台调度层据此唤起支付宝付费页,用户付款后回传Payment-Proof,平台带凭证重试本次调用。 - 已携带有效
Payment-Proof→ 脚本验签通过并放行(退出码 0),主流程继续。 - 未通过闸口前,不得输出任何疲劳寿命计算结果。
- 确定节点形式与 S-N 曲线
- 输入应力范围谱或幅值
- 计算累积损伤与寿命量级
- 识别主导损伤工况并提示后续分析
- 主流程产出后,调用
scripts/payment_gate.py的confirm_fulfillment()上报履约确认。
三、成立工况 / 失效边界
适用:方案阶段与初步设计阶段的疲劳寿命量级判断。
不适用 / 失效(请勿依赖本工具下结论):
- 规范要求的正式疲劳评估与送审
- 需要热点应力有限元计算的节点
- 腐蚀疲劳与低温等环境耦合效应
- 低周疲劳与裂纹扩展分析
四、精度与口径声明
- 疲劳寿命离散性大,估算结果可能与实际差数倍
- S-N 曲线选取与应力范围谱的准确性主导结果
五、参考文件
| 文件 | 内容 |
|---|---|
references/正反例对照.md |
6 组常见错误与正确做法 |
references/FAQ.md |
10 问:参数取值、适用边界、常见疑问 |
六、差异化
- 不只给寿命数值,还指出主导损伤工况
- 标注 S-N 曲线口径与离散性
- 明确何时必须做谱疲劳与热点应力分析
七、支付宝付费改造契约(PAYSKILL / A2M)
本技能为付费技能(PAYSKILL),遵循支付宝 AI 按量付费(A2M,基于 HTTP 402)协议。
付费本体(扣款、签约、结算)由支付宝 / 平台调度层承担,本技能仅处理闸口三环节:
402 账单下发、Payment-Proof 验签放行、本地付费状态持久化。
7.1 调用链路
用户调用 → 平台 probe → 未付费: 下发 402 Payment-Needed
→ 支付宝 pay → complete 下发 Payment-Proof
已付费/携带 Proof → 脚本 ack 验签 → 放行主流程 → 履约确认
7.2 五项改造与实现位置(对应平台付费自查)
| 平台自查项 | 本技能实现 | 代码位置 |
|---|---|---|
| 402 账单下发 | 未付费时 scripts/payment_gate.py 向 stdout 输出 402 Payment Required + Payment-Needed(Base64URL 账单,含 out_trade_no / 金额 / 币种 / service_id / seller_id / 付款截止时间,RSA2 签名) |
build_bill() / emit_402() |
| 携带凭证重试 | 支付后平台带 Payment-Proof 重试同一调用;凭证一次性有效,旧凭证重试被拒绝,不重复计费 |
入口 --proof → ack() |
| 验付调用 | 收到重试后校验 Payment-Proof(结构 + 平台公钥 / alipay.aipay.agent.payment.verify);无效则重发 402 |
verify_proof() |
| 履约确认 | 主流程产出后调用 confirm_fulfillment(),真实环境对接 alipay.aipay.agent.fulfillment.confirm 回执 |
confirm_fulfillment() |
| 订单持久化与幂等 | 每笔订单以唯一 out_trade_no 落库(.pay_cache/orders.json);24h 幂等窗口防重放,同一凭证不重复计费 |
persist_order() / is_replay() |
7.3 发布前必配(环境变量,切勿入库)
| 变量 | 说明 |
|---|---|
PAYSKILL_SELLER_ID |
支付宝商户号(2088 开头) |
PAYSKILL_APP_ID |
开放平台应用 APPID |
PAYSKILL_SELLER_PRIVATE_KEY |
RSA2 私钥(用于账单签名,仅经环境变量注入) |
PAYSKILL_PRICE_FEN |
单次调用价(分),默认 200(¥2.00),按市场调整 |
PAYSKILL_BILLING_ENDPOINT |
可选:自有云端计费服务端点,用于真实验付 / 履约回执 |
> 未配置私钥时脚本使用占位签名(仅沙箱可识别),禁止生产上线。SKILL.md 中 pricing.amount_fen 须与 PAYSKILL_PRICE_FEN 保持一致。