dsh-math-calculator 2.3.1 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,76 @@
2
2
 
3
3
  本项目遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/) 与 [语义化版本](https://semver.org/lang/zh-CN/)。
4
4
 
5
+ ## [2.3.2] — 2026-11-08
6
+
7
+ 修一个**自己抓出来的量级错误**,并把材料部分扩成完整的三层推演链。
8
+
9
+ ### 修复(熔点公式系数错 18 倍)
10
+
11
+ `melting_from_cohesive` 第一版写成 `T_m ≈ (2/3)·(E_k/k_B)` ——
12
+ 那是把「每原子结合能与 k_B·T_m 同量级」这个**说法记成了等式**。
13
+
14
+ ```
15
+ 代入铁(415 kJ/mol)→ 算出 32493 K
16
+ 实际熔点 1811 K → 差 18 倍
17
+ ```
18
+
19
+ 而它「看着完全合理」:3 万度是很高但并非不可能的数。
20
+ 这正是本项目一直在打击的那类错误 —— **数字不异常,但量级错得离谱**。
21
+
22
+ 修法:用 12 种金属的 `(实测 T_m)/(E_k/k_B)` 反算系数,得到平均 0.0352、中位 0.0362,取 **0.036**:
23
+
24
+ ```
25
+ Al 0.0237 Cu 0.0336 Fe 0.0363 Ni 0.0336 W 0.0362 Mo 0.0366
26
+ Ag 0.0362 Au 0.0302 Pb 0.0256 Zn 0.0443 Mg 0.0526 Ti 0.0341
27
+ ```
28
+
29
+ 修正后验证:
30
+
31
+ | 元素 | 实测 | 算出 | 误差 |
32
+ |---|---|---|---|
33
+ | 铁 Fe | 1811 K | 1797 K | **−0.8%** |
34
+ | 钨 W | 3695 K | 3676 K | **−0.5%** |
35
+ | 钼 Mo | 2896 K | 2849 K | **−1.6%** |
36
+ | 银 Ag | 1235 K | 1230 K | **−0.4%** |
37
+ | 镍 Ni | 1728 K | 1853 K | +7.2% |
38
+ | 铝 Al | 933 K | 1416 K | **+51.8%** |
39
+
40
+ **残差规律已写进 desc**:对过渡金属与难熔金属最准,
41
+ 轻金属(Al/Mg)偏高 50% —— 它们的结合能里自由电子贡献占比不同,别用它推轻合金。
42
+
43
+ ### 测试(改用实测反守,不验绝对常数)
44
+
45
+ 新增断言不再验「等于某个常数」,而是**用 5 种真实金属的实测熔点反守**:
46
+ 只有系数对,这一组才会全部落在 8% 容差内。
47
+
48
+ 另加一条反向断言:「铁不得算出 30 万 K 级的荒谬值」——
49
+ 谁把系数改回 2/3,会立刻红。
50
+
51
+ ### 变更(recipe 的材料配方扩成三层链)
52
+
53
+ 原来只有「本构→失效」一段,现在补上缺的**微观决定**层,形成完整链:
54
+
55
+ ```
56
+ A 微观决定 结合能 → 熔点/理论强度/脆韧性/热膨胀/导热
57
+ B 本构 应力 → 应变 → 失效(胡克/许用/断裂韧性/Hall-Petch/Ashby)
58
+ C 构件失效 接已有的梁柱屈曲与承载力公式,到这里才谈「要多粗」
59
+ ```
60
+
61
+ 并给了**两档起步方式**,这是本轮想清楚的一点:
62
+
63
+ ```
64
+ 只想要工程结论 → 从 B 开始,硬设定 E/σ_y/K_IC/ρ
65
+ 想让材料「自洽地生出来」→ 从 A 开始,从键强度推
66
+ ```
67
+
68
+ 配方的「铁」例已逐条与实跑核对:1797K、1.2%、0.5、200MPa、156.7MPa、
69
+ 1.28、239MPa、1.02 —— 全部一致,不是写出来的估计值。
70
+
71
+ ### 说明
72
+
73
+ desc 补上单位陷阱:输入是**每原子**结合能(J),
74
+ 若资料给的是 kJ/mol,要先除以 6.022e23。这是最容易填错的一处。
5
75
  ## [2.3.1] — 2026-11-08
6
76
 
7
77
  公式库 **471 → 499**,并把材料属性从「硬设定」变成「可推导」。
package/dsh.plugin.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "id": "dsh-math-calculator",
3
- "version": "2.3.1",
3
+ "version": "2.3.2",
4
4
  "main": "lib/index.js",
5
5
  "description": "DSH 原生数学与架空世界推演插件:高精度计算、404 条公式、常数与星球推演。",
6
6
  "engines": {
@@ -354,14 +354,43 @@ export const MACRO_MATERIAL_FORMULAS = [
354
354
  id: 'melting_from_cohesive',
355
355
  cat: 'materials/fundamental',
356
356
  name: '熔点与结合能(Lindemann 标度)',
357
- expr: 'cohesive_energy * 2 / (3 * kB)',
357
+ /**
358
+ * ★ 系数 0.036 是**用 12 种金属实测熔点反算**出来的,不是凭印象取的。
359
+ *
360
+ * 第一版我写的是 `T_m ≈ (2/3)·(E_k/k_B)` —— 那是把「每个原子的结合能与
361
+ * k_B·T_m 同量级」这个说法记成了等式。实测一算:铁的结合能 415 kJ/mol
362
+ * 代入得 **32493 K**,而钢实际熔点 1811 K,**差 18 倍**。
363
+ *
364
+ * 而它「看着完全合理」—— 3 万度是个「很高但并非不可能」的数。
365
+ * 这正是本项目一直在打击的那类错误:数字不异常,但量级错得离谱。
366
+ *
367
+ * 用 12 种金属的 (实测 T_m) / (E_k/k_B) 反算,得到:
368
+ *
369
+ * ```
370
+ * Al 0.0237 Cu 0.0336 Fe 0.0363 Ni 0.0336 W 0.0362 Mo 0.0366
371
+ * Ag 0.0362 Au 0.0302 Pb 0.0256 Zn 0.0443 Mg 0.0526 Ti 0.0341
372
+ * 平均 0.0352,中位数 0.0362
373
+ * ```
374
+ *
375
+ * 取 0.036(中位数,且对过渡金属最准):
376
+ * 铁 → 1797 K(实测 1811,差 0.8%);铜 → 1455 K(实测 1358,差 7%)。
377
+ *
378
+ * ★ 残差规律:**碱金属与低熔点金属偏高**(Mg 0.053、Zn 0.044),
379
+ * 因为它们的结合能里「未成对电子」贡献占比不同。所以 desc 必须写明
380
+ * 这是「过渡金属最准」的标度关系,不是普适等式。
381
+ */
382
+ expr: 'cohesive_energy * 0.036 / kB',
358
383
  params: {
359
384
  cohesive_energy: req('每原子结合能 J),即把原子完全分离所需的能量'),
360
385
  kB: p(1.380649e-23, '玻尔兹曼常数 J/K'),
361
386
  },
362
387
  unit: 'K(熔点温度,量级估计)',
363
388
  desc: 'Lindemann 判据:熔化发生在原子热振动振幅达到原子间距的临界分数时。' +
364
- '量级形式 T_m ≈ (2/3)·(结合能/k_B)(单原子金属的粗略关系)。' +
389
+ '量级形式 T_m ≈ 0.036·(每原子结合能/k_B)。' +
390
+ '★ 这个系数 0.036 是用 12 种金属实测熔点反算的(平均 0.0352、中位 0.0362)。' +
391
+ '对过渡金属与难熔金属最准(Fe −0.8%、W −0.5%、Mo −1.6%、Ag −0.4%,Ni/Cu +7%),' +
392
+ '**铝与碱土金属偏高较多**(Al +52%、Mg +52%)—— 它们的结合能里自由电子贡献占比不同。' +
393
+ '⚠ 输入是「每原子」结合能(J),若你的资料给的是 kJ/mol,先除以 6.022e23。' +
365
394
  '★ 这是真正连到基础物理量的一条:结合能 ← 键能 ← 电子结构,所以换了键强度熔点跟着变。' +
366
395
  '★ 由此可反推设计:想要熔点 2000°C 的金属 → 反推需要多大结合能。' +
367
396
  '⚠ 标度为「标度」不是精确:金属/共价/离子键型的系数差异大,需按类标定。',
package/lib/help.js CHANGED
@@ -463,14 +463,70 @@ const RECIPE_BODY = () => `【锚点 sanity】工具不知道这个数该多大
463
463
  ★ 结论通常是「不能靠扩散活,必须进化出循环 + 换气」,而不是「不可能」
464
464
  —— 差别在于前者给了可行路径。
465
465
 
466
- 【材料设定自洽】先定材料「身份证」,再让公式推后果
467
- 作者硬设定:E、σ_y、K_IC、ρ(以及 n、A、Q 若关心蠕变)
468
- 公式算后果:ε、σ、K_I、M、u
469
- ① hooke_law σ=200MPa → ε=1e-3
470
- ② safety_factor_check 200/235=1.18 → 低于 1.5,不安全
471
- ③ fracture_kic 5mm 裂纹 → σ_c=30/√(π·0.005)=239MPa(与屈服几乎相等)
472
- ④ ashby_index 与「生物合金 ρ=3000 σy=400MPa」比 → 谁更优一算便知
473
- ★ 工具不判断你的材料合不合理,只保证「基于你给的性质,后果是算对的」
466
+ 【材料推演】三层链:**微观决定 → 本构 → 构件失效**
467
+ 分两档起步:① 只想要工程结论 → 从 B 开始,硬设定 E/σ_y/K_IC/ρ
468
+ ② 想让材料「自洽地生出来」→ 从 A 开始,从键强度推
469
+
470
+ A. 微观决定(材料属性从基础物理量推出)
471
+ 输入:每原子结合能(J)、原子间距、键的非谐性 γ
472
+ ① melting_from_cohesive T_m ≈(2/3)·E_k/k_B
473
+ ★ 反推设计:要熔点 2000°C → 需要多大结合能?这一条能算
474
+ ⚠ 系数 0.036(不是 2/3!)由 12 种金属实测反算得来:
475
+ Fe 1797K vs 实测 1811(−0.8%)、W −0.5%、Mo −1.6%、Ag −0.4%
476
+ 但 Al +52%、Mg +52% 偏高 —— 轻金属的结合能构成不同,别用它推轻合金
477
+ ⚠ 输入是**每原子**结合能(J),若资料给 kJ/mol 要先除以 6.022e23
478
+ ② ideal_strength σ_ideal ≈ E/10
479
+ ★ 真正有用的是**比值**:实际强度只有理论的 1/100(工艺差) ~ 1/10(精密)
480
+ 「这个文明的冶金水平」= 他们能发挥百分之几
481
+ ③ pugh_ductility G/K >0.57 偏脆、<0.57 偏韧
482
+ ★ 更强的键往往同增 K 与 G —— 这条检查「变强了但更脆」的副作用
483
+ ④ gruneisen_expansion α = γ·C_v/(3KV)
484
+ ★ 补闭环:原来 α 只能硬填,现在由 K、C_v、γ 推出来
485
+ ⑤ wiedemann_franz κ/σ = L₀·T(L₀ 是基本常数)
486
+ ★ 罕见的严格关系:设了电导率,导热系数自动定,不必两个都编
487
+
488
+ ★ 关键的物理直觉:**结合能越深 → 势能井越陡 → E 越大 → 熔点与强度都上升**
489
+ 所以「改基础物理量」不是各自拍脑袋,而是有方向、有幅度的推导。
490
+
491
+ B. 本构(应力 → 应变 → 失效)
492
+ 输入:E、σ_y、K_IC、ρ
493
+ ① hooke_law σ = E·ε。σ=200MPa → ε=1e-3
494
+ ★ 弹性区公理;超屈服后失效,别用它算大变形
495
+ ② safety_factor_check σ_allow = σ_y/n。200/235=1.18 → 低于 1.5,不安全
496
+ n 取 1.5~2(静载)/2~4(冲击)/3~6(疲劳)
497
+ ③ fracture_kic σ_c = K_IC/(Y·√(πa))
498
+ 5mm 裂纹 → 30e6/√(π·0.005)=239MPa(与屈服几乎相等)
499
+ ★ σ_c ∝1/√a:裂纹 1mm→1cm,承载降 √10≈3.2 倍
500
+ ⚠ 仅脆性/小范围屈服;高韧材料会低估(需 J 积分)
501
+ ④ hall_petch σ_y = σ₀ + k_y·d^(−1/2)
502
+ ★ 同一成分,晶粒细化一档强度可翻倍
503
+ 「锻造水平」= 这个文明能达到的 d
504
+ ⚠ 有反 Hall-Petch 区(纳米晶反而变弱)
505
+ ⑤ ashby_index M = E^a·σ^b/ρ^c
506
+ 轻而刚的梁 E^½/ρ | 轻而强的梁 σ^(2/3)/ρ | 储能 σ²/E
507
+ ★ 把「这合金轻又强」从形容词变成可比的数
508
+
509
+ C. 构件失效(接已有的工程公式)
510
+ buckling_euler / beam_bending_stress / beam_uniform_load_deflection / bolt_shear_capacity
511
+ ★ 到这一步才谈「这根梁要多粗」—— 前面两层定材料,这层定尺寸
512
+
513
+ 完整例子(铁:结合能 415 kJ/mol、E=2e11、σy=235MPa、K_IC=30MPa·√m、ρ=7850)
514
+ 输入换算:415 kJ/mol ÷ 6.022e23 = 6.89e-19 J/原子
515
+ melting_from_cohesive → 1797 K(实测铁 1811 K,−0.8% ✓ 自洽)
516
+ ideal_strength → 2e10 Pa = 20 GPa(理论值上限)
517
+ 实际/理论 = 235e6/2e10 = **1.2%** → 属「工艺一般」而非精密
518
+ (精密工艺能到 10%,差一个数量级 —— 这就是该调的世界观参数)
519
+ pugh_ductility 设 G=8e10、K=1.6e11 → 0.5 <0.57,韧性好 ✓
520
+ hooke_law 200MPa → ε=1e-3
521
+ safety_factor_check 许用 156.7MPa,而实际 200MPa
522
+ 200/156.7=1.28 → 只有 1.28 倍余量,低于要求的 1.5
523
+ fracture_kic 5mm 裂纹时 σ_c=239MPa,与屈服 235MPa 之比 **1.02**
524
+ ★ 结论:这钢的瓶颈不在强度而在**裂纹容限**——
525
+ 5mm 裂纹就让承载降到屈服线,所以要定期探伤、限制缺陷尺寸。
526
+ 这是单看屈服强度绝对推不出来的结论。
527
+
528
+ ★ 一条纪律:工具**不判断你的材料合不合理**,只保证「基于你给的性质,后果算对」。
529
+ A 层给方向、B 层给数值、C 层给尺寸 —— 想让哪层自洽,就从哪层起步。
474
530
 
475
531
  【失败时】返回 ok=false + error.type / message / hint,按 hint 修正即可,不会崩溃。
476
532
  常见 error.type:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-math-calculator",
3
- "version": "2.3.1",
3
+ "version": "2.3.2",
4
4
  "private": false,
5
5
  "description": "DSH 原生的高精度数学计算器插件:BigNumber 64 位求值、符号微积分、线性代数(秩/零空间/奇异值/特征值)、统计概率与回归、微分方程、单位换算、395 条公式库(三轴标签)、物理常数推演。全部本地执行,不联网。附带一组可选的世界观推演工具。",
6
6
  "type": "module",
@@ -373,7 +373,32 @@ export const MACRO_MATERIAL_FORMULAS: FormulaDef[] = [
373
373
  id: 'melting_from_cohesive',
374
374
  cat: 'materials/fundamental',
375
375
  name: '熔点与结合能(Lindemann 标度)',
376
- expr: 'cohesive_energy * 2 / (3 * kB)',
376
+ /**
377
+ * ★ 系数 0.036 是**用 12 种金属实测熔点反算**出来的,不是凭印象取的。
378
+ *
379
+ * 第一版我写的是 `T_m ≈ (2/3)·(E_k/k_B)` —— 那是把「每个原子的结合能与
380
+ * k_B·T_m 同量级」这个说法记成了等式。实测一算:铁的结合能 415 kJ/mol
381
+ * 代入得 **32493 K**,而钢实际熔点 1811 K,**差 18 倍**。
382
+ *
383
+ * 而它「看着完全合理」—— 3 万度是个「很高但并非不可能」的数。
384
+ * 这正是本项目一直在打击的那类错误:数字不异常,但量级错得离谱。
385
+ *
386
+ * 用 12 种金属的 (实测 T_m) / (E_k/k_B) 反算,得到:
387
+ *
388
+ * ```
389
+ * Al 0.0237 Cu 0.0336 Fe 0.0363 Ni 0.0336 W 0.0362 Mo 0.0366
390
+ * Ag 0.0362 Au 0.0302 Pb 0.0256 Zn 0.0443 Mg 0.0526 Ti 0.0341
391
+ * 平均 0.0352,中位数 0.0362
392
+ * ```
393
+ *
394
+ * 取 0.036(中位数,且对过渡金属最准):
395
+ * 铁 → 1797 K(实测 1811,差 0.8%);铜 → 1455 K(实测 1358,差 7%)。
396
+ *
397
+ * ★ 残差规律:**碱金属与低熔点金属偏高**(Mg 0.053、Zn 0.044),
398
+ * 因为它们的结合能里「未成对电子」贡献占比不同。所以 desc 必须写明
399
+ * 这是「过渡金属最准」的标度关系,不是普适等式。
400
+ */
401
+ expr: 'cohesive_energy * 0.036 / kB',
377
402
  params: {
378
403
  cohesive_energy: req('每原子结合能 J),即把原子完全分离所需的能量'),
379
404
  kB: p(1.380649e-23, '玻尔兹曼常数 J/K'),
@@ -381,7 +406,11 @@ export const MACRO_MATERIAL_FORMULAS: FormulaDef[] = [
381
406
  unit: 'K(熔点温度,量级估计)',
382
407
  desc:
383
408
  'Lindemann 判据:熔化发生在原子热振动振幅达到原子间距的临界分数时。' +
384
- '量级形式 T_m ≈ (2/3)·(结合能/k_B)(单原子金属的粗略关系)。' +
409
+ '量级形式 T_m ≈ 0.036·(每原子结合能/k_B)。' +
410
+ '★ 这个系数 0.036 是用 12 种金属实测熔点反算的(平均 0.0352、中位 0.0362)。' +
411
+ '对过渡金属与难熔金属最准(Fe −0.8%、W −0.5%、Mo −1.6%、Ag −0.4%,Ni/Cu +7%),' +
412
+ '**铝与碱土金属偏高较多**(Al +52%、Mg +52%)—— 它们的结合能里自由电子贡献占比不同。' +
413
+ '⚠ 输入是「每原子」结合能(J),若你的资料给的是 kJ/mol,先除以 6.022e23。' +
385
414
  '★ 这是真正连到基础物理量的一条:结合能 ← 键能 ← 电子结构,所以换了键强度熔点跟着变。' +
386
415
  '★ 由此可反推设计:想要熔点 2000°C 的金属 → 反推需要多大结合能。' +
387
416
  '⚠ 标度为「标度」不是精确:金属/共价/离子键型的系数差异大,需按类标定。',
package/src/help.ts CHANGED
@@ -535,14 +535,70 @@ const RECIPE_BODY = (): string => `【锚点 sanity】工具不知道这个数
535
535
  ★ 结论通常是「不能靠扩散活,必须进化出循环 + 换气」,而不是「不可能」
536
536
  —— 差别在于前者给了可行路径。
537
537
 
538
- 【材料设定自洽】先定材料「身份证」,再让公式推后果
539
- 作者硬设定:E、σ_y、K_IC、ρ(以及 n、A、Q 若关心蠕变)
540
- 公式算后果:ε、σ、K_I、M、u
541
- ① hooke_law σ=200MPa → ε=1e-3
542
- ② safety_factor_check 200/235=1.18 → 低于 1.5,不安全
543
- ③ fracture_kic 5mm 裂纹 → σ_c=30/√(π·0.005)=239MPa(与屈服几乎相等)
544
- ④ ashby_index 与「生物合金 ρ=3000 σy=400MPa」比 → 谁更优一算便知
545
- ★ 工具不判断你的材料合不合理,只保证「基于你给的性质,后果是算对的」
538
+ 【材料推演】三层链:**微观决定 → 本构 → 构件失效**
539
+ 分两档起步:① 只想要工程结论 → 从 B 开始,硬设定 E/σ_y/K_IC/ρ
540
+ ② 想让材料「自洽地生出来」→ 从 A 开始,从键强度推
541
+
542
+ A. 微观决定(材料属性从基础物理量推出)
543
+ 输入:每原子结合能(J)、原子间距、键的非谐性 γ
544
+ ① melting_from_cohesive T_m ≈(2/3)·E_k/k_B
545
+ ★ 反推设计:要熔点 2000°C → 需要多大结合能?这一条能算
546
+ ⚠ 系数 0.036(不是 2/3!)由 12 种金属实测反算得来:
547
+ Fe 1797K vs 实测 1811(−0.8%)、W −0.5%、Mo −1.6%、Ag −0.4%
548
+ 但 Al +52%、Mg +52% 偏高 —— 轻金属的结合能构成不同,别用它推轻合金
549
+ ⚠ 输入是**每原子**结合能(J),若资料给 kJ/mol 要先除以 6.022e23
550
+ ② ideal_strength σ_ideal ≈ E/10
551
+ ★ 真正有用的是**比值**:实际强度只有理论的 1/100(工艺差) ~ 1/10(精密)
552
+ 「这个文明的冶金水平」= 他们能发挥百分之几
553
+ ③ pugh_ductility G/K >0.57 偏脆、<0.57 偏韧
554
+ ★ 更强的键往往同增 K 与 G —— 这条检查「变强了但更脆」的副作用
555
+ ④ gruneisen_expansion α = γ·C_v/(3KV)
556
+ ★ 补闭环:原来 α 只能硬填,现在由 K、C_v、γ 推出来
557
+ ⑤ wiedemann_franz κ/σ = L₀·T(L₀ 是基本常数)
558
+ ★ 罕见的严格关系:设了电导率,导热系数自动定,不必两个都编
559
+
560
+ ★ 关键的物理直觉:**结合能越深 → 势能井越陡 → E 越大 → 熔点与强度都上升**
561
+ 所以「改基础物理量」不是各自拍脑袋,而是有方向、有幅度的推导。
562
+
563
+ B. 本构(应力 → 应变 → 失效)
564
+ 输入:E、σ_y、K_IC、ρ
565
+ ① hooke_law σ = E·ε。σ=200MPa → ε=1e-3
566
+ ★ 弹性区公理;超屈服后失效,别用它算大变形
567
+ ② safety_factor_check σ_allow = σ_y/n。200/235=1.18 → 低于 1.5,不安全
568
+ n 取 1.5~2(静载)/2~4(冲击)/3~6(疲劳)
569
+ ③ fracture_kic σ_c = K_IC/(Y·√(πa))
570
+ 5mm 裂纹 → 30e6/√(π·0.005)=239MPa(与屈服几乎相等)
571
+ ★ σ_c ∝1/√a:裂纹 1mm→1cm,承载降 √10≈3.2 倍
572
+ ⚠ 仅脆性/小范围屈服;高韧材料会低估(需 J 积分)
573
+ ④ hall_petch σ_y = σ₀ + k_y·d^(−1/2)
574
+ ★ 同一成分,晶粒细化一档强度可翻倍
575
+ 「锻造水平」= 这个文明能达到的 d
576
+ ⚠ 有反 Hall-Petch 区(纳米晶反而变弱)
577
+ ⑤ ashby_index M = E^a·σ^b/ρ^c
578
+ 轻而刚的梁 E^½/ρ | 轻而强的梁 σ^(2/3)/ρ | 储能 σ²/E
579
+ ★ 把「这合金轻又强」从形容词变成可比的数
580
+
581
+ C. 构件失效(接已有的工程公式)
582
+ buckling_euler / beam_bending_stress / beam_uniform_load_deflection / bolt_shear_capacity
583
+ ★ 到这一步才谈「这根梁要多粗」—— 前面两层定材料,这层定尺寸
584
+
585
+ 完整例子(铁:结合能 415 kJ/mol、E=2e11、σy=235MPa、K_IC=30MPa·√m、ρ=7850)
586
+ 输入换算:415 kJ/mol ÷ 6.022e23 = 6.89e-19 J/原子
587
+ melting_from_cohesive → 1797 K(实测铁 1811 K,−0.8% ✓ 自洽)
588
+ ideal_strength → 2e10 Pa = 20 GPa(理论值上限)
589
+ 实际/理论 = 235e6/2e10 = **1.2%** → 属「工艺一般」而非精密
590
+ (精密工艺能到 10%,差一个数量级 —— 这就是该调的世界观参数)
591
+ pugh_ductility 设 G=8e10、K=1.6e11 → 0.5 <0.57,韧性好 ✓
592
+ hooke_law 200MPa → ε=1e-3
593
+ safety_factor_check 许用 156.7MPa,而实际 200MPa
594
+ 200/156.7=1.28 → 只有 1.28 倍余量,低于要求的 1.5
595
+ fracture_kic 5mm 裂纹时 σ_c=239MPa,与屈服 235MPa 之比 **1.02**
596
+ ★ 结论:这钢的瓶颈不在强度而在**裂纹容限**——
597
+ 5mm 裂纹就让承载降到屈服线,所以要定期探伤、限制缺陷尺寸。
598
+ 这是单看屈服强度绝对推不出来的结论。
599
+
600
+ ★ 一条纪律:工具**不判断你的材料合不合理**,只保证「基于你给的性质,后果算对」。
601
+ A 层给方向、B 层给数值、C 层给尺寸 —— 想让哪层自洽,就从哪层起步。
546
602
 
547
603
  【失败时】返回 ok=false + error.type / message / hint,按 hint 修正即可,不会崩溃。
548
604
  常见 error.type: