diff-grok 1.2.0 → 1.3.1

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 (624) hide show
  1. package/README.MD +56 -8
  2. package/dist/index.d.ts +6 -0
  3. package/{index.js → dist/index.js} +1 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/src/examples/basic-use.d.ts +10 -0
  6. package/dist/src/examples/basic-use.js.map +1 -0
  7. package/dist/src/examples/check-methods.d.ts +1 -0
  8. package/dist/src/examples/check-methods.js.map +1 -0
  9. package/dist/src/examples/corr-probs.d.ts +15 -0
  10. package/{src → dist/src}/examples/corr-probs.js +2 -2
  11. package/dist/src/examples/corr-probs.js.map +1 -0
  12. package/dist/src/examples/cyclic-model.d.ts +6 -0
  13. package/dist/src/examples/cyclic-model.js.map +1 -0
  14. package/dist/src/examples/e5.d.ts +15 -0
  15. package/dist/src/examples/e5.js.map +1 -0
  16. package/dist/src/examples/hires.d.ts +15 -0
  17. package/dist/src/examples/hires.js.map +1 -0
  18. package/dist/src/examples/index.d.ts +22 -0
  19. package/dist/src/examples/index.js.map +1 -0
  20. package/dist/src/examples/model-updates.d.ts +6 -0
  21. package/dist/src/examples/model-updates.js.map +1 -0
  22. package/dist/src/examples/orego.d.ts +15 -0
  23. package/dist/src/examples/orego.js.map +1 -0
  24. package/dist/src/examples/pipeline-use.d.ts +6 -0
  25. package/dist/src/examples/pipeline-use.js.map +1 -0
  26. package/dist/src/examples/pollution.d.ts +15 -0
  27. package/dist/src/examples/pollution.js.map +1 -0
  28. package/{src/examples/print-benchmark.ts → dist/src/examples/print-benchmark.d.ts} +8 -58
  29. package/dist/src/examples/print-benchmark.js.map +1 -0
  30. package/dist/src/examples/robertson.d.ts +15 -0
  31. package/{docs/media → dist/src/examples}/robertson.js +2 -2
  32. package/dist/src/examples/robertson.js.map +1 -0
  33. package/dist/src/examples/scripting.d.ts +1 -0
  34. package/dist/src/examples/scripting.js.map +1 -0
  35. package/dist/src/examples/vdpol.d.ts +15 -0
  36. package/dist/src/examples/vdpol.js.map +1 -0
  37. package/dist/src/latex-export/examples/advanced-to-latex.d.ts +2 -0
  38. package/dist/src/latex-export/examples/advanced-to-latex.js +41 -0
  39. package/dist/src/latex-export/examples/advanced-to-latex.js.map +1 -0
  40. package/dist/src/latex-export/examples/basic-to-latex.d.ts +2 -0
  41. package/dist/src/latex-export/examples/basic-to-latex.js +17 -0
  42. package/dist/src/latex-export/examples/basic-to-latex.js.map +1 -0
  43. package/dist/src/latex-export/examples/bioreactor-to-latex-selective.d.ts +2 -0
  44. package/dist/src/latex-export/examples/bioreactor-to-latex-selective.js +145 -0
  45. package/dist/src/latex-export/examples/bioreactor-to-latex-selective.js.map +1 -0
  46. package/dist/src/latex-export/examples/chem-react-to-latex-no-cdot.d.ts +2 -0
  47. package/dist/src/latex-export/examples/chem-react-to-latex-no-cdot.js +41 -0
  48. package/dist/src/latex-export/examples/chem-react-to-latex-no-cdot.js.map +1 -0
  49. package/dist/src/latex-export/examples/energy-n-control-to-markdown.d.ts +2 -0
  50. package/dist/src/latex-export/examples/energy-n-control-to-markdown.js +58 -0
  51. package/dist/src/latex-export/examples/energy-n-control-to-markdown.js.map +1 -0
  52. package/dist/src/latex-export/examples/extended-to-markdown.d.ts +2 -0
  53. package/dist/src/latex-export/examples/extended-to-markdown.js +37 -0
  54. package/dist/src/latex-export/examples/extended-to-markdown.js.map +1 -0
  55. package/dist/src/latex-export/examples/fermentation-to-latex.d.ts +2 -0
  56. package/dist/src/latex-export/examples/fermentation-to-latex.js +32 -0
  57. package/dist/src/latex-export/examples/fermentation-to-latex.js.map +1 -0
  58. package/dist/src/latex-export/examples/ga-production-to-markdown.d.ts +2 -0
  59. package/dist/src/latex-export/examples/ga-production-to-markdown.js +58 -0
  60. package/dist/src/latex-export/examples/ga-production-to-markdown.js.map +1 -0
  61. package/dist/src/latex-export/examples/nimotuzumab-to-latex.d.ts +2 -0
  62. package/dist/src/latex-export/examples/nimotuzumab-to-latex.js +53 -0
  63. package/dist/src/latex-export/examples/nimotuzumab-to-latex.js.map +1 -0
  64. package/dist/src/latex-export/examples/pk-pd-to-markdown-minimal.d.ts +2 -0
  65. package/dist/src/latex-export/examples/pk-pd-to-markdown-minimal.js +50 -0
  66. package/dist/src/latex-export/examples/pk-pd-to-markdown-minimal.js.map +1 -0
  67. package/dist/src/latex-export/examples/pk-to-markdown.d.ts +2 -0
  68. package/dist/src/latex-export/examples/pk-to-markdown.js +35 -0
  69. package/dist/src/latex-export/examples/pk-to-markdown.js.map +1 -0
  70. package/dist/src/latex-export/examples/pollution-to-latex.d.ts +2 -0
  71. package/dist/src/latex-export/examples/pollution-to-latex.js +141 -0
  72. package/dist/src/latex-export/examples/pollution-to-latex.js.map +1 -0
  73. package/dist/src/latex-export/examples/robertson-to-latex-no-meta.d.ts +2 -0
  74. package/dist/src/latex-export/examples/robertson-to-latex-no-meta.js +25 -0
  75. package/dist/src/latex-export/examples/robertson-to-latex-no-meta.js.map +1 -0
  76. package/dist/src/latex-export/generator/bracket-manager.d.ts +19 -0
  77. package/dist/src/latex-export/generator/bracket-manager.js +58 -0
  78. package/dist/src/latex-export/generator/bracket-manager.js.map +1 -0
  79. package/dist/src/latex-export/generator/document-builder.d.ts +13 -0
  80. package/dist/src/latex-export/generator/document-builder.js +433 -0
  81. package/dist/src/latex-export/generator/document-builder.js.map +1 -0
  82. package/dist/src/latex-export/generator/latex-generator.d.ts +26 -0
  83. package/dist/src/latex-export/generator/latex-generator.js +180 -0
  84. package/dist/src/latex-export/generator/latex-generator.js.map +1 -0
  85. package/dist/src/latex-export/index.d.ts +8 -0
  86. package/dist/src/latex-export/index.js +25 -0
  87. package/dist/src/latex-export/index.js.map +1 -0
  88. package/dist/src/latex-export/output/md-formatter.d.ts +16 -0
  89. package/dist/src/latex-export/output/md-formatter.js +27 -0
  90. package/dist/src/latex-export/output/md-formatter.js.map +1 -0
  91. package/dist/src/latex-export/output/tex-formatter.d.ts +5 -0
  92. package/dist/src/latex-export/output/tex-formatter.js +20 -0
  93. package/dist/src/latex-export/output/tex-formatter.js.map +1 -0
  94. package/dist/src/latex-export/parser/ast-parser.d.ts +7 -0
  95. package/dist/src/latex-export/parser/ast-parser.js +153 -0
  96. package/dist/src/latex-export/parser/ast-parser.js.map +1 -0
  97. package/dist/src/latex-export/parser/ivp-parser.d.ts +6 -0
  98. package/dist/src/latex-export/parser/ivp-parser.js +219 -0
  99. package/dist/src/latex-export/parser/ivp-parser.js.map +1 -0
  100. package/dist/src/latex-export/parser/line-joiner.d.ts +25 -0
  101. package/dist/src/latex-export/parser/line-joiner.js +80 -0
  102. package/dist/src/latex-export/parser/line-joiner.js.map +1 -0
  103. package/dist/src/latex-export/parser/tokenizer.d.ts +7 -0
  104. package/dist/src/latex-export/parser/tokenizer.js +143 -0
  105. package/dist/src/latex-export/parser/tokenizer.js.map +1 -0
  106. package/dist/src/latex-export/transformer/functions.d.ts +12 -0
  107. package/dist/src/latex-export/transformer/functions.js +47 -0
  108. package/dist/src/latex-export/transformer/functions.js.map +1 -0
  109. package/dist/src/latex-export/transformer/identifier.d.ts +23 -0
  110. package/dist/src/latex-export/transformer/identifier.js +194 -0
  111. package/dist/src/latex-export/transformer/identifier.js.map +1 -0
  112. package/dist/src/latex-export/transformer/operators.d.ts +9 -0
  113. package/dist/src/latex-export/transformer/operators.js +41 -0
  114. package/dist/src/latex-export/transformer/operators.js.map +1 -0
  115. package/dist/src/latex-export/types.d.ts +122 -0
  116. package/dist/src/latex-export/types.js +10 -0
  117. package/dist/src/latex-export/types.js.map +1 -0
  118. package/{src/pipeline/basic-pipeline-creator.ts → dist/src/pipeline/basic-pipeline-creator.d.ts} +11 -28
  119. package/dist/src/pipeline/basic-pipeline-creator.js.map +1 -0
  120. package/dist/src/pipeline/constants.d.ts +14 -0
  121. package/dist/src/pipeline/constants.js.map +1 -0
  122. package/dist/src/pipeline/index.d.ts +7 -0
  123. package/dist/src/pipeline/index.js.map +1 -0
  124. package/dist/src/pipeline/input.d.ts +3 -0
  125. package/dist/src/pipeline/input.js.map +1 -0
  126. package/dist/src/pipeline/loops-pipeline-creator.d.ts +124 -0
  127. package/dist/src/pipeline/loops-pipeline-creator.js.map +1 -0
  128. package/dist/src/pipeline/output.d.ts +10 -0
  129. package/{src → dist/src}/pipeline/output.js +1 -1
  130. package/dist/src/pipeline/output.js.map +1 -0
  131. package/dist/src/pipeline/pipeline-creator.d.ts +12 -0
  132. package/{src → dist/src}/pipeline/pipeline-creator.js +2 -0
  133. package/dist/src/pipeline/pipeline-creator.js.map +1 -0
  134. package/{src/pipeline/pipeline.ts → dist/src/pipeline/pipeline.d.ts} +10 -97
  135. package/dist/src/pipeline/pipeline.js.map +1 -0
  136. package/{src/pipeline/updates-pipeline-creator.ts → dist/src/pipeline/updates-pipeline-creator.d.ts} +15 -131
  137. package/dist/src/pipeline/updates-pipeline-creator.js.map +1 -0
  138. package/dist/src/scripting-tools/constants.d.ts +59 -0
  139. package/dist/src/scripting-tools/constants.js.map +1 -0
  140. package/dist/src/scripting-tools/index.d.ts +3 -0
  141. package/dist/src/scripting-tools/index.js.map +1 -0
  142. package/dist/src/scripting-tools/model-error.d.ts +10 -0
  143. package/{src → dist/src}/scripting-tools/model-error.js +2 -1
  144. package/dist/src/scripting-tools/model-error.js.map +1 -0
  145. package/dist/src/scripting-tools/scripting-tools.d.ts +277 -0
  146. package/{src → dist/src}/scripting-tools/scripting-tools.js +2 -4
  147. package/dist/src/scripting-tools/scripting-tools.js.map +1 -0
  148. package/dist/src/solver-tools/ab4-method.d.ts +46 -0
  149. package/{src → dist/src}/solver-tools/ab4-method.js +3 -3
  150. package/dist/src/solver-tools/ab4-method.js.map +1 -0
  151. package/dist/src/solver-tools/ab5-method.d.ts +46 -0
  152. package/{src → dist/src}/solver-tools/ab5-method.js +3 -3
  153. package/dist/src/solver-tools/ab5-method.js.map +1 -0
  154. package/dist/src/solver-tools/callbacks/callback-base.d.ts +8 -0
  155. package/dist/src/solver-tools/callbacks/callback-base.js.map +1 -0
  156. package/dist/src/solver-tools/callbacks/callback-tools.d.ts +6 -0
  157. package/dist/src/solver-tools/callbacks/callback-tools.js.map +1 -0
  158. package/dist/src/solver-tools/callbacks/iter-checker-callback.d.ts +12 -0
  159. package/{src → dist/src}/solver-tools/callbacks/iter-checker-callback.js +2 -0
  160. package/dist/src/solver-tools/callbacks/iter-checker-callback.js.map +1 -0
  161. package/dist/src/solver-tools/callbacks/time-checker-callback.d.ts +12 -0
  162. package/{src → dist/src}/solver-tools/callbacks/time-checker-callback.js +2 -2
  163. package/dist/src/solver-tools/callbacks/time-checker-callback.js.map +1 -0
  164. package/dist/src/solver-tools/cvode/common.d.ts +395 -0
  165. package/dist/src/solver-tools/cvode/common.js +483 -0
  166. package/dist/src/solver-tools/cvode/common.js.map +1 -0
  167. package/dist/src/solver-tools/cvode/cvode.d.ts +23 -0
  168. package/dist/src/solver-tools/cvode/cvode.js.map +1 -0
  169. package/dist/src/solver-tools/cvode/cvode_adams.d.ts +22 -0
  170. package/dist/src/solver-tools/cvode/cvode_adams.js.map +1 -0
  171. package/dist/src/solver-tools/cvode/cvode_bdf.d.ts +37 -0
  172. package/dist/src/solver-tools/cvode/cvode_bdf.js.map +1 -0
  173. package/dist/src/solver-tools/cvode/cvode_class.d.ts +116 -0
  174. package/{src → dist/src}/solver-tools/cvode/cvode_class.js +9 -4
  175. package/dist/src/solver-tools/cvode/cvode_class.js.map +1 -0
  176. package/dist/src/solver-tools/cvode/cvode_hin.d.ts +24 -0
  177. package/dist/src/solver-tools/cvode/cvode_hin.js.map +1 -0
  178. package/dist/src/solver-tools/cvode/cvode_io.d.ts +98 -0
  179. package/{src → dist/src}/solver-tools/cvode/cvode_io.js +1 -2
  180. package/dist/src/solver-tools/cvode/cvode_io.js.map +1 -0
  181. package/dist/src/solver-tools/cvode/cvode_ls.d.ts +23 -0
  182. package/dist/src/solver-tools/cvode/cvode_ls.js.map +1 -0
  183. package/dist/src/solver-tools/cvode/cvode_nls.d.ts +25 -0
  184. package/dist/src/solver-tools/cvode/cvode_nls.js.map +1 -0
  185. package/dist/src/solver-tools/cvode/cvode_root.d.ts +64 -0
  186. package/dist/src/solver-tools/cvode/cvode_root.js.map +1 -0
  187. package/dist/src/solver-tools/cvode/dense_linalg.d.ts +50 -0
  188. package/dist/src/solver-tools/cvode/dense_linalg.js.map +1 -0
  189. package/dist/src/solver-tools/cvode/index.d.ts +24 -0
  190. package/dist/src/solver-tools/cvode/index.js.map +1 -0
  191. package/dist/src/solver-tools/cvode-method.d.ts +47 -0
  192. package/dist/src/solver-tools/cvode-method.js.map +1 -0
  193. package/dist/src/solver-tools/index.d.ts +16 -0
  194. package/dist/src/solver-tools/index.js.map +1 -0
  195. package/dist/src/solver-tools/lin-alg-tools.d.ts +6 -0
  196. package/dist/src/solver-tools/lin-alg-tools.js.map +1 -0
  197. package/dist/src/solver-tools/lsoda/blas.d.ts +59 -0
  198. package/dist/src/solver-tools/lsoda/blas.js.map +1 -0
  199. package/{src/solver-tools/lsoda/index.ts → dist/src/solver-tools/lsoda/cfode.d.ts} +7 -6
  200. package/dist/src/solver-tools/lsoda/cfode.js.map +1 -0
  201. package/dist/src/solver-tools/lsoda/common.d.ts +85 -0
  202. package/dist/src/solver-tools/lsoda/common.js +96 -0
  203. package/dist/src/solver-tools/lsoda/common.js.map +1 -0
  204. package/{src/solver-tools/lsoda/corfailure.ts → dist/src/solver-tools/lsoda/corfailure.d.ts} +2 -26
  205. package/dist/src/solver-tools/lsoda/corfailure.js.map +1 -0
  206. package/dist/src/solver-tools/lsoda/correction.d.ts +23 -0
  207. package/dist/src/solver-tools/lsoda/correction.js.map +1 -0
  208. package/dist/src/solver-tools/lsoda/dense.d.ts +47 -0
  209. package/{src → dist/src}/solver-tools/lsoda/dense.js +2 -0
  210. package/dist/src/solver-tools/lsoda/dense.js.map +1 -0
  211. package/dist/src/solver-tools/lsoda/index.d.ts +16 -0
  212. package/dist/src/solver-tools/lsoda/index.js.map +1 -0
  213. package/dist/src/solver-tools/lsoda/intdy.d.ts +19 -0
  214. package/dist/src/solver-tools/lsoda/intdy.js.map +1 -0
  215. package/dist/src/solver-tools/lsoda/lsoda.d.ts +66 -0
  216. package/{src → dist/src}/solver-tools/lsoda/lsoda.js +13 -5
  217. package/dist/src/solver-tools/lsoda/lsoda.js.map +1 -0
  218. package/dist/src/solver-tools/lsoda/methodswitch.d.ts +21 -0
  219. package/dist/src/solver-tools/lsoda/methodswitch.js.map +1 -0
  220. package/dist/src/solver-tools/lsoda/orderswitch.d.ts +21 -0
  221. package/dist/src/solver-tools/lsoda/orderswitch.js.map +1 -0
  222. package/dist/src/solver-tools/lsoda/prja.d.ts +18 -0
  223. package/dist/src/solver-tools/lsoda/prja.js.map +1 -0
  224. package/dist/src/solver-tools/lsoda/scaleh.d.ts +16 -0
  225. package/dist/src/solver-tools/lsoda/scaleh.js.map +1 -0
  226. package/{src/solver-tools/lsoda/solsy.ts → dist/src/solver-tools/lsoda/solsy.d.ts} +2 -15
  227. package/dist/src/solver-tools/lsoda/solsy.js.map +1 -0
  228. package/dist/src/solver-tools/lsoda/stoda.d.ts +19 -0
  229. package/dist/src/solver-tools/lsoda/stoda.js.map +1 -0
  230. package/dist/src/solver-tools/lsoda-method.d.ts +46 -0
  231. package/dist/src/solver-tools/lsoda-method.js.map +1 -0
  232. package/dist/src/solver-tools/mrt-method.d.ts +47 -0
  233. package/{src → dist/src}/solver-tools/mrt-method.js +2 -2
  234. package/dist/src/solver-tools/mrt-method.js.map +1 -0
  235. package/dist/src/solver-tools/rk3-method.d.ts +46 -0
  236. package/{src → dist/src}/solver-tools/rk3-method.js +2 -2
  237. package/dist/src/solver-tools/rk3-method.js.map +1 -0
  238. package/dist/src/solver-tools/rk4-method.d.ts +46 -0
  239. package/{src → dist/src}/solver-tools/rk4-method.js +2 -2
  240. package/dist/src/solver-tools/rk4-method.js.map +1 -0
  241. package/dist/src/solver-tools/rkdp-method.d.ts +46 -0
  242. package/{src → dist/src}/solver-tools/rkdp-method.js +2 -2
  243. package/dist/src/solver-tools/rkdp-method.js.map +1 -0
  244. package/dist/src/solver-tools/ros34prw-method.d.ts +46 -0
  245. package/{src → dist/src}/solver-tools/ros34prw-method.js +2 -2
  246. package/dist/src/solver-tools/ros34prw-method.js.map +1 -0
  247. package/dist/src/solver-tools/ros3prw-method.d.ts +46 -0
  248. package/{src → dist/src}/solver-tools/ros3prw-method.js +2 -2
  249. package/dist/src/solver-tools/ros3prw-method.js.map +1 -0
  250. package/{src/solver-tools/solver-defs.ts → dist/src/solver-tools/solver-defs.d.ts} +45 -85
  251. package/dist/src/solver-tools/solver-defs.js.map +1 -0
  252. package/dist/src/worker-tools/index.d.ts +2 -0
  253. package/dist/src/worker-tools/index.js.map +1 -0
  254. package/{src/worker-tools/scripting.ts → dist/src/worker-tools/scripting.d.ts} +9 -91
  255. package/dist/src/worker-tools/scripting.js.map +1 -0
  256. package/dist/src/worker-tools/solving.d.ts +7 -0
  257. package/dist/src/worker-tools/solving.js.map +1 -0
  258. package/package.json +10 -11
  259. package/.claude/settings.local.json +0 -11
  260. package/.claude/skills/license-updater/SKILL.md +0 -149
  261. package/.claude/skills/license-updater/references/compatibility.md +0 -68
  262. package/.claude/skills/license-updater/references/templates.md +0 -151
  263. package/.claude/skills/license-updater/scripts/generate_license_files.py +0 -467
  264. package/.eslintrc.json +0 -45
  265. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -29
  266. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  267. package/.github/PULL_REQUEST_TEMPLATE.md +0 -22
  268. package/.github/scripts/bump-js-api-version.sh +0 -106
  269. package/.github/scripts/check-output.sh +0 -20
  270. package/.github/scripts/iac-cfn-deploy.sh +0 -90
  271. package/.github/scripts/slack_api_request.sh +0 -65
  272. package/.github/scripts/test_package.sh +0 -270
  273. package/.github/workflows/deploy-docs.yml +0 -15
  274. package/.github/workflows/libraries.yaml +0 -305
  275. package/.github/workflows/test.yaml +0 -19
  276. package/CLAUDE.md +0 -104
  277. package/CONTRIBUTING.md +0 -74
  278. package/THIRD_PARTY_LICENSES +0 -135
  279. package/docs/.nojekyll +0 -1
  280. package/docs/assets/hierarchy.js +0 -1
  281. package/docs/assets/highlight.css +0 -99
  282. package/docs/assets/icons.js +0 -18
  283. package/docs/assets/icons.svg +0 -1
  284. package/docs/assets/main.js +0 -60
  285. package/docs/assets/navigation.js +0 -1
  286. package/docs/assets/search.js +0 -1
  287. package/docs/assets/style.css +0 -1633
  288. package/docs/classes/BasicModelPipelineCreator.html +0 -10
  289. package/docs/classes/Callback.html +0 -7
  290. package/docs/classes/CyclicModelPipelineCreator.html +0 -10
  291. package/docs/classes/IterCheckerCallback.html +0 -8
  292. package/docs/classes/PipelineCreator.html +0 -6
  293. package/docs/classes/TimeCheckerCallback.html +0 -8
  294. package/docs/classes/UpdatesModelPipelineCreator.html +0 -10
  295. package/docs/functions/ab4.html +0 -8
  296. package/docs/functions/ab5.html +0 -8
  297. package/docs/functions/applyPipeline.html +0 -9
  298. package/docs/functions/getCallback.html +0 -3
  299. package/docs/functions/getIVP.html +0 -6
  300. package/docs/functions/getInputVector.html +0 -2
  301. package/docs/functions/getIvp2WebWorker.html +0 -6
  302. package/docs/functions/getJScode.html +0 -6
  303. package/docs/functions/getOutputNames.html +0 -4
  304. package/docs/functions/getPipelineCreator.html +0 -7
  305. package/docs/functions/lsoda.html +0 -8
  306. package/docs/functions/mrt.html +0 -11
  307. package/docs/functions/printE5.html +0 -76
  308. package/docs/functions/printHires.html +0 -76
  309. package/docs/functions/printOrego.html +0 -66
  310. package/docs/functions/printPollution.html +0 -163
  311. package/docs/functions/printRobertson.html +0 -60
  312. package/docs/functions/printVdpol.html +0 -66
  313. package/docs/functions/rk3.html +0 -8
  314. package/docs/functions/rk4.html +0 -8
  315. package/docs/functions/rkdp.html +0 -8
  316. package/docs/functions/ros34prw.html +0 -8
  317. package/docs/functions/ros3prw.html +0 -8
  318. package/docs/functions/solveIvp.html +0 -5
  319. package/docs/hierarchy.html +0 -1
  320. package/docs/index.html +0 -768
  321. package/docs/media/CONTRIBUTING.md +0 -74
  322. package/docs/media/E5.png +0 -0
  323. package/docs/media/HIRES.png +0 -0
  324. package/docs/media/OREGO.png +0 -0
  325. package/docs/media/POLL-full.png +0 -0
  326. package/docs/media/POLL.png +0 -0
  327. package/docs/media/ROBER.png +0 -0
  328. package/docs/media/VDP0L.png +0 -0
  329. package/docs/media/VDPOL.png +0 -0
  330. package/docs/media/acid-prod.gif +0 -0
  331. package/docs/media/basic-use.js.map +0 -1
  332. package/docs/media/basic-use.ts +0 -44
  333. package/docs/media/check-methods.js +0 -59
  334. package/docs/media/check-methods.js.map +0 -1
  335. package/docs/media/check-methods.ts +0 -81
  336. package/docs/media/corr-probs.js +0 -132
  337. package/docs/media/corr-probs.js.map +0 -1
  338. package/docs/media/corr-probs.ts +0 -155
  339. package/docs/media/cyclic-model.js.map +0 -1
  340. package/docs/media/cyclic-model.ts +0 -112
  341. package/docs/media/e5.js.map +0 -1
  342. package/docs/media/e5.ts +0 -36
  343. package/docs/media/hires.js.map +0 -1
  344. package/docs/media/hires.ts +0 -40
  345. package/docs/media/model-updates.js.map +0 -1
  346. package/docs/media/model-updates.ts +0 -122
  347. package/docs/media/orego.js.map +0 -1
  348. package/docs/media/orego.ts +0 -25
  349. package/docs/media/pipeline-use.js.map +0 -1
  350. package/docs/media/pipeline-use.ts +0 -98
  351. package/docs/media/pollution.js.map +0 -1
  352. package/docs/media/pollution.ts +0 -133
  353. package/docs/media/print-benchmark.js.map +0 -1
  354. package/docs/media/print-benchmark.ts +0 -594
  355. package/docs/media/robertson.js.map +0 -1
  356. package/docs/media/robertson.ts +0 -19
  357. package/docs/media/scripting.js.map +0 -1
  358. package/docs/media/scripting.ts +0 -35
  359. package/docs/media/vdpol.js.map +0 -1
  360. package/docs/media/vdpol.ts +0 -17
  361. package/docs/modules.html +0 -1
  362. package/docs/types/Arg.html +0 -12
  363. package/docs/types/DifEqs.html +0 -8
  364. package/docs/types/Func.html +0 -7
  365. package/docs/types/IVP.html +0 -40
  366. package/docs/types/IVP2WebWorker.html +0 -12
  367. package/docs/types/Input.html +0 -8
  368. package/docs/types/Loop.html +0 -7
  369. package/docs/types/ODEs.html +0 -31
  370. package/docs/types/Output.html +0 -6
  371. package/docs/types/Pipeline.html +0 -6
  372. package/docs/types/SolverOptions.html +0 -8
  373. package/docs/types/Update.html +0 -9
  374. package/docs/types/Wrapper.html +0 -8
  375. package/eslintrc.json +0 -45
  376. package/images/E5.png +0 -0
  377. package/images/HIRES.png +0 -0
  378. package/images/OREGO.png +0 -0
  379. package/images/POLL-full.png +0 -0
  380. package/images/POLL.png +0 -0
  381. package/images/ROBER.png +0 -0
  382. package/images/VDP0L.png +0 -0
  383. package/images/VDPOL.png +0 -0
  384. package/images/acid-prod.gif +0 -0
  385. package/index.js.map +0 -1
  386. package/index.ts +0 -17
  387. package/jest.config.js +0 -13
  388. package/src/examples/basic-use.js +0 -40
  389. package/src/examples/basic-use.js.map +0 -1
  390. package/src/examples/basic-use.ts +0 -44
  391. package/src/examples/check-methods.js.map +0 -1
  392. package/src/examples/check-methods.ts +0 -96
  393. package/src/examples/corr-probs.js.map +0 -1
  394. package/src/examples/corr-probs.ts +0 -155
  395. package/src/examples/cyclic-model.js +0 -102
  396. package/src/examples/cyclic-model.js.map +0 -1
  397. package/src/examples/cyclic-model.ts +0 -112
  398. package/src/examples/e5.js +0 -36
  399. package/src/examples/e5.js.map +0 -1
  400. package/src/examples/e5.ts +0 -36
  401. package/src/examples/hires.js +0 -39
  402. package/src/examples/hires.js.map +0 -1
  403. package/src/examples/hires.ts +0 -40
  404. package/src/examples/index.js.map +0 -1
  405. package/src/examples/index.ts +0 -34
  406. package/src/examples/model-updates.js +0 -112
  407. package/src/examples/model-updates.js.map +0 -1
  408. package/src/examples/model-updates.ts +0 -122
  409. package/src/examples/orego.js +0 -24
  410. package/src/examples/orego.js.map +0 -1
  411. package/src/examples/orego.ts +0 -25
  412. package/src/examples/pipeline-use.js +0 -87
  413. package/src/examples/pipeline-use.js.map +0 -1
  414. package/src/examples/pipeline-use.ts +0 -98
  415. package/src/examples/pollution.js +0 -132
  416. package/src/examples/pollution.js.map +0 -1
  417. package/src/examples/pollution.ts +0 -133
  418. package/src/examples/print-benchmark.js +0 -581
  419. package/src/examples/print-benchmark.js.map +0 -1
  420. package/src/examples/robertson.js +0 -19
  421. package/src/examples/robertson.js.map +0 -1
  422. package/src/examples/robertson.ts +0 -19
  423. package/src/examples/scripting.js +0 -30
  424. package/src/examples/scripting.js.map +0 -1
  425. package/src/examples/scripting.ts +0 -35
  426. package/src/examples/vdpol.js +0 -17
  427. package/src/examples/vdpol.js.map +0 -1
  428. package/src/examples/vdpol.ts +0 -17
  429. package/src/pipeline/basic-pipeline-creator.js.map +0 -1
  430. package/src/pipeline/constants.js.map +0 -1
  431. package/src/pipeline/constants.ts +0 -21
  432. package/src/pipeline/index.js.map +0 -1
  433. package/src/pipeline/index.ts +0 -7
  434. package/src/pipeline/input.js.map +0 -1
  435. package/src/pipeline/input.ts +0 -55
  436. package/src/pipeline/loops-pipeline-creator.js.map +0 -1
  437. package/src/pipeline/loops-pipeline-creator.ts +0 -252
  438. package/src/pipeline/output.js.map +0 -1
  439. package/src/pipeline/output.ts +0 -201
  440. package/src/pipeline/pipeline-creator.js.map +0 -1
  441. package/src/pipeline/pipeline-creator.ts +0 -20
  442. package/src/pipeline/pipeline.js.map +0 -1
  443. package/src/pipeline/updates-pipeline-creator.js.map +0 -1
  444. package/src/scripting-tools/constants.js.map +0 -1
  445. package/src/scripting-tools/constants.ts +0 -69
  446. package/src/scripting-tools/index.js.map +0 -1
  447. package/src/scripting-tools/index.ts +0 -8
  448. package/src/scripting-tools/model-error.js.map +0 -1
  449. package/src/scripting-tools/model-error.ts +0 -21
  450. package/src/scripting-tools/scripting-tools.js.map +0 -1
  451. package/src/scripting-tools/scripting-tools.ts +0 -1582
  452. package/src/solver-tools/ab4-method.js.map +0 -1
  453. package/src/solver-tools/ab4-method.ts +0 -395
  454. package/src/solver-tools/ab5-method.js.map +0 -1
  455. package/src/solver-tools/ab5-method.ts +0 -397
  456. package/src/solver-tools/callbacks/callback-base.js.map +0 -1
  457. package/src/solver-tools/callbacks/callback-base.ts +0 -12
  458. package/src/solver-tools/callbacks/callback-tools.js.map +0 -1
  459. package/src/solver-tools/callbacks/callback-tools.ts +0 -22
  460. package/src/solver-tools/callbacks/iter-checker-callback.js.map +0 -1
  461. package/src/solver-tools/callbacks/iter-checker-callback.ts +0 -25
  462. package/src/solver-tools/callbacks/time-checker-callback.js.map +0 -1
  463. package/src/solver-tools/callbacks/time-checker-callback.ts +0 -23
  464. package/src/solver-tools/cvode/common.js +0 -487
  465. package/src/solver-tools/cvode/common.js.map +0 -1
  466. package/src/solver-tools/cvode/common.ts +0 -549
  467. package/src/solver-tools/cvode/cvode.js.map +0 -1
  468. package/src/solver-tools/cvode/cvode.ts +0 -1226
  469. package/src/solver-tools/cvode/cvode_adams.js.map +0 -1
  470. package/src/solver-tools/cvode/cvode_adams.ts +0 -142
  471. package/src/solver-tools/cvode/cvode_bdf.js.map +0 -1
  472. package/src/solver-tools/cvode/cvode_bdf.ts +0 -164
  473. package/src/solver-tools/cvode/cvode_class.js.map +0 -1
  474. package/src/solver-tools/cvode/cvode_class.ts +0 -271
  475. package/src/solver-tools/cvode/cvode_hin.js.map +0 -1
  476. package/src/solver-tools/cvode/cvode_hin.ts +0 -150
  477. package/src/solver-tools/cvode/cvode_io.js.map +0 -1
  478. package/src/solver-tools/cvode/cvode_io.ts +0 -258
  479. package/src/solver-tools/cvode/cvode_ls.js.map +0 -1
  480. package/src/solver-tools/cvode/cvode_ls.ts +0 -249
  481. package/src/solver-tools/cvode/cvode_nls.js.map +0 -1
  482. package/src/solver-tools/cvode/cvode_nls.ts +0 -259
  483. package/src/solver-tools/cvode/cvode_root.js.map +0 -1
  484. package/src/solver-tools/cvode/cvode_root.ts +0 -503
  485. package/src/solver-tools/cvode/dense_linalg.js.map +0 -1
  486. package/src/solver-tools/cvode/dense_linalg.ts +0 -144
  487. package/src/solver-tools/cvode/index.js.map +0 -1
  488. package/src/solver-tools/cvode/index.ts +0 -64
  489. package/src/solver-tools/cvode-method.js.map +0 -1
  490. package/src/solver-tools/cvode-method.ts +0 -129
  491. package/src/solver-tools/index.js.map +0 -1
  492. package/src/solver-tools/index.ts +0 -16
  493. package/src/solver-tools/lin-alg-tools.js.map +0 -1
  494. package/src/solver-tools/lin-alg-tools.ts +0 -75
  495. package/src/solver-tools/lsoda/blas.js.map +0 -1
  496. package/src/solver-tools/lsoda/blas.ts +0 -279
  497. package/src/solver-tools/lsoda/cfode.js.map +0 -1
  498. package/src/solver-tools/lsoda/cfode.ts +0 -95
  499. package/src/solver-tools/lsoda/common.js +0 -94
  500. package/src/solver-tools/lsoda/common.js.map +0 -1
  501. package/src/solver-tools/lsoda/common.ts +0 -135
  502. package/src/solver-tools/lsoda/corfailure.js.map +0 -1
  503. package/src/solver-tools/lsoda/correction.js.map +0 -1
  504. package/src/solver-tools/lsoda/correction.ts +0 -131
  505. package/src/solver-tools/lsoda/dense.js.map +0 -1
  506. package/src/solver-tools/lsoda/dense.ts +0 -141
  507. package/src/solver-tools/lsoda/index.js.map +0 -1
  508. package/src/solver-tools/lsoda/intdy.js.map +0 -1
  509. package/src/solver-tools/lsoda/intdy.ts +0 -62
  510. package/src/solver-tools/lsoda/lsoda.js.map +0 -1
  511. package/src/solver-tools/lsoda/lsoda.ts +0 -644
  512. package/src/solver-tools/lsoda/methodswitch.js.map +0 -1
  513. package/src/solver-tools/lsoda/methodswitch.ts +0 -119
  514. package/src/solver-tools/lsoda/orderswitch.js.map +0 -1
  515. package/src/solver-tools/lsoda/orderswitch.ts +0 -107
  516. package/src/solver-tools/lsoda/prja.js.map +0 -1
  517. package/src/solver-tools/lsoda/prja.ts +0 -61
  518. package/src/solver-tools/lsoda/scaleh.js.map +0 -1
  519. package/src/solver-tools/lsoda/scaleh.ts +0 -45
  520. package/src/solver-tools/lsoda/solsy.js.map +0 -1
  521. package/src/solver-tools/lsoda/stoda.js.map +0 -1
  522. package/src/solver-tools/lsoda/stoda.ts +0 -298
  523. package/src/solver-tools/lsoda-method.js.map +0 -1
  524. package/src/solver-tools/lsoda-method.ts +0 -154
  525. package/src/solver-tools/mrt-method.js.map +0 -1
  526. package/src/solver-tools/mrt-method.ts +0 -398
  527. package/src/solver-tools/rk3-method.js.map +0 -1
  528. package/src/solver-tools/rk3-method.ts +0 -257
  529. package/src/solver-tools/rk4-method.js.map +0 -1
  530. package/src/solver-tools/rk4-method.ts +0 -286
  531. package/src/solver-tools/rkdp-method.js.map +0 -1
  532. package/src/solver-tools/rkdp-method.ts +0 -300
  533. package/src/solver-tools/ros34prw-method.js.map +0 -1
  534. package/src/solver-tools/ros34prw-method.ts +0 -373
  535. package/src/solver-tools/ros3prw-method.js.map +0 -1
  536. package/src/solver-tools/ros3prw-method.ts +0 -342
  537. package/src/solver-tools/solver-defs.js.map +0 -1
  538. package/src/tests/correctness.test.js +0 -15
  539. package/src/tests/correctness.test.js.map +0 -1
  540. package/src/tests/correctness.test.ts +0 -16
  541. package/src/tests/cvode-lib-correctness.test.js +0 -404
  542. package/src/tests/cvode-lib-correctness.test.js.map +0 -1
  543. package/src/tests/cvode-lib-correctness.test.ts +0 -505
  544. package/src/tests/cvode-lib-performance.test.js +0 -103
  545. package/src/tests/cvode-lib-performance.test.js.map +0 -1
  546. package/src/tests/cvode-lib-performance.test.ts +0 -128
  547. package/src/tests/lsoda-lib-correctness.test.js +0 -223
  548. package/src/tests/lsoda-lib-correctness.test.js.map +0 -1
  549. package/src/tests/lsoda-lib-correctness.test.ts +0 -283
  550. package/src/tests/lsoda-lib-performance.test.js +0 -95
  551. package/src/tests/lsoda-lib-performance.test.js.map +0 -1
  552. package/src/tests/lsoda-lib-performance.test.ts +0 -126
  553. package/src/tests/performance.test.js +0 -18
  554. package/src/tests/performance.test.js.map +0 -1
  555. package/src/tests/performance.test.ts +0 -19
  556. package/src/tests/pipeline.test.js +0 -10
  557. package/src/tests/pipeline.test.js.map +0 -1
  558. package/src/tests/pipeline.test.ts +0 -11
  559. package/src/tests/test-defs.js +0 -213
  560. package/src/tests/test-defs.js.map +0 -1
  561. package/src/tests/test-defs.ts +0 -232
  562. package/src/tests/test-utils.js +0 -28
  563. package/src/tests/test-utils.js.map +0 -1
  564. package/src/tests/test-utils.ts +0 -37
  565. package/src/worker-tools/index.js.map +0 -1
  566. package/src/worker-tools/index.ts +0 -2
  567. package/src/worker-tools/scripting.js.map +0 -1
  568. package/src/worker-tools/solving.js.map +0 -1
  569. package/src/worker-tools/solving.ts +0 -86
  570. package/tsconfig.json +0 -71
  571. package/typedoc.json +0 -8
  572. /package/{docs/media → dist/src/examples}/basic-use.js +0 -0
  573. /package/{src → dist/src}/examples/check-methods.js +0 -0
  574. /package/{docs/media → dist/src/examples}/cyclic-model.js +0 -0
  575. /package/{docs/media → dist/src/examples}/e5.js +0 -0
  576. /package/{docs/media → dist/src/examples}/hires.js +0 -0
  577. /package/{src → dist/src}/examples/index.js +0 -0
  578. /package/{docs/media → dist/src/examples}/model-updates.js +0 -0
  579. /package/{docs/media → dist/src/examples}/orego.js +0 -0
  580. /package/{docs/media → dist/src/examples}/pipeline-use.js +0 -0
  581. /package/{docs/media → dist/src/examples}/pollution.js +0 -0
  582. /package/{docs/media → dist/src/examples}/print-benchmark.js +0 -0
  583. /package/{docs/media → dist/src/examples}/scripting.js +0 -0
  584. /package/{docs/media → dist/src/examples}/vdpol.js +0 -0
  585. /package/{src → dist/src}/pipeline/basic-pipeline-creator.js +0 -0
  586. /package/{src → dist/src}/pipeline/constants.js +0 -0
  587. /package/{src → dist/src}/pipeline/index.js +0 -0
  588. /package/{src → dist/src}/pipeline/input.js +0 -0
  589. /package/{src → dist/src}/pipeline/loops-pipeline-creator.js +0 -0
  590. /package/{src → dist/src}/pipeline/pipeline.js +0 -0
  591. /package/{src → dist/src}/pipeline/updates-pipeline-creator.js +0 -0
  592. /package/{src → dist/src}/scripting-tools/constants.js +0 -0
  593. /package/{src → dist/src}/scripting-tools/index.js +0 -0
  594. /package/{src → dist/src}/solver-tools/callbacks/callback-base.js +0 -0
  595. /package/{src → dist/src}/solver-tools/callbacks/callback-tools.js +0 -0
  596. /package/{src → dist/src}/solver-tools/cvode/cvode.js +0 -0
  597. /package/{src → dist/src}/solver-tools/cvode/cvode_adams.js +0 -0
  598. /package/{src → dist/src}/solver-tools/cvode/cvode_bdf.js +0 -0
  599. /package/{src → dist/src}/solver-tools/cvode/cvode_hin.js +0 -0
  600. /package/{src → dist/src}/solver-tools/cvode/cvode_ls.js +0 -0
  601. /package/{src → dist/src}/solver-tools/cvode/cvode_nls.js +0 -0
  602. /package/{src → dist/src}/solver-tools/cvode/cvode_root.js +0 -0
  603. /package/{src → dist/src}/solver-tools/cvode/dense_linalg.js +0 -0
  604. /package/{src → dist/src}/solver-tools/cvode/index.js +0 -0
  605. /package/{src → dist/src}/solver-tools/cvode-method.js +0 -0
  606. /package/{src → dist/src}/solver-tools/index.js +0 -0
  607. /package/{src → dist/src}/solver-tools/lin-alg-tools.js +0 -0
  608. /package/{src → dist/src}/solver-tools/lsoda/blas.js +0 -0
  609. /package/{src → dist/src}/solver-tools/lsoda/cfode.js +0 -0
  610. /package/{src → dist/src}/solver-tools/lsoda/corfailure.js +0 -0
  611. /package/{src → dist/src}/solver-tools/lsoda/correction.js +0 -0
  612. /package/{src → dist/src}/solver-tools/lsoda/index.js +0 -0
  613. /package/{src → dist/src}/solver-tools/lsoda/intdy.js +0 -0
  614. /package/{src → dist/src}/solver-tools/lsoda/methodswitch.js +0 -0
  615. /package/{src → dist/src}/solver-tools/lsoda/orderswitch.js +0 -0
  616. /package/{src → dist/src}/solver-tools/lsoda/prja.js +0 -0
  617. /package/{src → dist/src}/solver-tools/lsoda/scaleh.js +0 -0
  618. /package/{src → dist/src}/solver-tools/lsoda/solsy.js +0 -0
  619. /package/{src → dist/src}/solver-tools/lsoda/stoda.js +0 -0
  620. /package/{src → dist/src}/solver-tools/lsoda-method.js +0 -0
  621. /package/{src → dist/src}/solver-tools/solver-defs.js +0 -0
  622. /package/{src → dist/src}/worker-tools/index.js +0 -0
  623. /package/{src → dist/src}/worker-tools/scripting.js +0 -0
  624. /package/{src → dist/src}/worker-tools/solving.js +0 -0
