universal-physics-tensor 5.0.0 → 6.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 (374) hide show
  1. package/README.md +11 -11
  2. package/dist/atlas/bridge-record.d.ts +26 -0
  3. package/dist/atlas/bridge-record.d.ts.map +1 -0
  4. package/dist/atlas/bridge-record.js +31 -0
  5. package/dist/atlas/bridge-record.js.map +1 -0
  6. package/dist/atlas/catalog-formal-ref.js +9 -9
  7. package/dist/atlas/catalog-formal-ref.js.map +1 -1
  8. package/dist/atlas/chain-pipeline.d.ts +18 -4
  9. package/dist/atlas/chain-pipeline.d.ts.map +1 -1
  10. package/dist/atlas/chain-pipeline.js +14 -4
  11. package/dist/atlas/chain-pipeline.js.map +1 -1
  12. package/dist/atlas/composition-table.d.ts +6 -7
  13. package/dist/atlas/composition-table.d.ts.map +1 -1
  14. package/dist/atlas/composition-table.js +6 -7
  15. package/dist/atlas/composition-table.js.map +1 -1
  16. package/dist/atlas/diffusion/numerics.d.ts +1 -1
  17. package/dist/atlas/diffusion/numerics.d.ts.map +1 -1
  18. package/dist/atlas/diffusion/numerics.js +5 -12
  19. package/dist/atlas/diffusion/numerics.js.map +1 -1
  20. package/dist/atlas/oscillators/limit-witnesses.d.ts +2 -1
  21. package/dist/atlas/oscillators/limit-witnesses.d.ts.map +1 -1
  22. package/dist/atlas/oscillators/limit-witnesses.js +29 -44
  23. package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
  24. package/dist/atlas/oscillators/pendulum-motion.d.ts +6 -1
  25. package/dist/atlas/oscillators/pendulum-motion.d.ts.map +1 -1
  26. package/dist/atlas/oscillators/pendulum-motion.js +10 -10
  27. package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
  28. package/dist/atlas/path-bound.d.ts +6 -3
  29. package/dist/atlas/path-bound.d.ts.map +1 -1
  30. package/dist/atlas/path-bound.js +6 -2
  31. package/dist/atlas/path-bound.js.map +1 -1
  32. package/dist/atlas/physjs-entries.generated.d.ts +1047 -0
  33. package/dist/atlas/physjs-entries.generated.d.ts.map +1 -0
  34. package/dist/atlas/physjs-entries.generated.js +1154 -0
  35. package/dist/atlas/physjs-entries.generated.js.map +1 -0
  36. package/dist/atlas/physjs-ref.d.ts +39 -9
  37. package/dist/atlas/physjs-ref.d.ts.map +1 -1
  38. package/dist/atlas/physjs-ref.js +56 -884
  39. package/dist/atlas/physjs-ref.js.map +1 -1
  40. package/dist/atlas/regime.d.ts +6 -3
  41. package/dist/atlas/regime.d.ts.map +1 -1
  42. package/dist/atlas/regime.js +6 -3
  43. package/dist/atlas/regime.js.map +1 -1
  44. package/dist/bridges/be100-lyddane-sachs-teller.d.ts +3 -3
  45. package/dist/bridges/be100-lyddane-sachs-teller.js +1 -1
  46. package/dist/bridges/be101-bkt-jump.d.ts +3 -3
  47. package/dist/bridges/be101-bkt-jump.js +1 -1
  48. package/dist/bridges/be102-landauer-conductance.d.ts +3 -3
  49. package/dist/bridges/be102-landauer-conductance.js +1 -1
  50. package/dist/bridges/be55-quantum-hall.d.ts +3 -3
  51. package/dist/bridges/be55-quantum-hall.d.ts.map +1 -1
  52. package/dist/bridges/be55-quantum-hall.js +1 -1
  53. package/dist/bridges/be56-casimir.d.ts +3 -3
  54. package/dist/bridges/be56-casimir.d.ts.map +1 -1
  55. package/dist/bridges/be56-casimir.js +1 -1
  56. package/dist/bridges/be57-unruh.d.ts +3 -3
  57. package/dist/bridges/be57-unruh.d.ts.map +1 -1
  58. package/dist/bridges/be57-unruh.js +1 -1
  59. package/dist/bridges/be58-johnson-nyquist.d.ts +3 -3
  60. package/dist/bridges/be58-johnson-nyquist.d.ts.map +1 -1
  61. package/dist/bridges/be58-johnson-nyquist.js +1 -1
  62. package/dist/bridges/be59-ac-josephson.d.ts +3 -3
  63. package/dist/bridges/be59-ac-josephson.d.ts.map +1 -1
  64. package/dist/bridges/be59-ac-josephson.js +1 -1
  65. package/dist/bridges/be60-fractional-qh.d.ts +3 -3
  66. package/dist/bridges/be60-fractional-qh.d.ts.map +1 -1
  67. package/dist/bridges/be60-fractional-qh.js +1 -1
  68. package/dist/bridges/be61-wiedemann-franz.d.ts +3 -3
  69. package/dist/bridges/be61-wiedemann-franz.d.ts.map +1 -1
  70. package/dist/bridges/be61-wiedemann-franz.js +1 -1
  71. package/dist/bridges/be62-bcs-gap.d.ts +3 -3
  72. package/dist/bridges/be62-bcs-gap.d.ts.map +1 -1
  73. package/dist/bridges/be62-bcs-gap.js +1 -1
  74. package/dist/bridges/be63-chandrasekhar-mass.d.ts +3 -3
  75. package/dist/bridges/be63-chandrasekhar-mass.d.ts.map +1 -1
  76. package/dist/bridges/be63-chandrasekhar-mass.js +1 -1
  77. package/dist/bridges/be64-eddington-luminosity.d.ts +3 -3
  78. package/dist/bridges/be64-eddington-luminosity.d.ts.map +1 -1
  79. package/dist/bridges/be64-eddington-luminosity.js +1 -1
  80. package/dist/bridges/be65-jeans-mass.d.ts +3 -3
  81. package/dist/bridges/be65-jeans-mass.d.ts.map +1 -1
  82. package/dist/bridges/be65-jeans-mass.js +1 -1
  83. package/dist/bridges/be66-radiation-pressure.d.ts +3 -3
  84. package/dist/bridges/be66-radiation-pressure.js +1 -1
  85. package/dist/bridges/be67-alfven-speed.d.ts +5 -18
  86. package/dist/bridges/be67-alfven-speed.d.ts.map +1 -1
  87. package/dist/bridges/be67-alfven-speed.js +3 -2
  88. package/dist/bridges/be67-alfven-speed.js.map +1 -1
  89. package/dist/bridges/be68-tolman-ehrenfest.d.ts +3 -3
  90. package/dist/bridges/be68-tolman-ehrenfest.js +1 -1
  91. package/dist/bridges/be69-fast-magnetosonic.d.ts +3 -3
  92. package/dist/bridges/be69-fast-magnetosonic.js +1 -1
  93. package/dist/bridges/be70-einstein-relation.d.ts +3 -3
  94. package/dist/bridges/be70-einstein-relation.d.ts.map +1 -1
  95. package/dist/bridges/be70-einstein-relation.js +8 -3
  96. package/dist/bridges/be70-einstein-relation.js.map +1 -1
  97. package/dist/bridges/be71-clapeyron.d.ts +3 -3
  98. package/dist/bridges/be71-clapeyron.js +1 -1
  99. package/dist/bridges/be72-gravitational-redshift.d.ts +3 -3
  100. package/dist/bridges/be72-gravitational-redshift.js +1 -1
  101. package/dist/bridges/be73-kelvin-peltier.d.ts +3 -3
  102. package/dist/bridges/be73-kelvin-peltier.js +1 -1
  103. package/dist/bridges/be74-magnetic-pressure.d.ts +3 -3
  104. package/dist/bridges/be74-magnetic-pressure.js +1 -1
  105. package/dist/bridges/be75-london-penetration.d.ts +3 -3
  106. package/dist/bridges/be75-london-penetration.js +1 -1
  107. package/dist/bridges/be76-plasma-beta.d.ts +3 -3
  108. package/dist/bridges/be76-plasma-beta.js +1 -1
  109. package/dist/bridges/be77-hagen-poiseuille.d.ts +3 -3
  110. package/dist/bridges/be77-hagen-poiseuille.js +1 -1
  111. package/dist/bridges/be78-euler-buckling.d.ts +3 -3
  112. package/dist/bridges/be78-euler-buckling.js +1 -1
  113. package/dist/bridges/be79-pull-in.d.ts +3 -3
  114. package/dist/bridges/be79-pull-in.js +1 -1
  115. package/dist/bridges/be80-mott-gurney.d.ts +3 -3
  116. package/dist/bridges/be80-mott-gurney.js +1 -1
  117. package/dist/bridges/be81-child-langmuir.d.ts +3 -3
  118. package/dist/bridges/be81-child-langmuir.js +1 -1
  119. package/dist/bridges/be82-shockley-diode.d.ts +3 -3
  120. package/dist/bridges/be82-shockley-diode.js +1 -1
  121. package/dist/bridges/be83-thomson.d.ts +3 -3
  122. package/dist/bridges/be83-thomson.js +1 -1
  123. package/dist/bridges/be84-four-point.d.ts +3 -3
  124. package/dist/bridges/be84-four-point.js +1 -1
  125. package/dist/bridges/be85-shot-noise.d.ts +3 -3
  126. package/dist/bridges/be85-shot-noise.js +1 -1
  127. package/dist/bridges/be86-reynolds-analogy.d.ts +3 -3
  128. package/dist/bridges/be86-reynolds-analogy.js +1 -1
  129. package/dist/bridges/be87-capacitor-noise.d.ts +3 -3
  130. package/dist/bridges/be87-capacitor-noise.js +1 -1
  131. package/dist/bridges/be88-fermi-sea.d.ts +3 -3
  132. package/dist/bridges/be88-fermi-sea.js +1 -1
  133. package/dist/bridges/be89-debye-cutoff.d.ts +3 -3
  134. package/dist/bridges/be89-debye-cutoff.js +1 -1
  135. package/dist/bridges/be90-debye-heat.d.ts +3 -3
  136. package/dist/bridges/be90-debye-heat.js +1 -1
  137. package/dist/bridges/be91-einstein-solid.d.ts +3 -3
  138. package/dist/bridges/be91-einstein-solid.js +1 -1
  139. package/dist/bridges/be92-sommerfeld-heat.d.ts +3 -3
  140. package/dist/bridges/be92-sommerfeld-heat.js +1 -1
  141. package/dist/bridges/be93-curie-weiss.d.ts +3 -3
  142. package/dist/bridges/be93-curie-weiss.js +1 -1
  143. package/dist/bridges/be94-pauli-paramagnetism.d.ts +3 -3
  144. package/dist/bridges/be94-pauli-paramagnetism.js +1 -1
  145. package/dist/bridges/be95-ginzburg-landau.d.ts +3 -3
  146. package/dist/bridges/be95-ginzburg-landau.js +1 -1
  147. package/dist/bridges/be96-upper-critical.d.ts +3 -3
  148. package/dist/bridges/be96-upper-critical.js +1 -1
  149. package/dist/bridges/be97-ambegaokar-baratoff.d.ts +3 -3
  150. package/dist/bridges/be97-ambegaokar-baratoff.js +1 -1
  151. package/dist/bridges/be98-bcs-jump.d.ts +3 -3
  152. package/dist/bridges/be98-bcs-jump.js +1 -1
  153. package/dist/bridges/be99-mass-action.d.ts +3 -3
  154. package/dist/bridges/be99-mass-action.js +1 -1
  155. package/dist/bridges/bridge-equations.d.ts +1 -1
  156. package/dist/bridges/bridge-equations.js +1 -1
  157. package/dist/bridges/carrier-sign.d.ts +23 -9
  158. package/dist/bridges/carrier-sign.d.ts.map +1 -1
  159. package/dist/bridges/carrier-sign.js +67 -20
  160. package/dist/bridges/carrier-sign.js.map +1 -1
  161. package/dist/bridges/equations/be-19-quantum-bounce.d.ts.map +1 -1
  162. package/dist/bridges/equations/be-19-quantum-bounce.js +1 -5
  163. package/dist/bridges/equations/be-19-quantum-bounce.js.map +1 -1
  164. package/dist/bridges/equations/be-20-vacuum-energy.d.ts +6 -4
  165. package/dist/bridges/equations/be-20-vacuum-energy.d.ts.map +1 -1
  166. package/dist/bridges/equations/be-20-vacuum-energy.js +7 -5
  167. package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -1
  168. package/dist/bridges/equations/be-54-randall-sundrum-brane.d.ts.map +1 -1
  169. package/dist/bridges/equations/be-54-randall-sundrum-brane.js +2 -6
  170. package/dist/bridges/equations/be-54-randall-sundrum-brane.js.map +1 -1
  171. package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
  172. package/dist/bridges/evaluator-inputs.js +14 -8
  173. package/dist/bridges/evaluator-inputs.js.map +1 -1
  174. package/dist/bridges/evaluators.d.ts +2 -5
  175. package/dist/bridges/evaluators.d.ts.map +1 -1
  176. package/dist/bridges/evaluators.js +41 -17
  177. package/dist/bridges/evaluators.js.map +1 -1
  178. package/dist/bridges/gravitational-lensing.d.ts +3 -3
  179. package/dist/bridges/gravitational-lensing.js +1 -1
  180. package/dist/bridges/index.d.ts +16 -11
  181. package/dist/bridges/index.d.ts.map +1 -1
  182. package/dist/bridges/index.js +19 -8
  183. package/dist/bridges/index.js.map +1 -1
  184. package/dist/bridges/perihelion-precession.d.ts +3 -3
  185. package/dist/bridges/perihelion-precession.js +1 -1
  186. package/dist/bridges/plasma-catalog.d.ts +29 -0
  187. package/dist/bridges/plasma-catalog.d.ts.map +1 -0
  188. package/dist/bridges/plasma-catalog.js +427 -0
  189. package/dist/bridges/plasma-catalog.js.map +1 -0
  190. package/dist/bridges/plasma-space.d.ts +310 -0
  191. package/dist/bridges/plasma-space.d.ts.map +1 -0
  192. package/dist/bridges/plasma-space.js +262 -0
  193. package/dist/bridges/plasma-space.js.map +1 -0
  194. package/dist/bridges/registry.d.ts +60 -0
  195. package/dist/bridges/registry.d.ts.map +1 -0
  196. package/dist/bridges/registry.js +87 -0
  197. package/dist/bridges/registry.js.map +1 -0
  198. package/dist/bridges/rhs-registry.d.ts +1 -5
  199. package/dist/bridges/rhs-registry.d.ts.map +1 -1
  200. package/dist/bridges/rhs-registry.js +7 -2
  201. package/dist/bridges/rhs-registry.js.map +1 -1
  202. package/dist/canonical/entries/_l1-build.d.ts +6 -2
  203. package/dist/canonical/entries/_l1-build.d.ts.map +1 -1
  204. package/dist/canonical/entries/_l1-build.js +7 -3
  205. package/dist/canonical/entries/_l1-build.js.map +1 -1
  206. package/dist/canonical/entries/electromagnetism.js +2 -2
  207. package/dist/canonical/entries/electromagnetism.js.map +1 -1
  208. package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
  209. package/dist/canonical/entries/fluids-waves.js +4 -2
  210. package/dist/canonical/entries/fluids-waves.js.map +1 -1
  211. package/dist/canonical/normal-form.js +5 -7
  212. package/dist/canonical/normal-form.js.map +1 -1
  213. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  214. package/dist/cli/commands/_discovery-opts.js +23 -12
  215. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  216. package/dist/cli/commands/discover.d.ts.map +1 -1
  217. package/dist/cli/commands/discover.js +2 -1
  218. package/dist/cli/commands/discover.js.map +1 -1
  219. package/dist/cli/commands/eval.d.ts.map +1 -1
  220. package/dist/cli/commands/eval.js +7 -15
  221. package/dist/cli/commands/eval.js.map +1 -1
  222. package/dist/cli/commands/explain.d.ts.map +1 -1
  223. package/dist/cli/commands/explain.js +42 -13
  224. package/dist/cli/commands/explain.js.map +1 -1
  225. package/dist/cli/commands/path.d.ts.map +1 -1
  226. package/dist/cli/commands/path.js +8 -2
  227. package/dist/cli/commands/path.js.map +1 -1
  228. package/dist/cli/commands/regime.d.ts.map +1 -1
  229. package/dist/cli/commands/regime.js +15 -8
  230. package/dist/cli/commands/regime.js.map +1 -1
  231. package/dist/cli/commands/search.d.ts.map +1 -1
  232. package/dist/cli/commands/search.js +6 -1
  233. package/dist/cli/commands/search.js.map +1 -1
  234. package/dist/cli/record.d.ts +0 -4
  235. package/dist/cli/record.d.ts.map +1 -1
  236. package/dist/cli/record.js +14 -27
  237. package/dist/cli/record.js.map +1 -1
  238. package/dist/cli/search-index.d.ts +10 -2
  239. package/dist/cli/search-index.d.ts.map +1 -1
  240. package/dist/cli/search-index.js +104 -4
  241. package/dist/cli/search-index.js.map +1 -1
  242. package/dist/cli-api.d.ts +1 -1
  243. package/dist/cli-api.d.ts.map +1 -1
  244. package/dist/cli-api.js +1 -1
  245. package/dist/cli-api.js.map +1 -1
  246. package/dist/composition/aliases.d.ts +31 -1
  247. package/dist/composition/aliases.d.ts.map +1 -1
  248. package/dist/composition/aliases.js +73 -21
  249. package/dist/composition/aliases.js.map +1 -1
  250. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  251. package/dist/composition/bridge-analysis.js +20 -7
  252. package/dist/composition/bridge-analysis.js.map +1 -1
  253. package/dist/composition/canonical-compare.d.ts.map +1 -1
  254. package/dist/composition/canonical-compare.js +2 -13
  255. package/dist/composition/canonical-compare.js.map +1 -1
  256. package/dist/composition/canonical-graph.d.ts +16 -7
  257. package/dist/composition/canonical-graph.d.ts.map +1 -1
  258. package/dist/composition/canonical-graph.js +279 -18
  259. package/dist/composition/canonical-graph.js.map +1 -1
  260. package/dist/composition/canonical-json.d.ts +68 -0
  261. package/dist/composition/canonical-json.d.ts.map +1 -0
  262. package/dist/composition/canonical-json.js +98 -0
  263. package/dist/composition/canonical-json.js.map +1 -0
  264. package/dist/composition/catalog-graph.d.ts +4 -16
  265. package/dist/composition/catalog-graph.d.ts.map +1 -1
  266. package/dist/composition/catalog-graph.js +13 -13
  267. package/dist/composition/catalog-graph.js.map +1 -1
  268. package/dist/composition/edge.d.ts +24 -1
  269. package/dist/composition/edge.d.ts.map +1 -1
  270. package/dist/composition/edge.js +32 -1
  271. package/dist/composition/edge.js.map +1 -1
  272. package/dist/composition/edges/applied-physicist.d.ts.map +1 -1
  273. package/dist/composition/edges/applied-physicist.js +2 -4
  274. package/dist/composition/edges/applied-physicist.js.map +1 -1
  275. package/dist/composition/edges/calibration.d.ts.map +1 -1
  276. package/dist/composition/edges/calibration.js +2 -0
  277. package/dist/composition/edges/calibration.js.map +1 -1
  278. package/dist/composition/edges/catalog-tranche.d.ts.map +1 -1
  279. package/dist/composition/edges/catalog-tranche.js +0 -9
  280. package/dist/composition/edges/catalog-tranche.js.map +1 -1
  281. package/dist/composition/edges/plasma-space.d.ts +50 -0
  282. package/dist/composition/edges/plasma-space.d.ts.map +1 -0
  283. package/dist/composition/edges/plasma-space.js +481 -0
  284. package/dist/composition/edges/plasma-space.js.map +1 -0
  285. package/dist/composition/evaluate-relation.d.ts +37 -0
  286. package/dist/composition/evaluate-relation.d.ts.map +1 -0
  287. package/dist/composition/evaluate-relation.js +47 -0
  288. package/dist/composition/evaluate-relation.js.map +1 -0
  289. package/dist/composition/explain.d.ts +6 -0
  290. package/dist/composition/explain.d.ts.map +1 -1
  291. package/dist/composition/explain.js +102 -13
  292. package/dist/composition/explain.js.map +1 -1
  293. package/dist/composition/expr-eval.d.ts +7 -6
  294. package/dist/composition/expr-eval.d.ts.map +1 -1
  295. package/dist/composition/expr-eval.js +57 -94
  296. package/dist/composition/expr-eval.js.map +1 -1
  297. package/dist/composition/index.d.ts +8 -1
  298. package/dist/composition/index.d.ts.map +1 -1
  299. package/dist/composition/index.js +6 -1
  300. package/dist/composition/index.js.map +1 -1
  301. package/dist/composition/probe/index.d.ts +2 -2
  302. package/dist/composition/probe/index.d.ts.map +1 -1
  303. package/dist/composition/probe/index.js +2 -2
  304. package/dist/composition/probe/index.js.map +1 -1
  305. package/dist/composition/probe/run-manifest.d.ts +7 -3
  306. package/dist/composition/probe/run-manifest.d.ts.map +1 -1
  307. package/dist/composition/probe/run-manifest.js +7 -9
  308. package/dist/composition/probe/run-manifest.js.map +1 -1
  309. package/dist/composition/probe/search-budget.d.ts +6 -2
  310. package/dist/composition/probe/search-budget.d.ts.map +1 -1
  311. package/dist/composition/probe/search-budget.js +6 -1
  312. package/dist/composition/probe/search-budget.js.map +1 -1
  313. package/dist/composition/probe/serialize.d.ts +4 -23
  314. package/dist/composition/probe/serialize.d.ts.map +1 -1
  315. package/dist/composition/probe/serialize.js +4 -51
  316. package/dist/composition/probe/serialize.js.map +1 -1
  317. package/dist/composition/quantities/_dims.d.ts +6 -2
  318. package/dist/composition/quantities/_dims.d.ts.map +1 -1
  319. package/dist/composition/quantities/_dims.js +6 -2
  320. package/dist/composition/quantities/_dims.js.map +1 -1
  321. package/dist/composition/quantities/plasma-space.d.ts +178 -0
  322. package/dist/composition/quantities/plasma-space.d.ts.map +1 -0
  323. package/dist/composition/quantities/plasma-space.js +185 -0
  324. package/dist/composition/quantities/plasma-space.js.map +1 -0
  325. package/dist/composition/quantities.d.ts +1 -0
  326. package/dist/composition/quantities.d.ts.map +1 -1
  327. package/dist/composition/quantities.js +1 -0
  328. package/dist/composition/quantities.js.map +1 -1
  329. package/dist/composition/retrodiction.d.ts.map +1 -1
  330. package/dist/composition/retrodiction.js +20 -6
  331. package/dist/composition/retrodiction.js.map +1 -1
  332. package/dist/composition/user-equation.d.ts +4 -2
  333. package/dist/composition/user-equation.d.ts.map +1 -1
  334. package/dist/composition/user-equation.js +7 -39
  335. package/dist/composition/user-equation.js.map +1 -1
  336. package/dist/dimensional/algebra.d.ts +7 -5
  337. package/dist/dimensional/algebra.d.ts.map +1 -1
  338. package/dist/dimensional/algebra.js +7 -4
  339. package/dist/dimensional/algebra.js.map +1 -1
  340. package/dist/dimensional/bridge-check.d.ts +2 -1
  341. package/dist/dimensional/bridge-check.d.ts.map +1 -1
  342. package/dist/dimensional/bridge-check.js +27 -6
  343. package/dist/dimensional/bridge-check.js.map +1 -1
  344. package/dist/dimensional/formula-names.d.ts +12 -0
  345. package/dist/dimensional/formula-names.d.ts.map +1 -1
  346. package/dist/dimensional/formula-names.js +12 -1
  347. package/dist/dimensional/formula-names.js.map +1 -1
  348. package/dist/dimensional/friedmann-equation.d.ts.map +1 -1
  349. package/dist/dimensional/friedmann-equation.js +1 -2
  350. package/dist/dimensional/friedmann-equation.js.map +1 -1
  351. package/dist/dimensional/types.d.ts +2 -0
  352. package/dist/dimensional/types.d.ts.map +1 -1
  353. package/dist/dimensional/types.js +2 -0
  354. package/dist/dimensional/types.js.map +1 -1
  355. package/dist/index.d.ts +17 -7
  356. package/dist/index.d.ts.map +1 -1
  357. package/dist/index.js +15 -19
  358. package/dist/index.js.map +1 -1
  359. package/dist/numerical/binding-value.d.ts +14 -20
  360. package/dist/numerical/binding-value.d.ts.map +1 -1
  361. package/dist/numerical/binding-value.js +56 -15
  362. package/dist/numerical/binding-value.js.map +1 -1
  363. package/dist/numerical/index.d.ts +6 -3
  364. package/dist/numerical/index.d.ts.map +1 -1
  365. package/dist/numerical/index.js +6 -2
  366. package/dist/numerical/index.js.map +1 -1
  367. package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
  368. package/dist/numerical/spacetime-metrics.js +7 -18
  369. package/dist/numerical/spacetime-metrics.js.map +1 -1
  370. package/dist/numerical/tensor-engine.d.ts +6 -2
  371. package/dist/numerical/tensor-engine.d.ts.map +1 -1
  372. package/dist/numerical/tensor-engine.js +6 -2
  373. package/dist/numerical/tensor-engine.js.map +1 -1
  374. package/package.json +4 -3
