universal-physics-tensor 6.0.0 → 7.0.0

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.
Files changed (136) hide show
  1. package/README.md +4 -4
  2. package/dist/atlas/physjs-entries.generated.d.ts +176 -1
  3. package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
  4. package/dist/atlas/physjs-entries.generated.js +197 -1
  5. package/dist/atlas/physjs-entries.generated.js.map +1 -1
  6. package/dist/atlas/physjs-ref.d.ts +10 -1
  7. package/dist/atlas/physjs-ref.d.ts.map +1 -1
  8. package/dist/atlas/physjs-ref.js +30 -1
  9. package/dist/atlas/physjs-ref.js.map +1 -1
  10. package/dist/bridges/be80-mott-gurney.d.ts +2 -2
  11. package/dist/bridges/condensed-r8-catalog.d.ts +28 -0
  12. package/dist/bridges/condensed-r8-catalog.d.ts.map +1 -0
  13. package/dist/bridges/condensed-r8-catalog.js +272 -0
  14. package/dist/bridges/condensed-r8-catalog.js.map +1 -0
  15. package/dist/bridges/condensed-r8.d.ts +260 -0
  16. package/dist/bridges/condensed-r8.d.ts.map +1 -0
  17. package/dist/bridges/condensed-r8.js +329 -0
  18. package/dist/bridges/condensed-r8.js.map +1 -0
  19. package/dist/bridges/engineering-r7-catalog.d.ts +28 -0
  20. package/dist/bridges/engineering-r7-catalog.d.ts.map +1 -0
  21. package/dist/bridges/engineering-r7-catalog.js +172 -0
  22. package/dist/bridges/engineering-r7-catalog.js.map +1 -0
  23. package/dist/bridges/engineering-r7.d.ts +152 -0
  24. package/dist/bridges/engineering-r7.d.ts.map +1 -0
  25. package/dist/bridges/engineering-r7.js +208 -0
  26. package/dist/bridges/engineering-r7.js.map +1 -0
  27. package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
  28. package/dist/bridges/evaluator-inputs.js +19 -7
  29. package/dist/bridges/evaluator-inputs.js.map +1 -1
  30. package/dist/bridges/evaluators.d.ts.map +1 -1
  31. package/dist/bridges/evaluators.js +112 -6
  32. package/dist/bridges/evaluators.js.map +1 -1
  33. package/dist/bridges/index.d.ts +4 -0
  34. package/dist/bridges/index.d.ts.map +1 -1
  35. package/dist/bridges/index.js +12 -0
  36. package/dist/bridges/index.js.map +1 -1
  37. package/dist/canonical/entries/atomic.d.ts.map +1 -1
  38. package/dist/canonical/entries/atomic.js +4 -3
  39. package/dist/canonical/entries/atomic.js.map +1 -1
  40. package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
  41. package/dist/canonical/entries/electromagnetism.js +6 -2
  42. package/dist/canonical/entries/electromagnetism.js.map +1 -1
  43. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  44. package/dist/cli/commands/_discovery-opts.js +18 -1
  45. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  46. package/dist/cli/commands/eval.d.ts.map +1 -1
  47. package/dist/cli/commands/eval.js +9 -1
  48. package/dist/cli/commands/eval.js.map +1 -1
  49. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  50. package/dist/cli/commands/evaluate.js +25 -13
  51. package/dist/cli/commands/evaluate.js.map +1 -1
  52. package/dist/cli/commands/explain.d.ts.map +1 -1
  53. package/dist/cli/commands/explain.js +19 -5
  54. package/dist/cli/commands/explain.js.map +1 -1
  55. package/dist/cli/commands/map.js +1 -1
  56. package/dist/cli/commands/map.js.map +1 -1
  57. package/dist/cli/commands/regime.d.ts.map +1 -1
  58. package/dist/cli/commands/regime.js +15 -3
  59. package/dist/cli/commands/regime.js.map +1 -1
  60. package/dist/cli/search-index.d.ts +1 -1
  61. package/dist/cli/search-index.js +1 -1
  62. package/dist/cli/search-index.js.map +1 -1
  63. package/dist/cli-api.d.ts +7 -1
  64. package/dist/cli-api.d.ts.map +1 -1
  65. package/dist/cli-api.js +7 -1
  66. package/dist/cli-api.js.map +1 -1
  67. package/dist/composition/aliases.d.ts +13 -23
  68. package/dist/composition/aliases.d.ts.map +1 -1
  69. package/dist/composition/aliases.js +24 -59
  70. package/dist/composition/aliases.js.map +1 -1
  71. package/dist/composition/canonical-compare.d.ts.map +1 -1
  72. package/dist/composition/canonical-compare.js +4 -3
  73. package/dist/composition/canonical-compare.js.map +1 -1
  74. package/dist/composition/canonical-graph.d.ts +7 -4
  75. package/dist/composition/canonical-graph.d.ts.map +1 -1
  76. package/dist/composition/canonical-graph.js +19 -14
  77. package/dist/composition/canonical-graph.js.map +1 -1
  78. package/dist/composition/catalog-graph.d.ts.map +1 -1
  79. package/dist/composition/catalog-graph.js +4 -0
  80. package/dist/composition/catalog-graph.js.map +1 -1
  81. package/dist/composition/edge.d.ts +7 -0
  82. package/dist/composition/edge.d.ts.map +1 -1
  83. package/dist/composition/edge.js.map +1 -1
  84. package/dist/composition/edges/condensed-r8.d.ts +30 -0
  85. package/dist/composition/edges/condensed-r8.d.ts.map +1 -0
  86. package/dist/composition/edges/condensed-r8.js +325 -0
  87. package/dist/composition/edges/condensed-r8.js.map +1 -0
  88. package/dist/composition/edges/engineering-r7.d.ts +20 -0
  89. package/dist/composition/edges/engineering-r7.d.ts.map +1 -0
  90. package/dist/composition/edges/engineering-r7.js +262 -0
  91. package/dist/composition/edges/engineering-r7.js.map +1 -0
  92. package/dist/composition/evaluate-relation.d.ts +16 -0
  93. package/dist/composition/evaluate-relation.d.ts.map +1 -1
  94. package/dist/composition/evaluate-relation.js +80 -18
  95. package/dist/composition/evaluate-relation.js.map +1 -1
  96. package/dist/composition/explain.d.ts.map +1 -1
  97. package/dist/composition/explain.js +40 -6
  98. package/dist/composition/explain.js.map +1 -1
  99. package/dist/composition/index.d.ts +7 -1
  100. package/dist/composition/index.d.ts.map +1 -1
  101. package/dist/composition/index.js +7 -1
  102. package/dist/composition/index.js.map +1 -1
  103. package/dist/composition/quantities/condensed-r8.d.ts +96 -0
  104. package/dist/composition/quantities/condensed-r8.d.ts.map +1 -0
  105. package/dist/composition/quantities/condensed-r8.js +107 -0
  106. package/dist/composition/quantities/condensed-r8.js.map +1 -0
  107. package/dist/composition/quantities/engineering-r7.d.ts +82 -0
  108. package/dist/composition/quantities/engineering-r7.d.ts.map +1 -0
  109. package/dist/composition/quantities/engineering-r7.js +92 -0
  110. package/dist/composition/quantities/engineering-r7.js.map +1 -0
  111. package/dist/composition/quantities.d.ts +2 -0
  112. package/dist/composition/quantities.d.ts.map +1 -1
  113. package/dist/composition/quantities.js +2 -0
  114. package/dist/composition/quantities.js.map +1 -1
  115. package/dist/composition/user-equation.d.ts +0 -10
  116. package/dist/composition/user-equation.d.ts.map +1 -1
  117. package/dist/composition/user-equation.js +5 -27
  118. package/dist/composition/user-equation.js.map +1 -1
  119. package/dist/dimensional/bridge-check.d.ts.map +1 -1
  120. package/dist/dimensional/bridge-check.js +21 -0
  121. package/dist/dimensional/bridge-check.js.map +1 -1
  122. package/dist/dimensional/formula-names.d.ts +49 -0
  123. package/dist/dimensional/formula-names.d.ts.map +1 -1
  124. package/dist/dimensional/formula-names.js +117 -0
  125. package/dist/dimensional/formula-names.js.map +1 -1
  126. package/dist/dimensional/units.d.ts.map +1 -1
  127. package/dist/dimensional/units.js +90 -34
  128. package/dist/dimensional/units.js.map +1 -1
  129. package/dist/index.d.ts +11 -1
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.js +11 -1
  132. package/dist/index.js.map +1 -1
  133. package/dist/numerical/binding-value.d.ts.map +1 -1
  134. package/dist/numerical/binding-value.js +6 -6
  135. package/dist/numerical/binding-value.js.map +1 -1
  136. package/package.json +1 -1