@@ -1,487 +0,0 @@
1
- /**
2
- * TypeScript port of SUNDIALS CVODE v7.5.0 (https://github.com/LLNL/sundials)
3
- *
4
- * Copyright (c) 2025, Lawrence Livermore National Security, University of
5
- * Maryland Baltimore County, and the SUNDIALS contributors.
6
- * Copyright (c) 2013-2025, Lawrence Livermore National Security and
7
- * Southern Methodist University.
8
- * Copyright (c) 2002-2013, Lawrence Livermore National Security.
9
- * Copyright (c) 2026 Datagrok.
10
- *
11
- * Licensed under the BSD-3-Clause License. See THIRD_PARTY_LICENSES
12
- * for the full license text and provenance chain of the original code.
13
- */
14
- // CVODE TypeScript port - Foundation types, constants, and data structures
15
- // Ported from SUNDIALS CVODE v7.5.0 (cvode_impl.h, cvode_ls_impl.h)
16
- // All arrays are 0-based.
17
- // ============================================================================
18
- // Constants from cvode_impl.h
19
- // ============================================================================
20
- // --- Method order limits ---
21
- export const ADAMS_Q_MAX = 12;
22
- export const BDF_Q_MAX = 5;
23
- export const Q_MAX = 12;
24
- export const L_MAX = 13; // Q_MAX + 1
25
- export const NUM_TESTS = 5;
26
- // --- Linear multistep method types ---
27
- export const CV_ADAMS = 1;
28
- export const CV_BDF = 2;
29
- // --- Task types ---
30
- export const CV_NORMAL = 1; // integrate to tout, interpolate
31
- export const CV_ONE_STEP = 2; // take one internal step
32
- // --- Return values (success) ---
33
- export const CV_SUCCESS = 0;
34
- export const CV_TSTOP_RETURN = 1;
35
- export const CV_ROOT_RETURN = 2;
36
- // --- Return values (failure) ---
37
- export const CV_TOO_MUCH_WORK = -1;
38
- export const CV_TOO_MUCH_ACC = -2;
39
- export const CV_ERR_FAILURE = -3;
40
- export const CV_CONV_FAILURE = -4;
41
- export const CV_RHSFUNC_FAIL = -8;
42
- export const CV_FIRST_RHSFUNC_ERR = -9;
43
- export const CV_RTFUNC_FAIL = -12;
44
- export const CV_TOO_CLOSE = -27;
45
- // --- Default values ---
46
- export const HMIN_DEFAULT = 0.0;
47
- export const HMAX_INV_DEFAULT = 0.0;
48
- export const MXHNIL_DEFAULT = 10;
49
- export const MXSTEP_DEFAULT = 500;
50
- export const MSBP_DEFAULT = 20;
51
- export const DGMAX_LSETUP_DEFAULT = 0.3;
52
- // --- Eta (step size ratio) defaults ---
53
- export const ETA_MIN_FX_DEFAULT = 0.0;
54
- export const ETA_MAX_FX_DEFAULT = 1.5;
55
- export const ETA_MAX_FS_DEFAULT = 10000.0;
56
- export const ETA_MAX_ES_DEFAULT = 10.0;
57
- export const ETA_MAX_GS_DEFAULT = 10.0;
58
- export const ETA_MIN_DEFAULT = 0.1;
59
- export const ETA_MAX_EF_DEFAULT = 0.2;
60
- export const ETA_MIN_EF_DEFAULT = 0.1;
61
- export const ETA_CF_DEFAULT = 0.25;
62
- export const SMALL_NST_DEFAULT = 10;
63
- export const SMALL_NEF_DEFAULT = 2;
64
- export const ONEPSM = 1.000001;
65
- // --- Step size selection bias factors ---
66
- export const ADDON = 0.000001;
67
- export const BIAS1 = 6.0;
68
- export const BIAS2 = 6.0;
69
- export const BIAS3 = 10.0;
70
- export const LONG_WAIT = 10;
71
- // --- Failure limits ---
72
- export const MXNCF = 10; // max convergence failures per step
73
- export const MXNEF = 7; // max error test failures per step
74
- export const MXNEF1 = 3; // max error test failures on first step
75
- // --- Internal action flags ---
76
- export const DO_ERROR_TEST = 2;
77
- export const PREDICT_AGAIN = 3;
78
- export const TRY_AGAIN = 5;
79
- export const FIRST_CALL = 6;
80
- export const PREV_CONV_FAIL = 7;
81
- export const PREV_ERR_FAIL = 9;
82
- export const RHSFUNC_RECVR = 10;
83
- // --- Tolerance types ---
84
- export const CV_NN = 0; // no tolerances set
85
- export const CV_SS = 1; // scalar-scalar
86
- export const CV_SV = 2; // scalar-vector
87
- // --- Nonlinear solver failure types ---
88
- export const CV_NO_FAILURES = 0;
89
- export const CV_FAIL_BAD_J = 1;
90
- export const CV_FAIL_OTHER = 2;
91
- // --- Initial step size estimation ---
92
- export const FUZZ_FACTOR = 100.0;
93
- export const HLB_FACTOR = 100.0;
94
- export const HUB_FACTOR = 0.1;
95
- export const H_BIAS = 0.5;
96
- export const MAX_ITERS = 4;
97
- export const CORTES = 0.1;
98
- export const TINY = 1.0e-10;
99
- // --- Nonlinear solver constants ---
100
- export const NLS_MAXCOR = 3; // max corrector iterations
101
- export const CRDOWN = 0.3; // convergence rate damping
102
- export const RDIV = 2.0; // divergence threshold
103
- // --- SUNNonlinearSolver return codes (simplified) ---
104
- export const SUN_NLS_CONTINUE = 901;
105
- export const SUN_NLS_CONV_RECVR = 902;
106
- // --- Additional failure codes ---
107
- export const CV_LSETUP_FAIL = -13;
108
- export const CV_LSOLVE_FAIL = -14;
109
- export const CV_UNREC_RHSFUNC_ERR = -10;
110
- export const CV_REPTD_RHSFUNC_ERR = -11;
111
- export const CV_LINIT_FAIL = -31;
112
- export const CV_NLS_INIT_FAIL = -32;
113
- export const CV_NLS_FAIL = -33;
114
- // --- Machine epsilon ---
115
- export const UROUND = 2.2204460492503131e-16;
116
- // --- Rootfinding constants ---
117
- export const RTFOUND = 1;
118
- export const CLOSERT = 3;
119
- // --- Linear solver constants (from cvode_ls_impl.h) ---
120
- export const CVLS_MSBJ = 51; // max steps between Jacobian evals
121
- export const CVLS_DGMAX = 0.2; // gamma change threshold for Jacobian redo
122
- // ============================================================================
123
- // CvLsMem - Linear solver memory (maps CVLsMemRec from cvode_ls_impl.h)
124
- // ============================================================================
125
- export class CvLsMem {
126
- constructor() {
127
- /** N x N Jacobian matrix (row-major) */
128
- this.A = [];
129
- /** LU pivot indices */
130
- this.pivots = new Int32Array(0);
131
- /** Saved copy of Jacobian */
132
- this.savedJ = [];
133
- /** User-supplied Jacobian function */
134
- this.jacFn = null;
135
- /** Use difference-quotient Jacobian by default */
136
- this.jacDQ = true;
137
- /** Number of Jacobian evaluations */
138
- this.nje = 0;
139
- /** Number of f evaluations for DQ Jacobian */
140
- this.nfeDQ = 0;
141
- /** nst at last Jacobian evaluation */
142
- this.nstlj = 0;
143
- /** t at last Jacobian evaluation */
144
- this.tnlj = 0;
145
- /** Max steps between Jacobian evaluations (CVLS_MSBJ) */
146
- this.msbj = CVLS_MSBJ;
147
- /** Gamma change threshold (CVLS_DGMAX) */
148
- this.dgmax_jbad = CVLS_DGMAX;
149
- /** Is Jacobian stale? */
150
- this.jbad = true;
151
- }
152
- }
153
- // ============================================================================
154
- // CvodeMem - Main solver state (maps CVodeMemRec from cvode_impl.h)
155
- // ============================================================================
156
- export class CvodeMem {
157
- constructor() {
158
- // --- Problem specification ---
159
- /** RHS function: y' = f(t, y) */
160
- this.cv_f = null;
161
- /** User data passed to f, jac, root functions */
162
- this.cv_user_data = null;
163
- /** Linear multistep method: CV_ADAMS or CV_BDF */
164
- this.cv_lmm = 0;
165
- /** Tolerance type: CV_NN, CV_SS, or CV_SV */
166
- this.cv_itol = CV_NN;
167
- // --- Tolerances ---
168
- /** Relative tolerance */
169
- this.cv_reltol = 0;
170
- /** Scalar absolute tolerance */
171
- this.cv_Sabstol = 0;
172
- /** Vector absolute tolerance */
173
- this.cv_Vabstol = new Float64Array(0);
174
- /** Flag: is min(atol) == 0? */
175
- this.cv_atolmin0 = false;
176
- // --- Nordsieck history array ---
177
- /** Nordsieck array: cv_zn[j][i], j=0..q, i=0..N-1 */
178
- this.cv_zn = [];
179
- // --- Work vectors ---
180
- /** Error weight vector */
181
- this.cv_ewt = new Float64Array(0);
182
- /** Solution vector (scratch for user output) */
183
- this.cv_y = new Float64Array(0);
184
- /** Accumulated correction */
185
- this.cv_acor = new Float64Array(0);
186
- /** Temporary vector */
187
- this.cv_tempv = new Float64Array(0);
188
- /** Temporary for f evaluations */
189
- this.cv_ftemp = new Float64Array(0);
190
- /** Temporary vector 1 */
191
- this.cv_vtemp1 = new Float64Array(0);
192
- /** Temporary vector 2 */
193
- this.cv_vtemp2 = new Float64Array(0);
194
- /** Temporary vector 3 */
195
- this.cv_vtemp3 = new Float64Array(0);
196
- // --- Tstop ---
197
- /** Is tstop set? */
198
- this.cv_tstopset = false;
199
- /** Interpolate at tstop? */
200
- this.cv_tstopinterp = false;
201
- /** Stop time */
202
- this.cv_tstop = 0;
203
- // --- Step data ---
204
- /** Current method order */
205
- this.cv_q = 0;
206
- /** Order for next step */
207
- this.cv_qprime = 0;
208
- /** Next order to be used (during step) */
209
- this.cv_next_q = 0;
210
- /** Steps remaining before order change allowed */
211
- this.cv_qwait = 0;
212
- /** L = q + 1 */
213
- this.cv_L = 0;
214
- /** Initial step size (user-supplied) */
215
- this.cv_hin = 0;
216
- /** Current step size */
217
- this.cv_h = 0;
218
- /** Step size for next step */
219
- this.cv_hprime = 0;
220
- /** Next h (during step) */
221
- this.cv_next_h = 0;
222
- /** Step size ratio: hprime / h */
223
- this.cv_eta = 0;
224
- /** Step size at last Nordsieck rescale */
225
- this.cv_hscale = 0;
226
- /** Current internal time */
227
- this.cv_tn = 0;
228
- /** Last return time */
229
- this.cv_tretlast = 0;
230
- /** Step size history: tau[i], i=0..L_MAX */
231
- this.cv_tau = new Float64Array(L_MAX + 1);
232
- /** Error test quantities: tq[i], i=0..NUM_TESTS */
233
- this.cv_tq = new Float64Array(NUM_TESTS + 1);
234
- /** Polynomial coefficients: l[i], i=0..L_MAX-1 */
235
- this.cv_l = new Float64Array(L_MAX);
236
- /** 1 / l[1] */
237
- this.cv_rl1 = 0;
238
- /** gamma = h * rl1 */
239
- this.cv_gamma = 0;
240
- /** gamma at last setup */
241
- this.cv_gammap = 0;
242
- /** gamma / gammap */
243
- this.cv_gamrat = 0;
244
- /** NLS convergence rate estimate */
245
- this.cv_crate = 0;
246
- /** Previous del value (NLS) */
247
- this.cv_delp = 0;
248
- /** WRMS norm of accumulated correction */
249
- this.cv_acnrm = 0;
250
- /** Current acnrm (during step) */
251
- this.cv_acnrmcur = false;
252
- /** NLS convergence coefficient */
253
- this.cv_nlscoef = 0;
254
- // --- Limits ---
255
- /** Max method order */
256
- this.cv_qmax = 0;
257
- /** Max internal steps per call */
258
- this.cv_mxstep = MXSTEP_DEFAULT;
259
- /** Max t+h==t warnings */
260
- this.cv_mxhnil = MXHNIL_DEFAULT;
261
- /** Max error test failures per step */
262
- this.cv_maxnef = MXNEF;
263
- /** Max convergence failures per step */
264
- this.cv_maxncf = MXNCF;
265
- /** Min step size */
266
- this.cv_hmin = HMIN_DEFAULT;
267
- /** 1/hmax (inverse of max step size) */
268
- this.cv_hmax_inv = HMAX_INV_DEFAULT;
269
- /** Max eta for step size increase */
270
- this.cv_etamax = 0;
271
- /** Min fixed eta threshold */
272
- this.cv_eta_min_fx = ETA_MIN_FX_DEFAULT;
273
- /** Max fixed eta threshold */
274
- this.cv_eta_max_fx = ETA_MAX_FX_DEFAULT;
275
- /** Max eta on first step */
276
- this.cv_eta_max_fs = ETA_MAX_FS_DEFAULT;
277
- /** Max eta on early steps */
278
- this.cv_eta_max_es = ETA_MAX_ES_DEFAULT;
279
- /** Max eta on general steps */
280
- this.cv_eta_max_gs = ETA_MAX_GS_DEFAULT;
281
- /** Min eta */
282
- this.cv_eta_min = ETA_MIN_DEFAULT;
283
- /** Min eta on error failure */
284
- this.cv_eta_min_ef = ETA_MIN_EF_DEFAULT;
285
- /** Max eta on error failure */
286
- this.cv_eta_max_ef = ETA_MAX_EF_DEFAULT;
287
- /** Eta on convergence failure */
288
- this.cv_eta_cf = ETA_CF_DEFAULT;
289
- /** Small step count threshold */
290
- this.cv_small_nst = SMALL_NST_DEFAULT;
291
- /** Small error failure threshold */
292
- this.cv_small_nef = SMALL_NEF_DEFAULT;
293
- // --- Counters ---
294
- /** Total internal steps taken */
295
- this.cv_nst = 0;
296
- /** Total RHS evaluations */
297
- this.cv_nfe = 0;
298
- /** Convergence failures */
299
- this.cv_ncfn = 0;
300
- /** Nonlinear iterations */
301
- this.cv_nni = 0;
302
- /** Nonlinear iteration failures */
303
- this.cv_nnf = 0;
304
- /** Error test failures */
305
- this.cv_netf = 0;
306
- /** Linear solver setups */
307
- this.cv_nsetups = 0;
308
- /** t+h==t warnings */
309
- this.cv_nhnil = 0;
310
- // --- Step size ratios for order selection ---
311
- /** Eta for order q-1 */
312
- this.cv_etaqm1 = 0;
313
- /** Eta for order q */
314
- this.cv_etaq = 0;
315
- /** Eta for order q+1 */
316
- this.cv_etaqp1 = 0;
317
- // --- Linear solver interface ---
318
- /** Linear solver init function */
319
- this.cv_linit = null;
320
- /** Linear solver setup function */
321
- this.cv_lsetup = null;
322
- /** Linear solver solve function */
323
- this.cv_lsolve = null;
324
- /** Linear solver free function */
325
- this.cv_lfree = null;
326
- /** Linear solver memory */
327
- this.cv_lmem = null;
328
- /** Max steps between Jacobian setups */
329
- this.cv_msbp = MSBP_DEFAULT;
330
- /** Gamma change threshold for Jacobian redo */
331
- this.cv_dgmax_lsetup = DGMAX_LSETUP_DEFAULT;
332
- // --- Saved values ---
333
- /** Order used on last successful step */
334
- this.cv_qu = 0;
335
- /** nst at last Jacobian setup */
336
- this.cv_nstlp = 0;
337
- /** Initial step size actually used */
338
- this.cv_h0u = 0;
339
- /** Step size used on last successful step */
340
- this.cv_hu = 0;
341
- /** Saved tq[5] for order selection */
342
- this.cv_saved_tq5 = 0;
343
- /** Is Jacobian current? */
344
- this.cv_jcur = false;
345
- /** Tolerance scale factor */
346
- this.cv_tolsf = 0;
347
- /** Max order allocated in Nordsieck array */
348
- this.cv_qmax_alloc = 0;
349
- /** Index of acor in zn array */
350
- this.cv_indx_acor = 0;
351
- // --- Initialization flags ---
352
- /** Has CvodeMem been allocated/initialized? */
353
- this.cv_MallocDone = false;
354
- /** Has vector abstol been allocated? */
355
- this.cv_VabstolMallocDone = false;
356
- // --- BDF stability limit detection ---
357
- /** Enable stability limit detection? */
358
- this.cv_sldeton = false;
359
- /** Stability data: ssdat[6][4] (6 rows, 4 cols) */
360
- this.cv_ssdat = [];
361
- /** Steps since stability check */
362
- this.cv_nscon = 0;
363
- /** Order flag for stability */
364
- this.cv_nor = 0;
365
- // --- Rootfinding ---
366
- /** Root function */
367
- this.cv_gfun = null;
368
- /** Number of root functions */
369
- this.cv_nrtfn = 0;
370
- /** Root direction info (which roots were found) */
371
- this.cv_iroots = new Int32Array(0);
372
- /** Root direction constraints */
373
- this.cv_rootdir = new Int32Array(0);
374
- /** t at low end of bracket */
375
- this.cv_tlo = 0;
376
- /** t at high end of bracket */
377
- this.cv_thi = 0;
378
- /** t at root */
379
- this.cv_trout = 0;
380
- /** g values at low end */
381
- this.cv_glo = new Float64Array(0);
382
- /** g values at high end */
383
- this.cv_ghi = new Float64Array(0);
384
- /** g values at root */
385
- this.cv_grout = new Float64Array(0);
386
- /** Output time saved for root check */
387
- this.cv_toutc = 0;
388
- /** Root time tolerance */
389
- this.cv_ttol = 0;
390
- /** Task flag for root check */
391
- this.cv_taskc = 0;
392
- /** Root found on previous step? */
393
- this.cv_irfnd = 0;
394
- /** Number of g evaluations */
395
- this.cv_nge = 0;
396
- /** Active root functions flags */
397
- this.cv_gactive = new Uint8Array(0);
398
- /** Max steps with g inactive before declaring permanently inactive */
399
- this.cv_mxgnull = 1;
400
- // --- NLS ---
401
- /** Convergence failure type (CV_NO_FAILURES, CV_FAIL_BAD_J, CV_FAIL_OTHER) */
402
- this.convfail = CV_NO_FAILURES;
403
- // --- Error ---
404
- /** Error message string */
405
- this.cv_error = '';
406
- // --- Problem size ---
407
- /** Number of equations */
408
- this.cv_N = 0;
409
- // --- Resize flag ---
410
- /** First step after problem resize */
411
- this.first_step_after_resize = false;
412
- }
413
- }
414
- // ============================================================================
415
- // Utility functions
416
- // ============================================================================
417
- /**
418
- * Weighted root-mean-square norm.
419
- * Returns sqrt(sum((v[i]*w[i])^2) / n) for i = 0..n-1.
420
- */
421
- export function wrmsNorm(n, v, w) {
422
- let sum = 0.0;
423
- for (let i = 0; i < n; i++) {
424
- const vw = v[i] * w[i];
425
- sum += vw * vw;
426
- }
427
- return Math.sqrt(sum / n);
428
- }
429
- /**
430
- * Linear combination of two vectors: z[i] = a*x[i] + b*y[i] for i = 0..n-1.
431
- */
432
- export function vLinearSum(a, x, b, y, z, n) {
433
- for (let i = 0; i < n; i++)
434
- z[i] = a * x[i] + b * y[i];
435
- }
436
- /**
437
- * Scale a vector: z[i] = c * x[i] for i = 0..n-1.
438
- */
439
- export function vScale(c, x, z, n) {
440
- for (let i = 0; i < n; i++)
441
- z[i] = c * x[i];
442
- }
443
- /**
444
- * Set all elements of a vector to a constant: z[i] = c for i = 0..n-1.
445
- */
446
- export function vConst(c, z, n) {
447
- z.fill(c, 0, n);
448
- }
449
- /**
450
- * Dense output interpolation from the Nordsieck history array.
451
- *
452
- * Computes the k-th derivative of the interpolating polynomial at time t:
453
- * dky = sum_{j=k}^{q} c(j,k) * s^(j-k) * h^(-k) * zn[j]
454
- * where s = (t - tn) / h, c(j,k) = j*(j-1)*...*(j-k+1).
455
- *
456
- * @returns 0 on success, -1 on invalid input.
457
- */
458
- export function cvodeGetDky(mem, t, k, dky) {
459
- if (k < 0 || k > mem.cv_q)
460
- return -1;
461
- const N = mem.cv_N;
462
- const tfuzz = FUZZ_FACTOR * UROUND *
463
- (Math.abs(mem.cv_tn) + Math.abs(mem.cv_hu));
464
- const tp = mem.cv_tn - mem.cv_hu - Math.abs(tfuzz);
465
- const tn1 = mem.cv_tn + Math.abs(tfuzz);
466
- if ((t - tp) * (t - tn1) > 0)
467
- return -1;
468
- const s = (t - mem.cv_tn) / mem.cv_h;
469
- dky.fill(0.0, 0, N);
470
- for (let j = mem.cv_q; j >= k; j--) {
471
- let c = 1.0;
472
- for (let i = j; i >= j - k + 1; i--)
473
- c *= i;
474
- for (let i = 0; i < j - k; i++)
475
- c *= s;
476
- const znj = mem.cv_zn[j];
477
- for (let i = 0; i < N; i++)
478
- dky[i] += c * znj[i];
479
- }
480
- if (k > 0) {
481
- const r = Math.pow(mem.cv_h, -k);
482
- for (let i = 0; i < N; i++)
483
- dky[i] *= r;
484
- }
485
- return 0;
486
- }
487
- //# sourceMappingURL=common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["common.ts"],"names":[],"mappings":"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"}