@@ -0,0 +1,310 @@
1
+ /** Cold Bohm threshold `u0 = sqrt(k_B T_e / m_i)`. @public */
2
+ export interface BohmSheathInputs {
3
+ readonly T_e_K: number;
4
+ readonly m_i_kg: number;
5
+ }
6
+ /** Bohm Sheath Result. @public */
7
+ export interface BohmSheathResult {
8
+ readonly u0_m_s: number;
9
+ }
10
+ /** evaluate Bohm Sheath. @public */
11
+ export declare function evaluateBohmSheath({ T_e_K, m_i_kg }: BohmSheathInputs): BohmSheathResult;
12
+ /**
13
+ * Warm sound `c_s² = (k_B T_e + 3 k_B T_i) / m_i`. γ_i = 3 from p ∝ n³.
14
+ * Nested on be-103. Not the catalog value.
15
+ * @internal
16
+ */
17
+ export declare function evaluateBohmWarmSound(T_e_K: number, T_i_K: number, m_i_kg: number): number;
18
+ /** Ion acoustic `ω² = k² c_s² / (1 + k² λ_De²)`. @public */
19
+ export interface IonAcousticInputs {
20
+ readonly k_per_m: number;
21
+ readonly c_s_m_s: number;
22
+ readonly lambda_De_m: number;
23
+ }
24
+ /** Ion Acoustic Result. @public */
25
+ export interface IonAcousticResult {
26
+ readonly omega_rad_s: number;
27
+ }
28
+ /** evaluate Ion Acoustic. @public */
29
+ export declare function evaluateIonAcoustic({ k_per_m, c_s_m_s, lambda_De_m }: IonAcousticInputs): IonAcousticResult;
30
+ /** Upper hybrid `ω² = n e²/(ε0 m) + (e B/m)²`. @public */
31
+ export interface UpperHybridInputs {
32
+ readonly n_per_m3: number;
33
+ readonly B_T: number;
34
+ readonly m_kg: number;
35
+ }
36
+ /** Upper Hybrid Result. @public */
37
+ export interface UpperHybridResult {
38
+ readonly omega_rad_s: number;
39
+ }
40
+ /** evaluate Upper Hybrid. @public */
41
+ export declare function evaluateUpperHybrid({ n_per_m3, B_T, m_kg }: UpperHybridInputs): UpperHybridResult;
42
+ /**
43
+ * Nonnegative R cutoff. The Stix index `n_R² = 1 − ω_p²/(ω(ω − ω_c))` is a
44
+ * hypothesis, not re-derived.
45
+ * @public
46
+ */
47
+ export interface ColdPlasmaCutoffInputs {
48
+ readonly omega_c_rad_s: number;
49
+ readonly omega_p_rad_s: number;
50
+ }
51
+ /** Cold Plasma Cutoff Result. @public */
52
+ export interface ColdPlasmaCutoffResult {
53
+ readonly omega_R_rad_s: number;
54
+ }
55
+ /** evaluate Cold Plasma Cutoff. @public */
56
+ export declare function evaluateColdPlasmaCutoff({ omega_c_rad_s, omega_p_rad_s, }: ColdPlasmaCutoffInputs): ColdPlasmaCutoffResult;
57
+ /** Lower hybrid `ω² = 1/(1/ω_pi² + 1/(ω_ci ω_ce))`. @public */
58
+ export interface LowerHybridInputs {
59
+ readonly omega_pi_rad_s: number;
60
+ readonly omega_ci_rad_s: number;
61
+ readonly omega_ce_rad_s: number;
62
+ }
63
+ /** Lower Hybrid Result. @public */
64
+ export interface LowerHybridResult {
65
+ readonly omega_rad_s: number;
66
+ }
67
+ /** evaluate Lower Hybrid. @public */
68
+ export declare function evaluateLowerHybrid({ omega_pi_rad_s, omega_ci_rad_s, omega_ce_rad_s, }: LowerHybridInputs): LowerHybridResult;
69
+ /** Fast oblique magnetosonic phase speed. The be-69 quartic is a hypothesis. @public */
70
+ export interface ObliqueMagnetosonicInputs {
71
+ readonly c_s_m_s: number;
72
+ readonly v_A_m_s: number;
73
+ readonly theta_rad: number;
74
+ }
75
+ /** Oblique Magnetosonic Result. @public */
76
+ export interface ObliqueMagnetosonicResult {
77
+ readonly v_fast_m_s: number;
78
+ }
79
+ /** evaluate Oblique Magnetosonic. @public */
80
+ export declare function evaluateObliqueMagnetosonic({ c_s_m_s, v_A_m_s, theta_rad, }: ObliqueMagnetosonicInputs): ObliqueMagnetosonicResult;
81
+ /**
82
+ * Equal-temperature Bennett current `I = sqrt(16 π N k_B T / μ0)`.
83
+ * The factor 8 is the single-population current and is not this value.
84
+ * @public
85
+ */
86
+ export interface BennettPinchInputs {
87
+ readonly N_per_m: number;
88
+ readonly T_K: number;
89
+ }
90
+ /** Bennett Pinch Result. @public */
91
+ export interface BennettPinchResult {
92
+ readonly I_A: number;
93
+ }
94
+ /** evaluate Bennett Pinch. @public */
95
+ export declare function evaluateBennettPinch({ N_per_m, T_K }: BennettPinchInputs): BennettPinchResult;
96
+ /** Single-population current `sqrt(8 π N k_B T / μ0)`. Not the equal-temperature current. @internal */
97
+ export declare function bennettSinglePopulationCurrent(N_per_m: number, T_K: number): number;
98
+ /** `sin² θ_lc = B0/Bm`. @public */
99
+ export interface LossConeInputs {
100
+ readonly B0_T: number;
101
+ readonly Bm_T: number;
102
+ }
103
+ /** Loss Cone Result. @public */
104
+ export interface LossConeResult {
105
+ readonly sin2_theta: number;
106
+ }
107
+ /** evaluate Loss Cone. @public */
108
+ export declare function evaluateLossCone({ B0_T, Bm_T }: LossConeInputs): LossConeResult;
109
+ /** Grad-B drift `m v_⊥² |∇B| / (2 q B²)`. `q` stays signed. @public */
110
+ export interface GradBDriftInputs {
111
+ readonly m_kg: number;
112
+ readonly v_perp_m_s: number;
113
+ readonly gradB_T_per_m: number;
114
+ readonly q_C: number;
115
+ readonly B_T: number;
116
+ }
117
+ /** Grad BDrift Result. @public */
118
+ export interface GradBDriftResult {
119
+ readonly v_m_s: number;
120
+ }
121
+ /** evaluate Grad BDrift. @public */
122
+ export declare function evaluateGradBDrift({ m_kg, v_perp_m_s, gradB_T_per_m, q_C, B_T, }: GradBDriftInputs): GradBDriftResult;
123
+ /** `v_x = E_y/B`, `v_y = −E_x/B`. Charge cancels. @public */
124
+ export interface ExBDriftInputs {
125
+ readonly E_x_V_per_m: number;
126
+ readonly E_y_V_per_m: number;
127
+ readonly B_T: number;
128
+ }
129
+ /** Ex BDrift Result. @public */
130
+ export interface ExBDriftResult {
131
+ readonly v_x_m_s: number;
132
+ readonly v_y_m_s: number;
133
+ readonly speed_m_s: number;
134
+ }
135
+ /** evaluate Ex BDrift. @public */
136
+ export declare function evaluateExBDrift({ E_x_V_per_m, E_y_V_per_m, B_T }: ExBDriftInputs): ExBDriftResult;
137
+ /**
138
+ * Landau damping rate. The residue formula is a hypothesis, not a contour
139
+ * integral. Bohm–Gross does not replace ω by ω_p in this prefactor.
140
+ * @public
141
+ */
142
+ export interface LandauDampingInputs {
143
+ readonly omega_rad_s: number;
144
+ readonly k_per_m: number;
145
+ readonly v_t_m_s: number;
146
+ }
147
+ /** Landau Damping Result. @public */
148
+ export interface LandauDampingResult {
149
+ readonly gamma_rad_s: number;
150
+ }
151
+ /** evaluate Landau Damping. @public */
152
+ export declare function evaluateLandauDamping({ omega_rad_s, k_per_m, v_t_m_s, }: LandauDampingInputs): LandauDampingResult;
153
+ /** `N_D = (4π/3) n λ_D³` and `Λ = 9 N_D`. @public */
154
+ export interface DebyeSphereInputs {
155
+ readonly n_per_m3: number;
156
+ readonly lambda_D_m: number;
157
+ }
158
+ /** Debye Sphere Result. @public */
159
+ export interface DebyeSphereResult {
160
+ readonly N_D: number;
161
+ readonly Lambda: number;
162
+ }
163
+ /** evaluate Debye Sphere. @public */
164
+ export declare function evaluateDebyeSphere({ n_per_m3, lambda_D_m }: DebyeSphereInputs): DebyeSphereResult;
165
+ /** `1/λ_D² = 1/λ₁² + 1/λ₂²`. @public */
166
+ export interface MultiDebyeInputs {
167
+ readonly lambda_1_m: number;
168
+ readonly lambda_2_m: number;
169
+ }
170
+ /** Multi Debye Result. @public */
171
+ export interface MultiDebyeResult {
172
+ readonly lambda_D_m: number;
173
+ }
174
+ /** evaluate Multi Debye. @public */
175
+ export declare function evaluateMultiDebye({ lambda_1_m, lambda_2_m }: MultiDebyeInputs): MultiDebyeResult;
176
+ /**
177
+ * Kinetic Lorentz resistivity. `σ_tr = 4π b0² ln Λ` and the conductivity
178
+ * moment are hypotheses. The nested reference closure is not this value.
179
+ * @public
180
+ */
181
+ export interface LorentzResistivityInputs {
182
+ readonly Z: number;
183
+ readonly ln_Lambda: number;
184
+ readonly T_K: number;
185
+ readonly m_kg: number;
186
+ }
187
+ /** Lorentz Resistivity Result. @public */
188
+ export interface LorentzResistivityResult {
189
+ readonly eta_ohm_m: number;
190
+ }
191
+ /** evaluate Lorentz Resistivity. @public */
192
+ export declare function evaluateLorentzResistivity({ Z, ln_Lambda, T_K, m_kg, }: LorentzResistivityInputs): LorentzResistivityResult;
193
+ /** `η_ref / η_kin = 32/(3π)` on one collision frequency. Not the evaluator. @internal */
194
+ export declare function lorentzReferenceOverKinetic(): number;
195
+ /** Slab decay `τ = μ0 σ L² / π²`. A denominator 4π is not π². @public */
196
+ export interface ResistiveSlabInputs {
197
+ readonly sigma_S_per_m: number;
198
+ readonly L_m: number;
199
+ }
200
+ /** Resistive Slab Result. @public */
201
+ export interface ResistiveSlabResult {
202
+ readonly tau_s: number;
203
+ }
204
+ /** evaluate Resistive Slab. @public */
205
+ export declare function evaluateResistiveSlab({ sigma_S_per_m, L_m }: ResistiveSlabInputs): ResistiveSlabResult;
206
+ /** Parker critical radius `r_c = G M / (2 c_s²)`. @public */
207
+ export interface ParkerCriticalInputs {
208
+ readonly c_s_m_s: number;
209
+ readonly M_kg: number;
210
+ }
211
+ /** Parker Critical Result. @public */
212
+ export interface ParkerCriticalResult {
213
+ readonly r_c_m: number;
214
+ }
215
+ /** evaluate Parker Critical. @public */
216
+ export declare function evaluateParkerCritical({ c_s_m_s, M_kg }: ParkerCriticalInputs): ParkerCriticalResult;
217
+ /** `B_φ/B_r = −Ω r sinθ / v_r`. @public */
218
+ export interface ParkerSpiralInputs {
219
+ readonly Omega_rad_s: number;
220
+ readonly r_m: number;
221
+ readonly theta_rad: number;
222
+ readonly v_r_m_s: number;
223
+ }
224
+ /** Parker Spiral Result. @public */
225
+ export interface ParkerSpiralResult {
226
+ readonly ratio: number;
227
+ }
228
+ /** evaluate Parker Spiral. @public */
229
+ export declare function evaluateParkerSpiral({ Omega_rad_s, r_m, theta_rad, v_r_m_s, }: ParkerSpiralInputs): ParkerSpiralResult;
230
+ /** `(R/R_E)⁶ = 2 B_E² / (μ0 ρ v²)`. The doubled dipole is a hypothesis. @public */
231
+ export interface ChapmanFerraroInputs {
232
+ readonly B_E_T: number;
233
+ readonly rho_kg_per_m3: number;
234
+ readonly v_m_s: number;
235
+ }
236
+ /** Chapman Ferraro Result. @public */
237
+ export interface ChapmanFerraroResult {
238
+ readonly standoff_sixth: number;
239
+ }
240
+ /** evaluate Chapman Ferraro. @public */
241
+ export declare function evaluateChapmanFerraro({ B_E_T, rho_kg_per_m3, v_m_s, }: ChapmanFerraroInputs): ChapmanFerraroResult;
242
+ /** `n τ = 12 k_B T / (⟨σv⟩ E)`. The 12 is 4 × 3. @public */
243
+ export interface LawsonBreakevenInputs {
244
+ readonly T_K: number;
245
+ readonly sigma_v_m3_s: number;
246
+ readonly E_J: number;
247
+ }
248
+ /** Lawson Breakeven Result. @public */
249
+ export interface LawsonBreakevenResult {
250
+ readonly n_tau_s_per_m3: number;
251
+ }
252
+ /** evaluate Lawson Breakeven. @public */
253
+ export declare function evaluateLawsonBreakeven({ T_K, sigma_v_m3_s, E_J, }: LawsonBreakevenInputs): LawsonBreakevenResult;
254
+ /** `e Φ/(k_B T) = (1/2) ln(2 π m_e/m_i) − 1/2`. @public */
255
+ export interface LangmuirProbeInputs {
256
+ readonly m_e_kg: number;
257
+ readonly m_i_kg: number;
258
+ }
259
+ /** Langmuir Probe Result. @public */
260
+ export interface LangmuirProbeResult {
261
+ readonly ePhi_over_kT: number;
262
+ }
263
+ /** evaluate Langmuir Probe. @public */
264
+ export declare function evaluateLangmuirProbe({ m_e_kg, m_i_kg }: LangmuirProbeInputs): LangmuirProbeResult;
265
+ /** `D_⊥/D_∥ = 1/(1+α²)`. Einstein's relation is be-70 and is not re-proved. @public */
266
+ export interface CrossFieldDiffusionInputs {
267
+ readonly alpha: number;
268
+ }
269
+ /** Cross Field Diffusion Result. @public */
270
+ export interface CrossFieldDiffusionResult {
271
+ readonly ratio: number;
272
+ }
273
+ /** evaluate Cross Field Diffusion. @public */
274
+ export declare function evaluateCrossFieldDiffusion({ alpha }: CrossFieldDiffusionInputs): CrossFieldDiffusionResult;
275
+ /**
276
+ * Drift from `q E + q v × B − m v/τ = 0`. `α = μ B`.
277
+ * @internal
278
+ */
279
+ export declare function evaluateCrossFieldVelocity(mu: number, alpha: number, E_x: number, E_y: number): {
280
+ readonly v_x: number;
281
+ readonly v_y: number;
282
+ };
283
+ /** Firehose margin `β_∥ − β_⊥`. Unstable when the margin exceeds 2. The CGL root is a hypothesis. @public */
284
+ export interface FirehoseInputs {
285
+ readonly beta_parallel: number;
286
+ readonly beta_perp: number;
287
+ }
288
+ /** Firehose Result. @public */
289
+ export interface FirehoseResult {
290
+ readonly margin: number;
291
+ }
292
+ /** evaluate Firehose. @public */
293
+ export declare function evaluateFirehose({ beta_parallel, beta_perp }: FirehoseInputs): FirehoseResult;
294
+ /**
295
+ * Mirror margin `β_⊥ (T_⊥/T_∥ − 1)`. The threshold inequality is a hypothesis.
296
+ * The kinetic integral is not evaluated.
297
+ * @public
298
+ */
299
+ export interface MirrorInstabilityInputs {
300
+ readonly beta_perp: number;
301
+ readonly T_perp_K: number;
302
+ readonly T_parallel_K: number;
303
+ }
304
+ /** Mirror Instability Result. @public */
305
+ export interface MirrorInstabilityResult {
306
+ readonly margin: number;
307
+ }
308
+ /** evaluate Mirror Instability. @public */
309
+ export declare function evaluateMirrorInstability({ beta_perp, T_perp_K, T_parallel_K, }: MirrorInstabilityInputs): MirrorInstabilityResult;
310
+ //# sourceMappingURL=plasma-space.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plasma-space.d.ts","sourceRoot":"","sources":["../../src/bridges/plasma-space.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,262 @@
1
+ /**
2
+ * BE-103 through BE-125 — plasma and space evaluators.
3
+ *
4
+ * Each function is the single numeric body for that catalog id. No AST is
5
+ * added: the installed MathTS packages do not export a scalar builder.
6
+ * `e` is the elementary charge. Euler's number appears only as `exp`.
7
+ *
8
+ * The PhysJS covers name the hypotheses. BE-106's Stix index, BE-113's
9
+ * residue, BE-116's transport integrals, and BE-125's mirror threshold
10
+ * are hypotheses of those proofs, not derived steps.
11
+ *
12
+ * @module bridges/plasma-space
13
+ */
14
+ import { E_SI, G_SI, K_B_SI } from '../core/constants.js';
15
+ import { EPS0_SI, MU0_SI } from '../dimensional/formula-names.js';
16
+ function finite(name, value) {
17
+ if (!Number.isFinite(value))
18
+ throw new Error(`${name} must be finite`);
19
+ }
20
+ /** evaluate Bohm Sheath. @public */
21
+ export function evaluateBohmSheath({ T_e_K, m_i_kg }) {
22
+ finite('T_e_K', T_e_K);
23
+ finite('m_i_kg', m_i_kg);
24
+ if (m_i_kg <= 0)
25
+ throw new Error('evaluateBohmSheath: m_i_kg must be positive');
26
+ return { u0_m_s: Math.sqrt((K_B_SI * T_e_K) / m_i_kg) };
27
+ }
28
+ /**
29
+ * Warm sound `c_s² = (k_B T_e + 3 k_B T_i) / m_i`. γ_i = 3 from p ∝ n³.
30
+ * Nested on be-103. Not the catalog value.
31
+ * @internal
32
+ */
33
+ export function evaluateBohmWarmSound(T_e_K, T_i_K, m_i_kg) {
34
+ finite('T_e_K', T_e_K);
35
+ finite('T_i_K', T_i_K);
36
+ finite('m_i_kg', m_i_kg);
37
+ return Math.sqrt((K_B_SI * T_e_K + 3 * K_B_SI * T_i_K) / m_i_kg);
38
+ }
39
+ /** evaluate Ion Acoustic. @public */
40
+ export function evaluateIonAcoustic({ k_per_m, c_s_m_s, lambda_De_m }) {
41
+ finite('k_per_m', k_per_m);
42
+ finite('c_s_m_s', c_s_m_s);
43
+ finite('lambda_De_m', lambda_De_m);
44
+ if (k_per_m === 0)
45
+ throw new Error('evaluateIonAcoustic: k_per_m must be nonzero');
46
+ const k2 = k_per_m * k_per_m;
47
+ const omega2 = (k2 * c_s_m_s * c_s_m_s) / (1 + k2 * lambda_De_m * lambda_De_m);
48
+ return { omega_rad_s: Math.sqrt(omega2) };
49
+ }
50
+ /** evaluate Upper Hybrid. @public */
51
+ export function evaluateUpperHybrid({ n_per_m3, B_T, m_kg }) {
52
+ finite('n_per_m3', n_per_m3);
53
+ finite('B_T', B_T);
54
+ finite('m_kg', m_kg);
55
+ if (m_kg <= 0)
56
+ throw new Error('evaluateUpperHybrid: m_kg must be positive');
57
+ const plasma = (n_per_m3 * E_SI * E_SI) / (EPS0_SI * m_kg);
58
+ const cyclotron = (E_SI * B_T) / m_kg;
59
+ return { omega_rad_s: Math.sqrt(plasma + cyclotron * cyclotron) };
60
+ }
61
+ /** evaluate Cold Plasma Cutoff. @public */
62
+ export function evaluateColdPlasmaCutoff({ omega_c_rad_s, omega_p_rad_s, }) {
63
+ finite('omega_c_rad_s', omega_c_rad_s);
64
+ finite('omega_p_rad_s', omega_p_rad_s);
65
+ if (omega_c_rad_s < 0)
66
+ throw new Error('evaluateColdPlasmaCutoff: omega_c_rad_s must be ≥ 0');
67
+ const disc = omega_c_rad_s * omega_c_rad_s + 4 * omega_p_rad_s * omega_p_rad_s;
68
+ return { omega_R_rad_s: (omega_c_rad_s + Math.sqrt(disc)) / 2 };
69
+ }
70
+ /** evaluate Lower Hybrid. @public */
71
+ export function evaluateLowerHybrid({ omega_pi_rad_s, omega_ci_rad_s, omega_ce_rad_s, }) {
72
+ finite('omega_pi_rad_s', omega_pi_rad_s);
73
+ finite('omega_ci_rad_s', omega_ci_rad_s);
74
+ finite('omega_ce_rad_s', omega_ce_rad_s);
75
+ const denom = 1 / (omega_pi_rad_s * omega_pi_rad_s) + 1 / (omega_ci_rad_s * omega_ce_rad_s);
76
+ return { omega_rad_s: Math.sqrt(1 / denom) };
77
+ }
78
+ /** evaluate Oblique Magnetosonic. @public */
79
+ export function evaluateObliqueMagnetosonic({ c_s_m_s, v_A_m_s, theta_rad, }) {
80
+ finite('c_s_m_s', c_s_m_s);
81
+ finite('v_A_m_s', v_A_m_s);
82
+ finite('theta_rad', theta_rad);
83
+ const cs2 = c_s_m_s * c_s_m_s;
84
+ const va2 = v_A_m_s * v_A_m_s;
85
+ const cos = Math.cos(theta_rad);
86
+ const disc = (cs2 + va2) * (cs2 + va2) - 4 * cs2 * va2 * cos * cos;
87
+ const fast2 = 0.5 * (cs2 + va2 + Math.sqrt(disc));
88
+ return { v_fast_m_s: Math.sqrt(fast2) };
89
+ }
90
+ /** evaluate Bennett Pinch. @public */
91
+ export function evaluateBennettPinch({ N_per_m, T_K }) {
92
+ finite('N_per_m', N_per_m);
93
+ finite('T_K', T_K);
94
+ if (N_per_m < 0 || T_K < 0)
95
+ throw new Error('evaluateBennettPinch: N_per_m and T_K must be ≥ 0');
96
+ return { I_A: Math.sqrt((16 * Math.PI * N_per_m * K_B_SI * T_K) / MU0_SI) };
97
+ }
98
+ /** Single-population current `sqrt(8 π N k_B T / μ0)`. Not the equal-temperature current. @internal */
99
+ export function bennettSinglePopulationCurrent(N_per_m, T_K) {
100
+ return Math.sqrt((8 * Math.PI * N_per_m * K_B_SI * T_K) / MU0_SI);
101
+ }
102
+ /** evaluate Loss Cone. @public */
103
+ export function evaluateLossCone({ B0_T, Bm_T }) {
104
+ finite('B0_T', B0_T);
105
+ finite('Bm_T', Bm_T);
106
+ if (Bm_T === 0)
107
+ throw new Error('evaluateLossCone: Bm_T must be nonzero');
108
+ return { sin2_theta: B0_T / Bm_T };
109
+ }
110
+ /** evaluate Grad BDrift. @public */
111
+ export function evaluateGradBDrift({ m_kg, v_perp_m_s, gradB_T_per_m, q_C, B_T, }) {
112
+ finite('m_kg', m_kg);
113
+ finite('v_perp_m_s', v_perp_m_s);
114
+ finite('gradB_T_per_m', gradB_T_per_m);
115
+ finite('q_C', q_C);
116
+ finite('B_T', B_T);
117
+ if (q_C === 0 || B_T === 0)
118
+ throw new Error('evaluateGradBDrift: q_C and B_T must be nonzero');
119
+ const v = (m_kg * v_perp_m_s * v_perp_m_s * Math.abs(gradB_T_per_m)) / (2 * q_C * B_T * B_T);
120
+ return { v_m_s: v };
121
+ }
122
+ /** evaluate Ex BDrift. @public */
123
+ export function evaluateExBDrift({ E_x_V_per_m, E_y_V_per_m, B_T }) {
124
+ finite('E_x_V_per_m', E_x_V_per_m);
125
+ finite('E_y_V_per_m', E_y_V_per_m);
126
+ finite('B_T', B_T);
127
+ if (B_T === 0)
128
+ throw new Error('evaluateExBDrift: B_T must be nonzero');
129
+ const v_x_m_s = E_y_V_per_m / B_T;
130
+ const v_y_m_s = -E_x_V_per_m / B_T;
131
+ return { v_x_m_s, v_y_m_s, speed_m_s: Math.hypot(v_x_m_s, v_y_m_s) };
132
+ }
133
+ /** evaluate Landau Damping. @public */
134
+ export function evaluateLandauDamping({ omega_rad_s, k_per_m, v_t_m_s, }) {
135
+ finite('omega_rad_s', omega_rad_s);
136
+ finite('k_per_m', k_per_m);
137
+ finite('v_t_m_s', v_t_m_s);
138
+ if (k_per_m === 0 || v_t_m_s === 0)
139
+ throw new Error('evaluateLandauDamping: k and v_t must be nonzero');
140
+ const x = omega_rad_s / (k_per_m * v_t_m_s);
141
+ const gamma = -Math.sqrt(Math.PI / 8) *
142
+ omega_rad_s *
143
+ x * x * x *
144
+ Math.exp((-omega_rad_s * omega_rad_s) / (2 * k_per_m * k_per_m * v_t_m_s * v_t_m_s));
145
+ return { gamma_rad_s: gamma };
146
+ }
147
+ /** evaluate Debye Sphere. @public */
148
+ export function evaluateDebyeSphere({ n_per_m3, lambda_D_m }) {
149
+ finite('n_per_m3', n_per_m3);
150
+ finite('lambda_D_m', lambda_D_m);
151
+ const N_D = ((4 * Math.PI) / 3) * n_per_m3 * lambda_D_m ** 3;
152
+ return { N_D, Lambda: 9 * N_D };
153
+ }
154
+ /** evaluate Multi Debye. @public */
155
+ export function evaluateMultiDebye({ lambda_1_m, lambda_2_m }) {
156
+ finite('lambda_1_m', lambda_1_m);
157
+ finite('lambda_2_m', lambda_2_m);
158
+ if (lambda_1_m === 0 || lambda_2_m === 0)
159
+ throw new Error('evaluateMultiDebye: lengths must be nonzero');
160
+ const inv = 1 / (lambda_1_m * lambda_1_m) + 1 / (lambda_2_m * lambda_2_m);
161
+ return { lambda_D_m: 1 / Math.sqrt(inv) };
162
+ }
163
+ /** evaluate Lorentz Resistivity. @public */
164
+ export function evaluateLorentzResistivity({ Z, ln_Lambda, T_K, m_kg, }) {
165
+ finite('Z', Z);
166
+ finite('ln_Lambda', ln_Lambda);
167
+ finite('T_K', T_K);
168
+ finite('m_kg', m_kg);
169
+ if (T_K <= 0 || m_kg <= 0)
170
+ throw new Error('evaluateLorentzResistivity: T_K and m_kg must be positive');
171
+ const pref = (Math.PI * Math.sqrt(2 * Math.PI)) / 8;
172
+ const kt = K_B_SI * T_K;
173
+ const denom = (4 * Math.PI * EPS0_SI) ** 2 * kt ** 1.5;
174
+ const eta = (pref * Z * E_SI * E_SI * Math.sqrt(m_kg) * ln_Lambda) / denom;
175
+ return { eta_ohm_m: eta };
176
+ }
177
+ /** `η_ref / η_kin = 32/(3π)` on one collision frequency. Not the evaluator. @internal */
178
+ export function lorentzReferenceOverKinetic() {
179
+ return 32 / (3 * Math.PI);
180
+ }
181
+ /** evaluate Resistive Slab. @public */
182
+ export function evaluateResistiveSlab({ sigma_S_per_m, L_m }) {
183
+ finite('sigma_S_per_m', sigma_S_per_m);
184
+ finite('L_m', L_m);
185
+ return { tau_s: (MU0_SI * sigma_S_per_m * L_m * L_m) / (Math.PI * Math.PI) };
186
+ }
187
+ /** evaluate Parker Critical. @public */
188
+ export function evaluateParkerCritical({ c_s_m_s, M_kg }) {
189
+ finite('c_s_m_s', c_s_m_s);
190
+ finite('M_kg', M_kg);
191
+ if (c_s_m_s === 0)
192
+ throw new Error('evaluateParkerCritical: c_s_m_s must be nonzero');
193
+ return { r_c_m: (G_SI * M_kg) / (2 * c_s_m_s * c_s_m_s) };
194
+ }
195
+ /** evaluate Parker Spiral. @public */
196
+ export function evaluateParkerSpiral({ Omega_rad_s, r_m, theta_rad, v_r_m_s, }) {
197
+ finite('Omega_rad_s', Omega_rad_s);
198
+ finite('r_m', r_m);
199
+ finite('theta_rad', theta_rad);
200
+ finite('v_r_m_s', v_r_m_s);
201
+ if (v_r_m_s === 0)
202
+ throw new Error('evaluateParkerSpiral: v_r_m_s must be nonzero');
203
+ return { ratio: (-Omega_rad_s * r_m * Math.sin(theta_rad)) / v_r_m_s };
204
+ }
205
+ /** evaluate Chapman Ferraro. @public */
206
+ export function evaluateChapmanFerraro({ B_E_T, rho_kg_per_m3, v_m_s, }) {
207
+ finite('B_E_T', B_E_T);
208
+ finite('rho_kg_per_m3', rho_kg_per_m3);
209
+ finite('v_m_s', v_m_s);
210
+ if (rho_kg_per_m3 === 0 || v_m_s === 0)
211
+ throw new Error('evaluateChapmanFerraro: ρ and v must be nonzero');
212
+ return { standoff_sixth: (2 * B_E_T * B_E_T) / (MU0_SI * rho_kg_per_m3 * v_m_s * v_m_s) };
213
+ }
214
+ /** evaluate Lawson Breakeven. @public */
215
+ export function evaluateLawsonBreakeven({ T_K, sigma_v_m3_s, E_J, }) {
216
+ finite('T_K', T_K);
217
+ finite('sigma_v_m3_s', sigma_v_m3_s);
218
+ finite('E_J', E_J);
219
+ if (sigma_v_m3_s === 0 || E_J === 0)
220
+ throw new Error('evaluateLawsonBreakeven: ⟨σv⟩ and E must be nonzero');
221
+ return { n_tau_s_per_m3: (12 * K_B_SI * T_K) / (sigma_v_m3_s * E_J) };
222
+ }
223
+ /** evaluate Langmuir Probe. @public */
224
+ export function evaluateLangmuirProbe({ m_e_kg, m_i_kg }) {
225
+ finite('m_e_kg', m_e_kg);
226
+ finite('m_i_kg', m_i_kg);
227
+ if (m_e_kg <= 0 || m_i_kg <= 0)
228
+ throw new Error('evaluateLangmuirProbe: masses must be positive');
229
+ return { ePhi_over_kT: 0.5 * Math.log((2 * Math.PI * m_e_kg) / m_i_kg) - 0.5 };
230
+ }
231
+ /** evaluate Cross Field Diffusion. @public */
232
+ export function evaluateCrossFieldDiffusion({ alpha }) {
233
+ finite('alpha', alpha);
234
+ return { ratio: 1 / (1 + alpha * alpha) };
235
+ }
236
+ /**
237
+ * Drift from `q E + q v × B − m v/τ = 0`. `α = μ B`.
238
+ * @internal
239
+ */
240
+ export function evaluateCrossFieldVelocity(mu, alpha, E_x, E_y) {
241
+ const denom = 1 + alpha * alpha;
242
+ return {
243
+ v_x: (mu * (E_x + alpha * E_y)) / denom,
244
+ v_y: (mu * (E_y - alpha * E_x)) / denom,
245
+ };
246
+ }
247
+ /** evaluate Firehose. @public */
248
+ export function evaluateFirehose({ beta_parallel, beta_perp }) {
249
+ finite('beta_parallel', beta_parallel);
250
+ finite('beta_perp', beta_perp);
251
+ return { margin: beta_parallel - beta_perp };
252
+ }
253
+ /** evaluate Mirror Instability. @public */
254
+ export function evaluateMirrorInstability({ beta_perp, T_perp_K, T_parallel_K, }) {
255
+ finite('beta_perp', beta_perp);
256
+ finite('T_perp_K', T_perp_K);
257
+ finite('T_parallel_K', T_parallel_K);
258
+ if (T_parallel_K === 0)
259
+ throw new Error('evaluateMirrorInstability: T_parallel_K must be nonzero');
260
+ return { margin: beta_perp * (T_perp_K / T_parallel_K - 1) };
261
+ }
262
+ //# sourceMappingURL=plasma-space.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plasma-space.js","sourceRoot":"","sources":["../../src/bridges/plasma-space.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * One registration for a catalog bridge.
3
+ *
4
+ * The catalog array, the right-hand side map, the evaluator map, and the
5
+ * edge list are projections of this registry. A second `BRIDGE_EQUATIONS`
6
+ * literal is a scan hit. An `ab-*` id is an atlas model and is rejected.
7
+ *
8
+ * @module bridges/registry
9
+ */
10
+ import type { ExprNode } from '../dimensional/validator.js';
11
+ /** The fields a registration may carry. Each projection reads one of them. */
12
+ export interface BridgeRegistration {
13
+ /** Numeric catalog id, when the other parts do not already carry it. */
14
+ readonly id?: number | string;
15
+ /** Catalog row. `id` is the catalog id. */
16
+ readonly entry?: {
17
+ readonly id: number;
18
+ };
19
+ /** Encoded right-hand side. Absent when the bridge has no AST. */
20
+ readonly rhs?: ExprNode;
21
+ /** Id-keyed evaluator. */
22
+ readonly evaluator?: {
23
+ readonly bridgeId: number;
24
+ };
25
+ /**
26
+ * Composition edge. `beId: null` stays on the edge list. The edge `id`
27
+ * is what a second registration of the same edge matches.
28
+ */
29
+ readonly edge?: {
30
+ readonly id: string;
31
+ readonly beId: number | null;
32
+ };
33
+ }
34
+ /** The four projections, in registration order. */
35
+ export interface BridgeRegistry {
36
+ register(parts: BridgeRegistration): void;
37
+ equations(): {
38
+ readonly id: number;
39
+ }[];
40
+ rhs(): ReadonlyMap<number, ExprNode>;
41
+ evaluators(): ReadonlyMap<number, {
42
+ readonly bridgeId: number;
43
+ }>;
44
+ edges(): {
45
+ readonly id: string;
46
+ readonly beId: number | null;
47
+ }[];
48
+ }
49
+ /**
50
+ * An empty registry. Tests use this. Production uses {@link registerBridge}.
51
+ */
52
+ export declare function createBridgeRegistry(): BridgeRegistry;
53
+ /** The production registry. Snapshots are taken by the modules that export them. */
54
+ export declare const bridgeRegistry: BridgeRegistry;
55
+ /**
56
+ * Register one bridge, or one part of one, on the production registry.
57
+ * An id that starts with `ab-` throws.
58
+ */
59
+ export declare function registerBridge(parts: BridgeRegistration): void;
60
+ //# sourceMappingURL=registry.d.ts.map