diff-grok 1.2.0 → 1.3.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 (624) hide show
  1. package/README.MD +39 -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 +23 -0
  83. package/dist/src/latex-export/generator/latex-generator.js +176 -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cvode_adams.js","sourceRoot":"","sources":["../../../../src/solver-tools/cvode/cvode_adams.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
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
+ import { CvodeMem } from './common';
15
+ /**
16
+ * cvSetBDF - Compute BDF method coefficients l[] and tq[]
17
+ *
18
+ * The polynomial l(x) = l_0 + l_1*x + ... + l_q*x^q is given by:
19
+ * Lambda(x) = (1 + x/xi*_q) * product_{i=1}^{q-1} (1 + x/xi_i)
20
+ * where xi_i = (t_n - t_{n-i}) / h
21
+ *
22
+ * The tq array holds test quantities for error and convergence tests:
23
+ * tq[1] = coefficient for error at order q-1
24
+ * tq[2] = coefficient for error at order q
25
+ * tq[3] = coefficient for error at order q+1
26
+ * tq[4] = convergence test coefficient
27
+ * tq[5] = derivative for order q+2 vector
28
+ */
29
+ export declare function cvSetBDF(mem: CvodeMem): void;
30
+ /**
31
+ * cvIncreaseBDF - Adjust history array for BDF order increase
32
+ */
33
+ export declare function cvIncreaseBDF(mem: CvodeMem): void;
34
+ /**
35
+ * cvDecreaseBDF - Adjust history array for BDF order decrease
36
+ */
37
+ export declare function cvDecreaseBDF(mem: CvodeMem): void;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cvode_bdf.js","sourceRoot":"","sources":["../../../../src/solver-tools/cvode/cvode_bdf.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
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
+ import { CvodeStats } from './cvode_io';
15
+ /**
16
+ * User ODE function: y' = f(t, y).
17
+ * Arrays are 0-based. Return value is void; wrapping to int is done internally.
18
+ */
19
+ export type OdeFunction = (t: number, y: Float64Array, ydot: Float64Array) => void;
20
+ /**
21
+ * Options for the Cvode solver.
22
+ */
23
+ export interface CvodeOptions {
24
+ /** Linear multistep method: 'adams' (non-stiff) or 'bdf' (stiff). Default: 'bdf'. */
25
+ lmm?: 'adams' | 'bdf';
26
+ /** Relative tolerance. Default: 1e-4. */
27
+ rtol?: number;
28
+ /** Absolute tolerance: scalar or per-component array. Default: 1e-6. */
29
+ atol?: number | Float64Array;
30
+ /** Maximum number of internal steps per cvode() call. */
31
+ maxSteps?: number;
32
+ /** Maximum method order. */
33
+ maxOrder?: number;
34
+ /** Maximum step size (0 = no limit). */
35
+ maxStep?: number;
36
+ /** Minimum step size. */
37
+ minStep?: number;
38
+ /** Initial step size (0 = auto-select). */
39
+ initStep?: number;
40
+ /** Stop time: integration will not proceed past this value. */
41
+ stopTime?: number;
42
+ /** Root function: g(t, y, gout). */
43
+ rootFn?: (t: number, y: Float64Array, gout: Float64Array) => void;
44
+ /** Number of root functions (required when rootFn is provided). */
45
+ nRootFns?: number;
46
+ /** User-supplied Jacobian function: J = df/dy. */
47
+ jacFn?: (t: number, y: Float64Array, fy: Float64Array, J: Float64Array[]) => void;
48
+ /** Arbitrary user data (passed as context, not forwarded to callbacks). */
49
+ userData?: any;
50
+ }
51
+ /**
52
+ * Result returned by solve() and step().
53
+ */
54
+ export interface CvodeSolveResult {
55
+ /** Time reached by the solver. */
56
+ t: number;
57
+ /** Solution vector at time t (0-based, copy). */
58
+ y: Float64Array;
59
+ /** Solver flag (CV_SUCCESS=0, CV_ROOT_RETURN=2, CV_TSTOP_RETURN=1, negative=error). */
60
+ flag: number;
61
+ /** Root indices found when flag === CV_ROOT_RETURN. */
62
+ rootsFound?: Int32Array;
63
+ }
64
+ /**
65
+ * High-level CVODE solver class with a 0-based public interface.
66
+ *
67
+ * Usage:
68
+ * const solver = new Cvode(f, neq, t0, y0, { lmm: 'bdf', rtol: 1e-6, atol: 1e-9 });
69
+ * const result = solver.solve(tout);
70
+ */
71
+ export declare class Cvode {
72
+ private mem;
73
+ private neq;
74
+ /** Output vector reused across calls (0-based, neq elements). */
75
+ private yout;
76
+ /** Wrapped RHS stored to allow re-initialization. */
77
+ private wrappedF;
78
+ constructor(f: OdeFunction, neq: number, t0: number, y0: Float64Array, options?: CvodeOptions);
79
+ /**
80
+ * Integrate from the current time to tout using CV_NORMAL mode
81
+ * (integrator advances to tout and interpolates).
82
+ *
83
+ * @param tout - target output time
84
+ * @returns CvodeSolveResult with { t, y, flag, rootsFound? }
85
+ */
86
+ solve(tout: number): CvodeSolveResult;
87
+ /**
88
+ * Take a single internal step using CV_ONE_STEP mode.
89
+ * The solver advances by one internal step of whatever size it chooses.
90
+ *
91
+ * @returns CvodeSolveResult with { t, y, flag, rootsFound? }
92
+ */
93
+ step(): CvodeSolveResult;
94
+ /**
95
+ * Dense output: compute the k-th derivative of the interpolating polynomial
96
+ * at time t using the current Nordsieck history array.
97
+ *
98
+ * @param t - interpolation time (must be within the last step interval)
99
+ * @param k - derivative order (0 = solution, 1 = first derivative, ...)
100
+ * @returns copy of the interpolated vector (length neq)
101
+ */
102
+ getDky(t: number, k: number): Float64Array;
103
+ /**
104
+ * Return current integrator statistics.
105
+ */
106
+ getStats(): CvodeStats;
107
+ /**
108
+ * Re-initialize the solver for a new initial-value problem with the same
109
+ * ODE function and options. Resets internal state and counters.
110
+ *
111
+ * @param t0 - new initial time
112
+ * @param y0 - new initial conditions (length neq)
113
+ */
114
+ reInit(t0: number, y0: Float64Array): void;
115
+ private _buildResult;
116
+ }
@@ -29,11 +29,16 @@ import { cvodeGetIntegratorStats, cvodeSStolerances, cvodeSVtolerances, cvodeSet
29
29
  * const result = solver.solve(tout);
30
30
  */
31
31
  export class Cvode {
32
+ mem;
33
+ neq;
34
+ /** Output vector reused across calls (0-based, neq elements). */
35
+ yout;
36
+ /** Wrapped RHS stored to allow re-initialization. */
37
+ wrappedF;
32
38
  constructor(f, neq, t0, y0, options) {
33
- var _a, _b;
34
39
  this.neq = neq;
35
40
  this.yout = new Float64Array(neq);
36
- const opts = options !== null && options !== void 0 ? options : {};
41
+ const opts = options ?? {};
37
42
  // --- 1. Create CvodeMem ---
38
43
  const lmmValue = (opts.lmm === 'adams') ? CV_ADAMS : CV_BDF;
39
44
  this.mem = cvodeCreate(lmmValue);
@@ -45,8 +50,8 @@ export class Cvode {
45
50
  // --- 3. Initialize ---
46
51
  cvodeInit(this.mem, this.wrappedF, t0, y0);
47
52
  // --- 4. Set tolerances ---
48
- const rtol = (_a = opts.rtol) !== null && _a !== void 0 ? _a : 1e-4;
49
- const atol = (_b = opts.atol) !== null && _b !== void 0 ? _b : 1e-6;
53
+ const rtol = opts.rtol ?? 1e-4;
54
+ const atol = opts.atol ?? 1e-6;
50
55
  if (typeof atol === 'number')
51
56
  cvodeSStolerances(this.mem, rtol, atol);
52
57
  else
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cvode_class.js","sourceRoot":"","sources":["../../../../src/solver-tools/cvode/cvode_class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
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
+ import { CvodeMem } from './common';
15
+ /**
16
+ * cvHin - Compute initial step size h0.
17
+ *
18
+ * The algorithm:
19
+ * 1. Compute a bound hub on |h| from ydot and tdist
20
+ * 2. Set hlb = HLB_FACTOR * tround (lower bound)
21
+ * 3. Iterate to estimate ||y''|| and compute h candidates
22
+ * 4. h0 = H_BIAS * geometric mean of hlb and hub candidates
23
+ */
24
+ export declare function cvHin(mem: CvodeMem, tout: number): number;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cvode_hin.js","sourceRoot":"","sources":["../../../../src/solver-tools/cvode/cvode_hin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
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
+ import { CvodeMem } from './common';
15
+ export interface CvodeStats {
16
+ nSteps: number;
17
+ nRhsEvals: number;
18
+ nLinSolvSetups: number;
19
+ nErrTestFails: number;
20
+ nNonlinSolvIters: number;
21
+ nNonlinSolvConvFails: number;
22
+ nJacEvals: number;
23
+ nGEvals: number;
24
+ lastOrder: number;
25
+ lastStep: number;
26
+ currentTime: number;
27
+ }
28
+ /**
29
+ * Set scalar relative and absolute tolerances.
30
+ * Requires rtol >= 0 and atol >= 0.
31
+ */
32
+ export declare function cvodeSStolerances(mem: CvodeMem, rtol: number, atol: number): number;
33
+ /**
34
+ * Set scalar relative tolerance and vector absolute tolerance.
35
+ * Requires rtol >= 0 and all atol[i] >= 0.
36
+ */
37
+ export declare function cvodeSVtolerances(mem: CvodeMem, rtol: number, atol: Float64Array): number;
38
+ /**
39
+ * Set the maximum number of internal steps per call to CVode.
40
+ */
41
+ export declare function cvodeSetMaxNumSteps(mem: CvodeMem, mxstep: number): number;
42
+ /**
43
+ * Set the maximum method order. Clamped to [1, qmax] where qmax is
44
+ * ADAMS_Q_MAX or BDF_Q_MAX depending on the linear multistep method.
45
+ */
46
+ export declare function cvodeSetMaxOrd(mem: CvodeMem, maxord: number): number;
47
+ /**
48
+ * Set the maximum step size. If hmax <= 0, no upper limit is imposed
49
+ * (cv_hmax_inv = 0). Otherwise cv_hmax_inv = 1 / hmax.
50
+ */
51
+ export declare function cvodeSetMaxStep(mem: CvodeMem, hmax: number): number;
52
+ /**
53
+ * Set the minimum step size (stored as absolute value).
54
+ */
55
+ export declare function cvodeSetMinStep(mem: CvodeMem, hmin: number): number;
56
+ /**
57
+ * Set the initial step size hint.
58
+ */
59
+ export declare function cvodeSetInitStep(mem: CvodeMem, hin: number): number;
60
+ /**
61
+ * Set a stop time. Integration will not proceed past tstop.
62
+ */
63
+ export declare function cvodeSetStopTime(mem: CvodeMem, tstop: number): number;
64
+ /**
65
+ * Attach user data that will be passed to the RHS, Jacobian, and root
66
+ * functions.
67
+ */
68
+ export declare function cvodeSetUserData(mem: CvodeMem, data: any): number;
69
+ /**
70
+ * Enable or disable BDF stability limit detection.
71
+ */
72
+ export declare function cvodeSetStabLimDet(mem: CvodeMem, on: boolean): number;
73
+ /** Return the total number of internal steps taken. */
74
+ export declare function cvodeGetNumSteps(mem: CvodeMem): number;
75
+ /** Return the total number of RHS evaluations. */
76
+ export declare function cvodeGetNumRhsEvals(mem: CvodeMem): number;
77
+ /** Return the number of linear solver setup calls. */
78
+ export declare function cvodeGetNumLinSolvSetups(mem: CvodeMem): number;
79
+ /** Return the number of error test failures. */
80
+ export declare function cvodeGetNumErrTestFails(mem: CvodeMem): number;
81
+ /** Return the number of nonlinear solver iterations. */
82
+ export declare function cvodeGetNumNonlinSolvIters(mem: CvodeMem): number;
83
+ /** Return the number of nonlinear solver convergence failures. */
84
+ export declare function cvodeGetNumNonlinSolvConvFails(mem: CvodeMem): number;
85
+ /** Return the number of Jacobian evaluations (from the linear solver). */
86
+ export declare function cvodeGetNumJacEvals(mem: CvodeMem): number;
87
+ /** Return the total number of root-function evaluations. */
88
+ export declare function cvodeGetNumGEvals(mem: CvodeMem): number;
89
+ /** Return the method order used on the last successful step. */
90
+ export declare function cvodeGetLastOrder(mem: CvodeMem): number;
91
+ /** Return the step size used on the last successful step. */
92
+ export declare function cvodeGetLastStep(mem: CvodeMem): number;
93
+ /** Return the current internal time reached by the solver. */
94
+ export declare function cvodeGetCurrentTime(mem: CvodeMem): number;
95
+ /**
96
+ * Return a snapshot of all integrator statistics as a plain object.
97
+ */
98
+ export declare function cvodeGetIntegratorStats(mem: CvodeMem): CvodeStats;
@@ -163,8 +163,7 @@ export function cvodeGetNumNonlinSolvConvFails(mem) {
163
163
  }
164
164
  /** Return the number of Jacobian evaluations (from the linear solver). */
165
165
  export function cvodeGetNumJacEvals(mem) {
166
- var _a, _b;
167
- return (_b = (_a = mem.cv_lmem) === null || _a === void 0 ? void 0 : _a.nje) !== null && _b !== void 0 ? _b : 0;
166
+ return mem.cv_lmem?.nje ?? 0;
168
167
  }
169
168
  /** Return the total number of root-function evaluations. */
170
169
  export function cvodeGetNumGEvals(mem) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cvode_io.js","sourceRoot":"","sources":["../../../../src/solver-tools/cvode/cvode_io.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
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
+ import { CvodeMem, CvodeJacFn } from './common';
15
+ /**
16
+ * cvodeSetLinearSolver - Initialize the dense linear solver.
17
+ * Sets up CvLsMem, allocates matrix, sets function pointers on CvodeMem.
18
+ */
19
+ export declare function cvodeSetLinearSolver(mem: CvodeMem): number;
20
+ /**
21
+ * cvodeSetJacFn - Set a user-supplied Jacobian function.
22
+ */
23
+ export declare function cvodeSetJacFn(mem: CvodeMem, jac: CvodeJacFn | null): number;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cvode_ls.js","sourceRoot":"","sources":["../../../../src/solver-tools/cvode/cvode_ls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
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
+ import { CvodeMem } from './common';
15
+ /**
16
+ * cvNls - Solve the nonlinear system for one step.
17
+ *
18
+ * For BDF: Newton iteration solving G(ycor) = 0 where
19
+ * G(ycor) = rl1*zn[1] + ycor - gamma*f(tn, zn[0]+ycor)
20
+ * The Newton update is: (I - gamma*J) * delta = -G(ycor)
21
+ *
22
+ * For Adams: Fixed-point iteration
23
+ * ycor_new = h * rl1 * f(tn, zn[0]+ycor) - rl1*zn[1]
24
+ */
25
+ export declare function cvNls(mem: CvodeMem, nflag: number): number;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cvode_nls.js","sourceRoot":"","sources":["../../../../src/solver-tools/cvode/cvode_nls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAW,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EACpD,UAAU,EAAE,MAAM,EAAY,eAAe,EAAE,cAAc,EAAE,cAAc,EAC7E,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EACnD,cAAc,EAAiB,aAAa,EAC5C,UAAU,EAAE,cAAc,EAAE,aAAa,EACzC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAS,MAAM,UAAU,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,UAAU,KAAK,CAAC,GAAa,EAAE,KAAa;IAChD,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IACnB,IAAI,SAAkB,CAAC;IAEvB,6CAA6C;IAC7C,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAClB,GAAG,CAAC,QAAQ,GAAG,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC;YAChE,cAAc,CAAC,CAAC;YAChB,aAAa,CAAC;QAEhB,SAAS,GAAG,CAAC,KAAK,KAAK,cAAc,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC;YACvD,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC;YACnD,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;YAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC;QACnB,SAAS,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,yCAAyC;IACzC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAE5B,wBAAwB;IACxB,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;IAExB,oCAAoC;IACpC,IAAI,IAAY,CAAC;IACjB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;QACvB,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;;QAEzC,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAGpC,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAErC,6CAA6C;IAC7C,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE7D,oCAAoC;IACpC,IAAI,CAAC,GAAG,CAAC,WAAW;QAClB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAGtD,yBAAyB;IACzB,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;IAEpB,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,GAAa,EAAE,SAAkB;IAC1D,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IACnB,IAAI,MAAc,CAAC;IAEnB,qCAAqC;IACrC,IAAI,SAAS,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAC/B,2CAA2C;QAC3C,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAE7D,sCAAsC;QACtC,MAAM,GAAG,GAAG,CAAC,IAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACxE,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,eAAe,CAAC;QACvC,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,aAAa,CAAC;QAErC,cAAc;QACd,MAAM,OAAO,GAAG,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,SAAU,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EACxE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,GAAG,CAAC,UAAU,EAAE,CAAC;QAEjB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC;QACpB,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC;QACnB,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;QAE1B,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,cAAc,CAAC;QACtC,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,kBAAkB,CAAC;IAC5C,CAAC;IAED,wBAAwB;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,GAAG,CAAC,MAAM,EAAE,CAAC;QAEb,mBAAmB;QACnB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAE7D,oBAAoB;QACpB,MAAM,GAAG,GAAG,CAAC,IAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACxE,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,eAAe,CAAC;QACvC,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,aAAa,CAAC;QAErC,uDAAuD;QACvD,iDAAiD;QACjD,MAAM,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACxB,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAGxF,0EAA0E;QAC1E,6DAA6D;QAC7D,gCAAgC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzC,MAAM,GAAG,GAAG,CAAC,SAAU,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,cAAc,CAAC;QACtC,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,kBAAkB,CAAC;QAE1C,mDAAmD;QACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnD,mBAAmB;QACnB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhE,IAAI,cAAc,KAAK,UAAU;YAAE,OAAO,UAAU,CAAC;QACrD,IAAI,cAAc,KAAK,kBAAkB,EAAE,CAAC;YAC1C,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QACD,uCAAuC;IACzC,CAAC;IAED,6CAA6C;IAC7C,GAAG,CAAC,MAAM,EAAE,CAAC;IACb,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,GAAa;IAC1C,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IACnB,IAAI,MAAc,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,GAAG,CAAC,MAAM,EAAE,CAAC;QAEb,mBAAmB;QACnB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAE7D,sCAAsC;QACtC,MAAM,GAAG,GAAG,CAAC,IAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACxE,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,eAAe,CAAC;QACvC,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,aAAa,CAAC;QAErC,0CAA0C;QAC1C,mCAAmC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACxB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjE,oBAAoB;QACpB,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAE7C,iCAAiC;QACjC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACxB,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAGzC,cAAc;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAExD,mBAAmB;QACnB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhE,IAAI,cAAc,KAAK,UAAU;YAAE,OAAO,UAAU,CAAC;QACrD,IAAI,cAAc,KAAK,kBAAkB,EAAE,CAAC;YAC1C,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QACD,uCAAuC;IACzC,CAAC;IAED,yBAAyB;IACzB,GAAG,CAAC,MAAM,EAAE,CAAC;IACb,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,GAAa,EAAE,GAAW,EAAE,CAAS,EAAE,GAAW;IACvE,mCAAmC;IACnC,IAAI,CAAC,GAAG,CAAC;QACP,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAGpE,uBAAuB;IACvB,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IAErD,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;QAChB,YAAY;QACZ,IAAI,CAAC,KAAK,CAAC;YACT,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC;;YAEnB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAE7D,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;QACvB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,OAAO;QACpC,OAAO,kBAAkB,CAAC;IAG5B,wBAAwB;IACxB,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;IAClB,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,64 @@
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
+ import { CvodeMem, CvodeRootFn } from './common';
15
+ /**
16
+ * CVodeRootInit - Initialize rootfinding for CVODE.
17
+ *
18
+ * C reference: CVodeRootInit (cvode.c, lines ~821-1012)
19
+ *
20
+ * If nrtfn <= 0, disables rootfinding and returns CV_SUCCESS.
21
+ * Otherwise, allocates arrays for root functions and sets defaults.
22
+ *
23
+ * @param mem - CVODE memory block
24
+ * @param nrtfn - number of root functions
25
+ * @param g - root function callback
26
+ * @returns CV_SUCCESS on success
27
+ */
28
+ export declare function cvodeRootInit(mem: CvodeMem, nrtfn: number, g: CvodeRootFn): number;
29
+ /**
30
+ * cvRcheck1 - First-step root check.
31
+ *
32
+ * C reference: cvRcheck1 (cvode.c, lines ~4251-4300)
33
+ *
34
+ * Completes initialization of rootfinding memory and checks whether g
35
+ * has a zero both at and very near the initial point of the IVP.
36
+ *
37
+ * @param mem - CVODE memory block
38
+ * @returns CV_SUCCESS or CV_RTFUNC_FAIL
39
+ */
40
+ export declare function cvRcheck1(mem: CvodeMem): number;
41
+ /**
42
+ * cvRcheck2 - Subsequent-step root check for exact zeros at last root.
43
+ *
44
+ * C reference: cvRcheck2 (cvode.c, lines ~4323-4385)
45
+ *
46
+ * Checks for exact zeros of g at the last root found, for close pairs
47
+ * of zeros (error condition), and for a new root at a nearby point.
48
+ *
49
+ * @param mem - CVODE memory block
50
+ * @returns CV_SUCCESS, CLOSERT, RTFOUND, or CV_RTFUNC_FAIL
51
+ */
52
+ export declare function cvRcheck2(mem: CvodeMem): number;
53
+ /**
54
+ * cvRcheck3 - Root search between tlo and tn (or tout).
55
+ *
56
+ * C reference: cvRcheck3 (cvode.c, lines ~4400-4453)
57
+ *
58
+ * Interfaces to cvRootfind to look for a root of g between tlo and
59
+ * either tn or tout, whichever comes first.
60
+ *
61
+ * @param mem - CVODE memory block
62
+ * @returns CV_SUCCESS, RTFOUND, or CV_RTFUNC_FAIL
63
+ */
64
+ export declare function cvRcheck3(mem: CvodeMem): number;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cvode_root.js","sourceRoot":"","sources":["../../../../src/solver-tools/cvode/cvode_root.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
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
+ /**
15
+ * LU factorization of an n-by-n dense matrix by Gaussian elimination
16
+ * with partial pivoting (row-major, 0-based).
17
+ *
18
+ * On exit, `a` is overwritten with the LU factors:
19
+ * - The upper triangle (including diagonal) holds U.
20
+ * - The strict lower triangle holds the multipliers L (unit diagonal implied).
21
+ *
22
+ * The pivot vector `ipvt` records row interchanges: at step k, row k was
23
+ * swapped with row ipvt[k] before elimination.
24
+ *
25
+ * @param a - n-by-n matrix stored as `Float64Array[]` (a[i] = row i).
26
+ * Overwritten with LU factors in place.
27
+ * @param n - matrix dimension (number of rows and columns).
28
+ * @param ipvt - pivot index output array (`Int32Array` of length n, 0-based).
29
+ * @returns 0 on success, or k+1 (1-based) if U[k][k] is exactly zero
30
+ * (the matrix is singular or nearly so). A nonzero return means
31
+ * the factorization completed but the factor U is singular.
32
+ */
33
+ export declare function dgefa(a: Float64Array[], n: number, ipvt: Int32Array): number;
34
+ /**
35
+ * Solve A * x = b using the LU factorization produced by {@link dgefa}.
36
+ *
37
+ * On entry, `b` contains the right-hand side vector. On exit, `b` is
38
+ * overwritten with the solution vector x.
39
+ *
40
+ * The solve proceeds in three stages:
41
+ * 1. Permute b according to the pivot vector (row interchanges).
42
+ * 2. Forward substitution: solve L * y = P * b.
43
+ * 3. Back substitution: solve U * x = y.
44
+ *
45
+ * @param a - LU-factored n-by-n matrix from dgefa (row-major, 0-based).
46
+ * @param n - matrix dimension.
47
+ * @param ipvt - pivot indices from dgefa (0-based, length n).
48
+ * @param b - right-hand side on input (length n, 0-based), solution on output.
49
+ */
50
+ export declare function dgesl(a: Float64Array[], n: number, ipvt: Int32Array, b: Float64Array): void;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dense_linalg.js","sourceRoot":"","sources":["../../../../src/solver-tools/cvode/dense_linalg.ts"],"names":[],"mappings":"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"}