@@ -0,0 +1,325 @@
1
+ import { DIMENSIONLESS } from '../../dimensional/types.js';
2
+ import { CONSTANTS } from '../../dimensional/symbolic-constants.js';
3
+ import { evaluateAcDrude, evaluateBlochLaw, evaluateBuiltinVoltage, evaluateDensityOfStates2D, evaluateDensityOfStates3D, evaluateGorterCasimir, evaluateJosephsonInductance, evaluateLowerCritical, evaluateMatthiessen, evaluateOnsagerFrequency, evaluateSemiconductorFermi, evaluateStoner, evaluateThomasFermi, } from '../../bridges/condensed-r8.js';
4
+ import { withBoundAliases } from '../edge.js';
5
+ import { acdrudeBandmassQ, acdrudeConductQ, acdrudeN3Q, acdrudeRadianQ, acdrudeScatterQ, blochlawDeficitQ, blochlawDstiffQ, blochlawMubQ, blochlawWarmthQ, blochlawZetaQ, builtinAcceptorQ, builtinDonorQ, builtinNiQ, builtinVbiQ, builtinWarmthQ, dos2dBandmassQ, dos2dStatesQ, dos3dAbscissaQ, dos3dBandmassQ, dos3dStatesQ, fermioffsetElecmassQ, fermioffsetHolemassQ, fermioffsetMuoffQ, fermioffsetWarmthQ, gortercasNsQ, gortercasTcQ, gortercasWarmthQ, josephsonlHenryQ, josephsonlIcQ, lowercritBc1Q, lowercritPenQ, lowercritXiQ, matthsumScatter1Q, matthsumScatter2Q, matthsumScatterQ, onsagerkKareaQ, onsagerkOrbitQ, stonerchiEnhancedQ, stonerchiIgQ, stonerchiPauliQ, tfscreenChemicalQ, tfscreenK2Q, tfscreenN3Q, } from '../quantities.js';
6
+ const finite = Number.isFinite;
7
+ const qsym = (quantity) => ({ kind: 'symbol', name: quantity.name, dim: quantity.dim });
8
+ const csym = (name) => ({ kind: 'symbol', name, dim: CONSTANTS[name].dim });
9
+ const lit = (n) => ({ kind: 'symbol', name: String(n), dim: DIMENSIONLESS });
10
+ const prod = (...args) => ({ kind: 'op', op: '*', args });
11
+ const plus = (...args) => ({ kind: 'op', op: '+', args });
12
+ const minus = (a, b) => ({ kind: 'op', op: '-', args: [a, b] });
13
+ const ratio = (num, den) => ({ kind: 'op', op: '/', args: [num, den] });
14
+ const pow = (base, exp) => ({ kind: 'op', op: '^', args: [base, exp] });
15
+ const lnOf = (arg) => ({ kind: 'transcendental', fn: 'ln', arg });
16
+ const pi = { kind: 'symbol', name: 'pi', dim: DIMENSIONLESS };
17
+ const domain = (description, predicate) => ({
18
+ description,
19
+ predicate,
20
+ });
21
+ /** BE-134 Bloch deficit. g = 2 is not this edge. @public */
22
+ export const be134Edge = withBoundAliases({
23
+ id: 'be-134',
24
+ beId: 134,
25
+ kind: 'law',
26
+ label: 'Bloch deficit ΔM = μ_B ζ(3/2) (k_B T/(4 π D))^{3/2}',
27
+ sources: [blochlawMubQ, blochlawZetaQ, blochlawWarmthQ, blochlawDstiffQ],
28
+ aliases: {
29
+ 'blochlaw-mub': ['muB_J_per_T'],
30
+ 'blochlaw-zeta': ['zeta_3_2'],
31
+ 'blochlaw-warmth': ['T_K'],
32
+ 'blochlaw-dstiff': ['D_J_m2'],
33
+ },
34
+ target: blochlawDeficitQ,
35
+ confidence: 'established',
36
+ domain: domain('D > 0 and T ≥ 0', (i) => finite(i['blochlaw-dstiff']) && i['blochlaw-dstiff'] > 0 && finite(i['blochlaw-warmth']) && i['blochlaw-warmth'] >= 0),
37
+ evaluate: (i) => evaluateBlochLaw({
38
+ muB_J_per_T: i['blochlaw-mub'],
39
+ zeta_3_2: i['blochlaw-zeta'],
40
+ T_K: i['blochlaw-warmth'],
41
+ D_J_m2: i['blochlaw-dstiff'],
42
+ }).dM_A_per_m,
43
+ symbolic: prod(qsym(blochlawMubQ), qsym(blochlawZetaQ), pow(ratio(prod(csym('k_B'), qsym(blochlawWarmthQ)), prod(csym('4pi'), qsym(blochlawDstiffQ))), lit(1.5))),
44
+ citation: 'PhysJS.BlochLaw.bloch_law. ζ(3/2) is not evaluated. g μ_B at g = 2 is not one Bohr magneton.',
45
+ });
46
+ /** BE-135 three-dimensional density of states. One spin is half. @public */
47
+ export const be135Edge = withBoundAliases({
48
+ id: 'be-135',
49
+ beId: 135,
50
+ kind: 'law',
51
+ label: 'g(E) = (1/(2 π²)) (2 m/ℏ²)^{3/2} √E',
52
+ sources: [dos3dBandmassQ, dos3dAbscissaQ],
53
+ aliases: {
54
+ 'dos3d-bandmass': ['m_kg'],
55
+ 'dos3d-abscissa': ['E_J'],
56
+ },
57
+ target: dos3dStatesQ,
58
+ confidence: 'established',
59
+ domain: domain('m > 0 and E ≥ 0', (i) => finite(i['dos3d-bandmass']) && i['dos3d-bandmass'] > 0 && finite(i['dos3d-abscissa']) && i['dos3d-abscissa'] >= 0),
60
+ evaluate: (i) => evaluateDensityOfStates3D({ m_kg: i['dos3d-bandmass'], E_J: i['dos3d-abscissa'] }).g_per_J_m3,
61
+ symbolic: prod(ratio(lit(1), prod(lit(2), pow(pi, lit(2)))), pow(ratio(prod(lit(2), qsym(dos3dBandmassQ)), pow(csym('hbar'), lit(2))), lit(1.5)), pow(qsym(dos3dAbscissaQ), lit(0.5))),
62
+ citation: 'PhysJS.DensityOfStates3D.dos_3d. One spin replaces 1/(2 π²) by 1/(4 π²). Not be-88.',
63
+ });
64
+ /** BE-136 two-dimensional density of states. A valley factor is not 1. @public */
65
+ export const be136Edge = withBoundAliases({
66
+ id: 'be-136',
67
+ beId: 136,
68
+ kind: 'law',
69
+ label: 'g = m / (π ℏ²)',
70
+ sources: [dos2dBandmassQ],
71
+ aliases: { 'dos2d-bandmass': ['m_kg'] },
72
+ target: dos2dStatesQ,
73
+ confidence: 'established',
74
+ domain: domain('m ≠ 0', (i) => finite(i['dos2d-bandmass']) && i['dos2d-bandmass'] !== 0),
75
+ evaluate: (i) => evaluateDensityOfStates2D({ m_kg: i['dos2d-bandmass'] }).g_per_J_m2,
76
+ symbolic: ratio(qsym(dos2dBandmassQ), prod(pi, pow(csym('hbar'), lit(2)))),
77
+ citation: 'PhysJS.DensityOfStates2D.dos_2d. A valley factor other than 1 is not this density.',
78
+ });
79
+ /** BE-137 Thomas–Fermi wavevector squared. A flat density drops 3/2. @public */
80
+ export const be137Edge = withBoundAliases({
81
+ id: 'be-137',
82
+ beId: 137,
83
+ kind: 'law',
84
+ label: 'k_TF² = (e²/ε0) (3 n)/(2 E_F)',
85
+ sources: [tfscreenN3Q, tfscreenChemicalQ],
86
+ aliases: {
87
+ 'tfscreen-n3': ['n_per_m3'],
88
+ 'tfscreen-chemical': ['EF_J'],
89
+ },
90
+ target: tfscreenK2Q,
91
+ confidence: 'established',
92
+ domain: domain('E_F > 0', (i) => finite(i['tfscreen-n3']) && finite(i['tfscreen-chemical']) && i['tfscreen-chemical'] > 0),
93
+ evaluate: (i) => evaluateThomasFermi({ n_per_m3: i['tfscreen-n3'], EF_J: i['tfscreen-chemical'] }).k2_per_m2,
94
+ symbolic: prod(ratio(pow(csym('e'), lit(2)), csym('epsilon_0')), ratio(prod(lit(3), qsym(tfscreenN3Q)), prod(lit(2), qsym(tfscreenChemicalQ)))),
95
+ citation: 'PhysJS.ThomasFermi.thomas_fermi. A flat density leaves the factor 1. Not the Debye length.',
96
+ });
97
+ /** BE-138 built-in voltage. The logarithm is the catalog value. @public */
98
+ export const be138Edge = withBoundAliases({
99
+ id: 'be-138',
100
+ beId: 138,
101
+ kind: 'law',
102
+ label: 'V_bi = (k_B T/e) ln(N_A N_D/n_i²)',
103
+ sources: [builtinWarmthQ, builtinAcceptorQ, builtinDonorQ, builtinNiQ],
104
+ aliases: {
105
+ 'builtin-warmth': ['T_K'],
106
+ 'builtin-acceptor': ['NA_per_m3'],
107
+ 'builtin-donor': ['ND_per_m3'],
108
+ 'builtin-ni': ['ni_per_m3'],
109
+ },
110
+ target: builtinVbiQ,
111
+ confidence: 'established',
112
+ domain: domain('N_A > 0, N_D > 0, and n_i > 0', (i) => finite(i['builtin-warmth']) &&
113
+ finite(i['builtin-acceptor']) &&
114
+ i['builtin-acceptor'] > 0 &&
115
+ finite(i['builtin-donor']) &&
116
+ i['builtin-donor'] > 0 &&
117
+ finite(i['builtin-ni']) &&
118
+ i['builtin-ni'] > 0),
119
+ evaluate: (i) => evaluateBuiltinVoltage({
120
+ T_K: i['builtin-warmth'],
121
+ NA_per_m3: i['builtin-acceptor'],
122
+ ND_per_m3: i['builtin-donor'],
123
+ ni_per_m3: i['builtin-ni'],
124
+ }).V_bi_V,
125
+ symbolic: prod(ratio(prod(csym('k_B'), qsym(builtinWarmthQ)), csym('e')), lnOf(ratio(prod(qsym(builtinAcceptorQ), qsym(builtinDonorQ)), pow(qsym(builtinNiQ), lit(2))))),
126
+ citation: 'PhysJS.BuiltinVoltage.builtin_voltage. Not the ideal diode of be-82.',
127
+ });
128
+ /** BE-139 intrinsic Fermi offset. The extrinsic energy is not this edge. @public */
129
+ export const be139Edge = withBoundAliases({
130
+ id: 'be-139',
131
+ beId: 139,
132
+ kind: 'law',
133
+ label: 'E_F − (E_c+E_v)/2 = (3/4) k_B T ln(m_h*/m_e*)',
134
+ sources: [fermioffsetWarmthQ, fermioffsetHolemassQ, fermioffsetElecmassQ],
135
+ aliases: {
136
+ 'fermioffset-warmth': ['T_K'],
137
+ 'fermioffset-holemass': ['mh_kg'],
138
+ 'fermioffset-elecmass': ['me_kg'],
139
+ },
140
+ target: fermioffsetMuoffQ,
141
+ confidence: 'established',
142
+ domain: domain('T ≠ 0, m_h* > 0, and m_e* > 0', (i) => finite(i['fermioffset-warmth']) &&
143
+ i['fermioffset-warmth'] !== 0 &&
144
+ finite(i['fermioffset-holemass']) &&
145
+ i['fermioffset-holemass'] > 0 &&
146
+ finite(i['fermioffset-elecmass']) &&
147
+ i['fermioffset-elecmass'] > 0),
148
+ evaluate: (i) => evaluateSemiconductorFermi({
149
+ T_K: i['fermioffset-warmth'],
150
+ mh_kg: i['fermioffset-holemass'],
151
+ me_kg: i['fermioffset-elecmass'],
152
+ Nc_per_m3: 1,
153
+ ND_per_m3: 1,
154
+ }).intrinsic_offset_J,
155
+ symbolic: prod(ratio(lit(3), lit(4)), csym('k_B'), qsym(fermioffsetWarmthQ), lnOf(ratio(qsym(fermioffsetHolemassQ), qsym(fermioffsetElecmassQ)))),
156
+ citation: 'PhysJS.SemiconductorFermi.fermi_level. The 3/4 is half of 3/2. The edge value is the intrinsic offset.',
157
+ });
158
+ /** BE-140 Onsager frequency. Dropping 2 π is not this field. @public */
159
+ export const be140Edge = withBoundAliases({
160
+ id: 'be-140',
161
+ beId: 140,
162
+ kind: 'law',
163
+ label: 'F = ℏ A / (2 π e)',
164
+ sources: [onsagerkKareaQ],
165
+ aliases: { 'onsagerk-karea': ['A_per_m2'] },
166
+ target: onsagerkOrbitQ,
167
+ confidence: 'established',
168
+ domain: domain('A is finite', (i) => finite(i['onsagerk-karea'])),
169
+ evaluate: (i) => evaluateOnsagerFrequency({ A_per_m2: i['onsagerk-karea'] }).F_T,
170
+ symbolic: ratio(prod(csym('hbar'), qsym(onsagerkKareaQ)), prod(csym('2pi'), csym('e'))),
171
+ citation: 'PhysJS.OnsagerFrequency.onsager_frequency. γ cancels. Δ(1/B) = 1/F.',
172
+ });
173
+ /** BE-141 Josephson inductance at φ = 0. @public */
174
+ export const be141Edge = withBoundAliases({
175
+ id: 'be-141',
176
+ beId: 141,
177
+ kind: 'law',
178
+ label: 'L_J = ℏ / (2 e I_c)',
179
+ sources: [josephsonlIcQ],
180
+ aliases: { 'josephsonl-ic': ['Ic_A'] },
181
+ target: josephsonlHenryQ,
182
+ confidence: 'established',
183
+ domain: domain('I_c ≠ 0', (i) => finite(i['josephsonl-ic']) && i['josephsonl-ic'] !== 0),
184
+ evaluate: (i) => evaluateJosephsonInductance({ Ic_A: i['josephsonl-ic'] }).L_H,
185
+ symbolic: ratio(csym('hbar'), prod(lit(2), csym('e'), qsym(josephsonlIcQ))),
186
+ citation: 'PhysJS.JosephsonInductance.inductance_eq. cos φ = 1 at φ = 0. Not be-59.',
187
+ });
188
+ /** BE-142 lower critical field. The 4 π stays. @public */
189
+ export const be142Edge = withBoundAliases({
190
+ id: 'be-142',
191
+ beId: 142,
192
+ kind: 'law',
193
+ label: 'B_c1 = (Φ₀/(4 π λ²)) ln(λ/ξ), Φ₀ = h/(2 e)',
194
+ sources: [lowercritPenQ, lowercritXiQ],
195
+ aliases: {
196
+ 'lowercrit-pen': ['lambda_m'],
197
+ 'lowercrit-xi': ['xi_m'],
198
+ },
199
+ target: lowercritBc1Q,
200
+ confidence: 'established',
201
+ domain: domain('0 < ξ < λ', (i) => finite(i['lowercrit-xi']) &&
202
+ i['lowercrit-xi'] > 0 &&
203
+ finite(i['lowercrit-pen']) &&
204
+ i['lowercrit-pen'] > i['lowercrit-xi']),
205
+ evaluate: (i) => evaluateLowerCritical({ lambda_m: i['lowercrit-pen'], xi_m: i['lowercrit-xi'] }).B_c1_T,
206
+ symbolic: prod(ratio(ratio(csym('h'), prod(lit(2), csym('e'))), prod(csym('4pi'), pow(qsym(lowercritPenQ), lit(2)))), lnOf(ratio(qsym(lowercritPenQ), qsym(lowercritXiQ)))),
207
+ citation: 'PhysJS.LowerCritical.lower_critical. Not be-96.',
208
+ });
209
+ /** BE-143 real AC Drude conductivity. The DC 1 stays. @public */
210
+ export const be143Edge = withBoundAliases({
211
+ id: 'be-143',
212
+ beId: 143,
213
+ kind: 'law',
214
+ label: 'Re σ = (n e² τ/m) / (1 + ω² τ²)',
215
+ sources: [acdrudeN3Q, acdrudeBandmassQ, acdrudeScatterQ, acdrudeRadianQ],
216
+ aliases: {
217
+ 'acdrude-n3': ['n_per_m3'],
218
+ 'acdrude-bandmass': ['m_kg'],
219
+ 'acdrude-scatter': ['tau_s'],
220
+ 'acdrude-radian': ['omega_rad_s'],
221
+ },
222
+ target: acdrudeConductQ,
223
+ confidence: 'established',
224
+ domain: domain('τ > 0 and m ≠ 0', (i) => finite(i['acdrude-n3']) &&
225
+ finite(i['acdrude-bandmass']) &&
226
+ i['acdrude-bandmass'] !== 0 &&
227
+ finite(i['acdrude-scatter']) &&
228
+ i['acdrude-scatter'] > 0 &&
229
+ finite(i['acdrude-radian'])),
230
+ evaluate: (i) => evaluateAcDrude({
231
+ n_per_m3: i['acdrude-n3'],
232
+ m_kg: i['acdrude-bandmass'],
233
+ tau_s: i['acdrude-scatter'],
234
+ omega_rad_s: i['acdrude-radian'],
235
+ }).sigma_S_per_m,
236
+ symbolic: ratio(prod(qsym(acdrudeN3Q), pow(csym('e'), lit(2)), qsym(acdrudeScatterQ)), prod(qsym(acdrudeBandmassQ), plus(lit(1), prod(pow(qsym(acdrudeRadianQ), lit(2)), pow(qsym(acdrudeScatterQ), lit(2)))))),
237
+ citation: 'PhysJS.AcDrude.ac_drude. Dropping the DC 1 is not this conductivity. Not be-123.',
238
+ });
239
+ /** BE-144 Matthiessen lifetime. One lifetime is not the parallel sum. @public */
240
+ export const be144Edge = withBoundAliases({
241
+ id: 'be-144',
242
+ beId: 144,
243
+ kind: 'law',
244
+ label: 'τ = 1 / (1/τ₁ + 1/τ₂)',
245
+ sources: [matthsumScatter1Q, matthsumScatter2Q],
246
+ aliases: {
247
+ 'matthsum-scatter1': ['tau1_s'],
248
+ 'matthsum-scatter2': ['tau2_s'],
249
+ },
250
+ target: matthsumScatterQ,
251
+ confidence: 'established',
252
+ domain: domain('τ₁ ≠ 0, τ₂ ≠ 0, and 1/τ₁ + 1/τ₂ ≠ 0', (i) => finite(i['matthsum-scatter1']) &&
253
+ i['matthsum-scatter1'] !== 0 &&
254
+ finite(i['matthsum-scatter2']) &&
255
+ i['matthsum-scatter2'] !== 0 &&
256
+ 1 / i['matthsum-scatter1'] + 1 / i['matthsum-scatter2'] !== 0),
257
+ evaluate: (i) => evaluateMatthiessen({
258
+ tau1_s: i['matthsum-scatter1'],
259
+ tau2_s: i['matthsum-scatter2'],
260
+ C_ohm_m_s: 1,
261
+ }).tau_s,
262
+ symbolic: ratio(lit(1), plus(ratio(lit(1), qsym(matthsumScatter1Q)), ratio(lit(1), qsym(matthsumScatter2Q)))),
263
+ citation: 'PhysJS.Matthiessen.matthiessen. The edge value is τ. ρ = ρ₁ + ρ₂ is the same rate sum.',
264
+ });
265
+ /** BE-145 Stoner susceptibility. Two bubbles are not the closed form. @public */
266
+ export const be145Edge = withBoundAliases({
267
+ id: 'be-145',
268
+ beId: 145,
269
+ kind: 'law',
270
+ label: 'χ = χ_P / (1 − I g(E_F))',
271
+ sources: [stonerchiPauliQ, stonerchiIgQ],
272
+ aliases: {
273
+ 'stonerchi-pauli': ['chi_P'],
274
+ 'stonerchi-ig': ['x'],
275
+ },
276
+ target: stonerchiEnhancedQ,
277
+ confidence: 'established',
278
+ domain: domain('|x| < 1', (i) => finite(i['stonerchi-pauli']) && finite(i['stonerchi-ig']) && Math.abs(i['stonerchi-ig']) < 1),
279
+ evaluate: (i) => evaluateStoner({ chi_P: i['stonerchi-pauli'], x: i['stonerchi-ig'] }).chi,
280
+ symbolic: ratio(qsym(stonerchiPauliQ), minus(lit(1), qsym(stonerchiIgQ))),
281
+ citation: 'PhysJS.Stoner.stoner. χ_P is be-94 and is not re-proved. The pole is the same formula.',
282
+ });
283
+ /** BE-146 Gorter–Casimir fraction. The edge value is n_s/n. @public */
284
+ export const be146Edge = withBoundAliases({
285
+ id: 'be-146',
286
+ beId: 146,
287
+ kind: 'law',
288
+ label: 'n_s/n = 1 − (T/T_c)^4',
289
+ sources: [gortercasWarmthQ, gortercasTcQ],
290
+ aliases: {
291
+ 'gortercas-warmth': ['T_K'],
292
+ 'gortercas-tc': ['Tc_K'],
293
+ },
294
+ target: gortercasNsQ,
295
+ confidence: 'established',
296
+ domain: domain('T_c > 0 and 0 ≤ T < T_c', (i) => finite(i['gortercas-tc']) &&
297
+ i['gortercas-tc'] > 0 &&
298
+ finite(i['gortercas-warmth']) &&
299
+ i['gortercas-warmth'] >= 0 &&
300
+ i['gortercas-warmth'] < i['gortercas-tc']),
301
+ evaluate: (i) => evaluateGorterCasimir({
302
+ T_K: i['gortercas-warmth'],
303
+ Tc_K: i['gortercas-tc'],
304
+ lambda0_m: 1,
305
+ }).ns_over_n,
306
+ symbolic: minus(lit(1), pow(ratio(qsym(gortercasWarmthQ), qsym(gortercasTcQ)), lit(4))),
307
+ citation: 'PhysJS.GorterCasimir.gorter_casimir. The exponent 4 is a hypothesis. λ(T) is on the result and is not this edge. Not be-75.',
308
+ });
309
+ /** Condensed-matter edges, in catalog-id order. @public */
310
+ export const CONDENSED_R8_EDGES = [
311
+ be134Edge,
312
+ be135Edge,
313
+ be136Edge,
314
+ be137Edge,
315
+ be138Edge,
316
+ be139Edge,
317
+ be140Edge,
318
+ be141Edge,
319
+ be142Edge,
320
+ be143Edge,
321
+ be144Edge,
322
+ be145Edge,
323
+ be146Edge,
324
+ ];
325
+ //# sourceMappingURL=condensed-r8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"condensed-r8.js","sourceRoot":"","sources":["../../../src/composition/edges/condensed-r8.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { type BridgeEdge } from '../edge.js';
2
+ /** BE-126 comb-drive lateral force. One sidewall is not this edge. @public */
3
+ export declare const be126Edge: BridgeEdge;
4
+ /** BE-127 subthreshold swing. The ideal diode drops C_d. @public */
5
+ export declare const be127Edge: BridgeEdge;
6
+ /** BE-128 ideal boost ratio. The buck ratio is D. @public */
7
+ export declare const be128Edge: BridgeEdge;
8
+ /** BE-129 adiabatic-tip fin efficiency. The edge value is η. @public */
9
+ export declare const be129Edge: BridgeEdge;
10
+ /** BE-130 thermoelectric generator efficiency. Carnot alone is not this edge. @public */
11
+ export declare const be130Edge: BridgeEdge;
12
+ /** BE-131 Joukowsky pressure. The edge value is Δp. @public */
13
+ export declare const be131Edge: BridgeEdge;
14
+ /** BE-132 coaxial capacitance per length. Dropping 2π is not this edge. @public */
15
+ export declare const be132Edge: BridgeEdge;
16
+ /** BE-133 damping ratio. Dropping the 2 is not this edge. @public */
17
+ export declare const be133Edge: BridgeEdge;
18
+ /** Engineering edges, in catalog-id order. @public */
19
+ export declare const ENGINEERING_R7_EDGES: readonly BridgeEdge[];
20
+ //# sourceMappingURL=engineering-r7.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engineering-r7.d.ts","sourceRoot":"","sources":["../../../src/composition/edges/engineering-r7.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AA4D/D,8EAA8E;AAC9E,eAAO,MAAM,SAAS,EAAE,UA8BtB,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,SAAS,EAAE,UAmCtB,CAAC;AAEH,6DAA6D;AAC7D,eAAO,MAAM,SAAS,EAAE,UActB,CAAC;AAEH,wEAAwE;AACxE,eAAO,MAAM,SAAS,EAAE,UAwCtB,CAAC;AAEH,yFAAyF;AACzF,eAAO,MAAM,SAAS,EAAE,UAsCtB,CAAC;AAEH,+DAA+D;AAC/D,eAAO,MAAM,SAAS,EAAE,UA0CtB,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,SAAS,EAAE,UA0BtB,CAAC;AAEH,qEAAqE;AACrE,eAAO,MAAM,SAAS,EAAE,UA0BtB,CAAC;AAEH,sDAAsD;AACtD,eAAO,MAAM,oBAAoB,EAAE,SAAS,UAAU,EASrD,CAAC"}
@@ -0,0 +1,262 @@
1
+ import { DIMENSIONLESS } from '../../dimensional/types.js';
2
+ import { CONSTANTS } from '../../dimensional/symbolic-constants.js';
3
+ import { evaluateBoostConverter, evaluateCoaxialCapacitance, evaluateCombDrive, evaluateDampingRatio, evaluateFinEfficiency, evaluateJoukowsky, evaluateSubthresholdSwing, evaluateThermoelectricGenerator, } from '../../bridges/engineering-r7.js';
4
+ import { withBoundAliases } from '../edge.js';
5
+ import { boostDutyQ, boostGainQ, coaxInnerQ, coaxLinerQ, coaxOuterQ, coaxSpecificQ, combAirgapQ, combBiasQ, combDielectricQ, combFingerCountQ, combLateralQ, combOverlapQ, dampingDashpotQ, dampingInertiaQ, dampingSpringQ, dampingZetaQ, finAdiabaticQ, finConductivityQ, finConvectionQ, finSpanQ, finWebQ, joukowskyBoreQ, joukowskyBulkQ, joukowskyClosureQ, joukowskyJumpQ, joukowskyRhoQ, joukowskyThkQ, joukowskyWallmodQ, swingDecadeQ, swingDepletionQ, swingKelvinQ, swingOxideQ, tegFigureQ, tegOptimumQ, tegSinkQ, tegSourceQ, } from '../quantities.js';
6
+ const finite = Number.isFinite;
7
+ const qsym = (q) => ({ kind: 'symbol', name: q.name, dim: q.dim });
8
+ const csym = (name) => ({ kind: 'symbol', name, dim: CONSTANTS[name].dim });
9
+ const lit = (n) => ({ kind: 'symbol', name: String(n), dim: DIMENSIONLESS });
10
+ const prod = (...args) => ({ kind: 'op', op: '*', args });
11
+ const plus = (...args) => ({ kind: 'op', op: '+', args });
12
+ const minus = (a, b) => ({ kind: 'op', op: '-', args: [a, b] });
13
+ const ratio = (num, den) => ({ kind: 'op', op: '/', args: [num, den] });
14
+ const pow = (base, exp) => ({ kind: 'op', op: '^', args: [base, exp] });
15
+ const sqrt = (base) => pow(base, lit(0.5));
16
+ const lnOf = (arg) => ({ kind: 'transcendental', fn: 'ln', arg });
17
+ const tanhOf = (arg) => ({ kind: 'transcendental', fn: 'tanh', arg });
18
+ const pi = { kind: 'symbol', name: 'pi', dim: DIMENSIONLESS };
19
+ const domain = (description, predicate) => ({
20
+ description,
21
+ predicate,
22
+ });
23
+ /** BE-126 comb-drive lateral force. One sidewall is not this edge. @public */
24
+ export const be126Edge = withBoundAliases({
25
+ id: 'be-126',
26
+ beId: 126,
27
+ kind: 'law',
28
+ label: 'Comb-drive force F = n ε h V² / g',
29
+ sources: [combFingerCountQ, combDielectricQ, combOverlapQ, combBiasQ, combAirgapQ],
30
+ aliases: {
31
+ 'comb-finger-count': ['n'],
32
+ 'comb-dielectric': ['eps_F_per_m'],
33
+ 'comb-overlap': ['h_m'],
34
+ 'comb-bias': ['V_volts'],
35
+ 'comb-airgap': ['g_m'],
36
+ },
37
+ target: combLateralQ,
38
+ confidence: 'established',
39
+ domain: domain('g ≠ 0', (i) => finite(i['comb-airgap']) && i['comb-airgap'] !== 0),
40
+ evaluate: (i) => evaluateCombDrive({
41
+ n: i['comb-finger-count'],
42
+ eps_F_per_m: i['comb-dielectric'],
43
+ h_m: i['comb-overlap'],
44
+ V_volts: i['comb-bias'],
45
+ g_m: i['comb-airgap'],
46
+ }).F_N,
47
+ symbolic: ratio(prod(qsym(combFingerCountQ), qsym(combDielectricQ), qsym(combOverlapQ), pow(qsym(combBiasQ), lit(2))), qsym(combAirgapQ)),
48
+ citation: 'PhysJS.CombDrive.force_eq. Both sidewalls and the coenergy 1/2 cancel. One sidewall leaves the 1/2. Not be-79.',
49
+ });
50
+ /** BE-127 subthreshold swing. The ideal diode drops C_d. @public */
51
+ export const be127Edge = withBoundAliases({
52
+ id: 'be-127',
53
+ beId: 127,
54
+ kind: 'law',
55
+ label: 'Subthreshold swing S = ln(10) (k_B T / e) (1 + C_d / C_ox)',
56
+ sources: [swingKelvinQ, swingDepletionQ, swingOxideQ],
57
+ aliases: {
58
+ 'swing-kelvin': ['T_K'],
59
+ 'swing-depletion': ['Cd_F'],
60
+ 'swing-oxide': ['Cox_F'],
61
+ },
62
+ target: swingDecadeQ,
63
+ confidence: 'established',
64
+ domain: domain('T ≠ 0, C_ox ≠ 0, and C_ox + C_d ≠ 0', (i) => finite(i['swing-kelvin']) &&
65
+ i['swing-kelvin'] !== 0 &&
66
+ finite(i['swing-oxide']) &&
67
+ i['swing-oxide'] !== 0 &&
68
+ i['swing-oxide'] + i['swing-depletion'] !== 0),
69
+ evaluate: (i) => evaluateSubthresholdSwing({
70
+ T_K: i['swing-kelvin'],
71
+ Cd_F: i['swing-depletion'],
72
+ Cox_F: i['swing-oxide'],
73
+ }).S_V_per_decade,
74
+ symbolic: prod(lnOf(lit(10)), ratio(prod(csym('k_B'), qsym(swingKelvinQ)), csym('e')), plus(lit(1), ratio(qsym(swingDepletionQ), qsym(swingOxideQ)))),
75
+ citation: 'PhysJS.SubthresholdSwing.swing_eq. e is the elementary charge. Dropping C_d is not the swing when C_d ≠ 0. Not be-82.',
76
+ });
77
+ /** BE-128 ideal boost ratio. The buck ratio is D. @public */
78
+ export const be128Edge = withBoundAliases({
79
+ id: 'be-128',
80
+ beId: 128,
81
+ kind: 'law',
82
+ label: 'Boost ratio V_out/V_in = 1/(1 − D)',
83
+ sources: [boostDutyQ],
84
+ aliases: { 'boost-duty': ['D'] },
85
+ target: boostGainQ,
86
+ confidence: 'established',
87
+ domain: domain('D ≠ 1', (i) => finite(i['boost-duty']) && i['boost-duty'] !== 1),
88
+ evaluate: (i) => evaluateBoostConverter({ D: i['boost-duty'] }).ratio,
89
+ symbolic: ratio(lit(1), minus(lit(1), qsym(boostDutyQ))),
90
+ citation: 'PhysJS.BoostConverter.boost_ratio. Volt-second balance. No real duty equals both this ratio and the buck ratio D.',
91
+ });
92
+ /** BE-129 adiabatic-tip fin efficiency. The edge value is η. @public */
93
+ export const be129Edge = withBoundAliases({
94
+ id: 'be-129',
95
+ beId: 129,
96
+ kind: 'law',
97
+ label: 'Fin efficiency η = tanh(m L)/(m L), m = √(2 h/(k t))',
98
+ sources: [finConvectionQ, finConductivityQ, finWebQ, finSpanQ],
99
+ aliases: {
100
+ 'fin-convection': ['h_W_per_m2_K'],
101
+ 'fin-conductivity': ['k_W_per_m_K'],
102
+ 'fin-web': ['t_m'],
103
+ 'fin-span': ['L_fin_m'],
104
+ },
105
+ target: finAdiabaticQ,
106
+ confidence: 'established',
107
+ domain: domain('k > 0, t > 0, h > 0, and L ≠ 0', (i) => finite(i['fin-conductivity']) &&
108
+ i['fin-conductivity'] > 0 &&
109
+ finite(i['fin-web']) &&
110
+ i['fin-web'] > 0 &&
111
+ finite(i['fin-convection']) &&
112
+ i['fin-convection'] > 0 &&
113
+ finite(i['fin-span']) &&
114
+ i['fin-span'] !== 0),
115
+ evaluate: (i) => evaluateFinEfficiency({
116
+ h_W_per_m2_K: i['fin-convection'],
117
+ k_W_per_m_K: i['fin-conductivity'],
118
+ t_m: i['fin-web'],
119
+ L_fin_m: i['fin-span'],
120
+ }).eta,
121
+ symbolic: (() => {
122
+ const m = sqrt(ratio(prod(lit(2), qsym(finConvectionQ)), prod(qsym(finConductivityQ), qsym(finWebQ))));
123
+ const mL = prod(m, qsym(finSpanQ));
124
+ return ratio(tanhOf(mL), mL);
125
+ })(),
126
+ citation: 'PhysJS.FinEfficiency.efficiency_eq. One face is not that m. tanh is not 1, so this is not an infinite fin.',
127
+ });
128
+ /** BE-130 thermoelectric generator efficiency. Carnot alone is not this edge. @public */
129
+ export const be130Edge = withBoundAliases({
130
+ id: 'be-130',
131
+ beId: 130,
132
+ kind: 'law',
133
+ label: 'Thermoelectric efficiency at the stationary current',
134
+ sources: [tegSourceQ, tegSinkQ, tegFigureQ],
135
+ aliases: {
136
+ 'teg-source': ['Th_K'],
137
+ 'teg-sink': ['Tc_K'],
138
+ 'teg-figure': ['Z_per_K'],
139
+ },
140
+ target: tegOptimumQ,
141
+ confidence: 'established',
142
+ domain: domain('T_h ≠ 0, 1 + Z T_m ≥ 0, and the denominator ≠ 0', (i) => {
143
+ if (!finite(i['teg-source']) || i['teg-source'] === 0)
144
+ return false;
145
+ if (!finite(i['teg-sink']) || !finite(i['teg-figure']))
146
+ return false;
147
+ const mean = (i['teg-source'] + i['teg-sink']) / 2;
148
+ const inside = 1 + i['teg-figure'] * mean;
149
+ if (inside < 0)
150
+ return false;
151
+ return Math.sqrt(inside) + i['teg-sink'] / i['teg-source'] !== 0;
152
+ }),
153
+ evaluate: (i) => evaluateThermoelectricGenerator({
154
+ Th_K: i['teg-source'],
155
+ Tc_K: i['teg-sink'],
156
+ Z_per_K: i['teg-figure'],
157
+ }).eta,
158
+ symbolic: (() => {
159
+ const mean = prod(plus(qsym(tegSourceQ), qsym(tegSinkQ)), lit(0.5));
160
+ const m = sqrt(plus(lit(1), prod(qsym(tegFigureQ), mean)));
161
+ const carnot = minus(lit(1), ratio(qsym(tegSinkQ), qsym(tegSourceQ)));
162
+ return ratio(prod(carnot, minus(m, lit(1))), plus(m, ratio(qsym(tegSinkQ), qsym(tegSourceQ))));
163
+ })(),
164
+ citation: 'PhysJS.ThermoelectricGenerator.efficiency_eq. Matched load m = 1 is not stationary when Z T_m ≠ 0. The Carnot factor alone is not this efficiency.',
165
+ });
166
+ /** BE-131 Joukowsky pressure. The edge value is Δp. @public */
167
+ export const be131Edge = withBoundAliases({
168
+ id: 'be-131',
169
+ beId: 131,
170
+ kind: 'law',
171
+ label: 'Joukowsky pressure Δp = ρ c Δv',
172
+ sources: [joukowskyRhoQ, joukowskyClosureQ, joukowskyBulkQ, joukowskyWallmodQ, joukowskyBoreQ, joukowskyThkQ],
173
+ aliases: {
174
+ 'joukowsky-rho': ['rho_kg_per_m3'],
175
+ 'joukowsky-closure': ['dv_m_per_s'],
176
+ 'joukowsky-bulk': ['K_Pa'],
177
+ 'joukowsky-wallmod': ['E_Pa'],
178
+ 'joukowsky-bore': ['pipe_D_m'],
179
+ 'joukowsky-thk': ['wall_m'],
180
+ },
181
+ target: joukowskyJumpQ,
182
+ confidence: 'established',
183
+ domain: domain('ρ > 0, K > 0, E > 0, e_wall > 0, and 1 + (K/E)(D/e_wall) > 0', (i) => {
184
+ if (!(i['joukowsky-rho'] > 0 && i['joukowsky-bulk'] > 0 && i['joukowsky-wallmod'] > 0 && i['joukowsky-thk'] > 0)) {
185
+ return false;
186
+ }
187
+ const wall = (i['joukowsky-bulk'] / i['joukowsky-wallmod']) * (i['joukowsky-bore'] / i['joukowsky-thk']);
188
+ return 1 + wall > 0;
189
+ }),
190
+ evaluate: (i) => evaluateJoukowsky({
191
+ rho_kg_per_m3: i['joukowsky-rho'],
192
+ dv_m_per_s: i['joukowsky-closure'],
193
+ K_Pa: i['joukowsky-bulk'],
194
+ E_Pa: i['joukowsky-wallmod'],
195
+ pipe_D_m: i['joukowsky-bore'],
196
+ wall_m: i['joukowsky-thk'],
197
+ }).delta_p_Pa,
198
+ symbolic: (() => {
199
+ const wall = prod(ratio(qsym(joukowskyBulkQ), qsym(joukowskyWallmodQ)), ratio(qsym(joukowskyBoreQ), qsym(joukowskyThkQ)));
200
+ const c = ratio(sqrt(ratio(qsym(joukowskyBulkQ), qsym(joukowskyRhoQ))), sqrt(plus(lit(1), wall)));
201
+ return prod(qsym(joukowskyRhoQ), c, qsym(joukowskyClosureQ));
202
+ })(),
203
+ citation: 'PhysJS.Joukowsky.joukowsky_eq. ρ (Δv)² is not ρ c Δv when c ≠ Δv. Dropping the wall term is the rigid-pipe speed.',
204
+ });
205
+ /** BE-132 coaxial capacitance per length. Dropping 2π is not this edge. @public */
206
+ export const be132Edge = withBoundAliases({
207
+ id: 'be-132',
208
+ beId: 132,
209
+ kind: 'law',
210
+ label: "Coaxial C' = 2 π ε / ln(b/a)",
211
+ sources: [coaxLinerQ, coaxInnerQ, coaxOuterQ],
212
+ aliases: {
213
+ 'coax-liner': ['eps_F_per_m'],
214
+ 'coax-inner': ['a_m'],
215
+ 'coax-outer': ['b_m'],
216
+ },
217
+ target: coaxSpecificQ,
218
+ confidence: 'established',
219
+ domain: domain('a > 0, b > 0, a ≠ b, and ε ≠ 0', (i) => i['coax-inner'] > 0 && i['coax-outer'] > 0 && i['coax-inner'] !== i['coax-outer'] && i['coax-liner'] !== 0),
220
+ evaluate: (i) => evaluateCoaxialCapacitance({
221
+ eps_F_per_m: i['coax-liner'],
222
+ a_m: i['coax-inner'],
223
+ b_m: i['coax-outer'],
224
+ }).C_F_per_m,
225
+ symbolic: ratio(prod(lit(2), pi, qsym(coaxLinerQ)), lnOf(ratio(qsym(coaxOuterQ), qsym(coaxInnerQ)))),
226
+ citation: 'PhysJS.CoaxialCapacitance.capacitance_per_length. Dropping 2 π is not this capacitance. Not a parallel-plate ε A/d.',
227
+ });
228
+ /** BE-133 damping ratio. Dropping the 2 is not this edge. @public */
229
+ export const be133Edge = withBoundAliases({
230
+ id: 'be-133',
231
+ beId: 133,
232
+ kind: 'law',
233
+ label: 'Damping ratio ζ = c / (2 √(k m))',
234
+ sources: [dampingDashpotQ, dampingSpringQ, dampingInertiaQ],
235
+ aliases: {
236
+ 'damping-dashpot': ['c_kg_per_s'],
237
+ 'damping-spring': ['k_N_per_m'],
238
+ 'damping-inertia': ['m_kg'],
239
+ },
240
+ target: dampingZetaQ,
241
+ confidence: 'established',
242
+ domain: domain('m > 0 and k > 0', (i) => i['damping-inertia'] > 0 && i['damping-spring'] > 0),
243
+ evaluate: (i) => evaluateDampingRatio({
244
+ c_kg_per_s: i['damping-dashpot'],
245
+ k_N_per_m: i['damping-spring'],
246
+ m_kg: i['damping-inertia'],
247
+ }).zeta,
248
+ symbolic: ratio(qsym(dampingDashpotQ), prod(lit(2), sqrt(prod(qsym(dampingSpringQ), qsym(dampingInertiaQ))))),
249
+ citation: 'PhysJS.DampingRatio.damping_ratio. For c ≥ 0 the discriminant vanishes iff ζ = 1. Dropping the 2 is not this ratio.',
250
+ });
251
+ /** Engineering edges, in catalog-id order. @public */
252
+ export const ENGINEERING_R7_EDGES = [
253
+ be126Edge,
254
+ be127Edge,
255
+ be128Edge,
256
+ be129Edge,
257
+ be130Edge,
258
+ be131Edge,
259
+ be132Edge,
260
+ be133Edge,
261
+ ];
262
+ //# sourceMappingURL=engineering-r7.js.map