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
@@ -1,34 +0,0 @@
1
- import {robertson, robertsonReferencePoint} from './robertson';
2
- import {hires, hiresReferencePoint} from './hires';
3
- import {vdpol, vdpolReferencePoint} from './vdpol';
4
- import {orego, oregoReferencePoint} from './orego';
5
- import {e5, e5ReferencePoint} from './e5';
6
- import {pollution, pollutionReferencePoint} from './pollution';
7
-
8
- /** Problems for performance check
9
- * @internal
10
- */
11
- export const perfProbs = [
12
- robertson,
13
- hires,
14
- vdpol,
15
- orego,
16
- e5,
17
- pollution,
18
- ];
19
-
20
- /** Reference points for the performance problems
21
- * @internal
22
- */
23
- export const refPoints = [
24
- robertsonReferencePoint,
25
- hiresReferencePoint,
26
- vdpolReferencePoint,
27
- oregoReferencePoint,
28
- e5ReferencePoint,
29
- pollutionReferencePoint,
30
- ];
31
-
32
- export {corrProbs, CorrProblem} from './corr-probs';
33
-
34
- export {printRobertson, printHires, printOrego, printE5, printVdpol, printPollution} from './print-benchmark';
@@ -1,112 +0,0 @@
1
- /* eslint-disable max-len */
2
- /** This example shows how to apply pipelines and models with updates.
3
- This approach can be used for in-webworkers analysis of models.
4
-
5
- Here, we consider gluconic acid (GA) production by Aspergillus niger modeling.
6
- */
7
- import * as DGL from '../../index';
8
- /** 1. Model specification */
9
- const model = `#name: GA-production
10
- #tags: model
11
- #description: Gluconic acid (GA) production by Aspergillus niger modeling
12
- #equations:
13
- dX/dt = rX
14
- dS/dt = -gamma * rX - lambda * X
15
- dO/dt = Kla * (Cod - O) - delta * rX - phi * X
16
- dP/dt = alpha * rX + beta * X
17
-
18
- #expressions:
19
- mu = muM * S / (Ks + S) * O / (Ko + O)
20
- rX = mu * X
21
-
22
- #argument: t, 1-st stage
23
- _t0 = 0 {units: h; caption: initial; category: Misc} [Start of the process]
24
- _t1 = 60 {units: h; caption: 1-st stage; category: Durations; min: 20; max: 80} [Duration of the 1-st stage]
25
- step = 0.1 {units: h; caption: step; category: Misc; min: 0.01; max: 1} [Time step of simulation]
26
-
27
- #update: 2-nd stage
28
- duration = overall - _t1
29
- S += 70
30
-
31
- #inits:
32
- X = 5 {units: kg/m³; caption: biomass; category: Initial concentrations; min: 1; max: 10} [Aspergillus niger biomass]
33
- S = 150 {units: kg/m³; caption: glucose; category: Initial concentrations; min: 50; max: 200} [Glucose]
34
- O = 7 {units: kg/m³; caption: oxygen; category: Initial concentrations; min: 1; max: 10} [Dissolved oxygen]
35
- P = 0 {units: kg/m³; caption: acid; category: Initial concentrations; min: 0; max: 0.1} [Gluconic acid]
36
-
37
- #output:
38
- t {caption: time}
39
- X {caption: biomass}
40
- S {caption: glucose}
41
- O {caption: oxygen}
42
- P {caption: acid}
43
-
44
- #parameters:
45
- overall = 100 {units: h; category: Durations; min: 100; max: 140} [Overall duration]
46
- muM = 0.668 {units: 1/h; category: Parameters} [Monod type model parameter]
47
- alpha = 2.92 {category: Parameters} [Monod type model parameter]
48
- beta = 0.131 {units: 1/h; category: Parameters} [Monod type model parameter]
49
- gamma = 2.12 {category: Parameters} [Monod type model parameter]
50
- lambda = 0.232 {units: 1/h; category: Parameters} [Monod type model parameter]
51
- delta = 0.278 {category: Parameters} [Monod type model parameter]
52
- phi = 4.87e-3 {units: 1/h; category: Parameters} [Monod type model parameter]
53
- Ks = 1.309e2 {units: g/L; category: Parameters} [Monod type model parameter]
54
- Ko = 3.63e-4 {units: g/L; category: Parameters} [Monod type model parameter]
55
- Kla = 1.7e-2 {units: 1/s; category: Parameters} [Volumetric mass transfer coefficient]
56
- Cod = 15 {units: kg/m³; category: Parameters} [Liquid phase dissolved oxygen saturation concentration]
57
-
58
- #tolerance: 1e-9`;
59
- /** 2. Generate IVP-objects: for the main thread & for computations in webworkers */
60
- const ivp = DGL.getIVP(model);
61
- const ivpWW = DGL.getIvp2WebWorker(ivp);
62
- /** 3. Perform computations */
63
- try {
64
- // 3.1) Extract names of outputs
65
- const outputNames = DGL.getOutputNames(ivp);
66
- const outSize = outputNames.length;
67
- // 3.2) Set model inputs
68
- const inputs = {
69
- _t0: 0,
70
- _t1: 60,
71
- _h: 1,
72
- X: 5,
73
- S: 150,
74
- O: 7,
75
- P: 0,
76
- overall: 100,
77
- muM: 0.668,
78
- alpha: 2.92,
79
- beta: 0.131,
80
- gamma: 2.12,
81
- lambda: 0.232,
82
- delta: 0.278,
83
- phi: 4.87e-3,
84
- Ks: 1.309e2,
85
- Ko: 3.63e-4,
86
- Kla: 1.7e-2,
87
- Cod: 15,
88
- };
89
- const inputVector = DGL.getInputVector(inputs, ivp);
90
- // 3.3) Create a pipeline
91
- const creator = DGL.getPipelineCreator(ivp);
92
- const pipeline = creator.getPipeline(inputVector);
93
- // 3.4) Apply pipeline to perform computations
94
- const solution = DGL.applyPipeline(pipeline, ivpWW, inputVector);
95
- // 3.5) Print results
96
- // 3.5.1) Table header
97
- let line = ' ';
98
- outputNames.forEach((name) => line += name + ' ');
99
- console.log(line);
100
- // 3.5.2) Table with solution
101
- const length = solution[0].length;
102
- for (let i = 0; i < length; ++i) {
103
- line = '';
104
- for (let j = 0; j < outSize; ++j)
105
- line += solution[j][i].toFixed(8) + ' ';
106
- console.log(line);
107
- }
108
- }
109
- catch (err) {
110
- console.log('Simulation failed: ', err instanceof Error ? err.message : 'Unknown problem!');
111
- }
112
- //# sourceMappingURL=model-updates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-updates.js","sourceRoot":"","sources":["model-updates.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B;;;;EAIE;AAEF,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAEnC,6BAA6B;AAC7B,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiDG,CAAC;AAElB,oFAAoF;AACpF,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAExC,8BAA8B;AAC9B,IAAI,CAAC;IACH,gCAAgC;IAChC,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC;IAEnC,wBAAwB;IACxB,MAAM,MAAM,GAAG;QACb,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,EAAE;QACP,EAAE,EAAE,CAAC;QACL,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,OAAO,EAAE,GAAG;QACZ,GAAG,EAAE,KAAK;QACV,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,OAAO;QACZ,EAAE,EAAE,OAAO;QACX,EAAE,EAAE,OAAO;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,EAAE;KACR,CAAC;IACF,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEpD,yBAAyB;IACzB,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAElD,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAEjE,qBAAqB;IAErB,sBAAsB;IACtB,IAAI,IAAI,GAAG,OAAO,CAAC;IACnB,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,GAAG,WAAW,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAElB,6BAA6B;IAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAChC,IAAI,GAAG,EAAE,CAAC;QAEV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC;YAC9B,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACb,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAC9F,CAAC"}
@@ -1,122 +0,0 @@
1
- /* eslint-disable max-len */
2
- /** This example shows how to apply pipelines and models with updates.
3
- This approach can be used for in-webworkers analysis of models.
4
-
5
- Here, we consider gluconic acid (GA) production by Aspergillus niger modeling.
6
- */
7
-
8
- import * as DGL from '../../index';
9
-
10
- /** 1. Model specification */
11
- const model = `#name: GA-production
12
- #tags: model
13
- #description: Gluconic acid (GA) production by Aspergillus niger modeling
14
- #equations:
15
- dX/dt = rX
16
- dS/dt = -gamma * rX - lambda * X
17
- dO/dt = Kla * (Cod - O) - delta * rX - phi * X
18
- dP/dt = alpha * rX + beta * X
19
-
20
- #expressions:
21
- mu = muM * S / (Ks + S) * O / (Ko + O)
22
- rX = mu * X
23
-
24
- #argument: t, 1-st stage
25
- _t0 = 0 {units: h; caption: initial; category: Misc} [Start of the process]
26
- _t1 = 60 {units: h; caption: 1-st stage; category: Durations; min: 20; max: 80} [Duration of the 1-st stage]
27
- step = 0.1 {units: h; caption: step; category: Misc; min: 0.01; max: 1} [Time step of simulation]
28
-
29
- #update: 2-nd stage
30
- duration = overall - _t1
31
- S += 70
32
-
33
- #inits:
34
- X = 5 {units: kg/m³; caption: biomass; category: Initial concentrations; min: 1; max: 10} [Aspergillus niger biomass]
35
- S = 150 {units: kg/m³; caption: glucose; category: Initial concentrations; min: 50; max: 200} [Glucose]
36
- O = 7 {units: kg/m³; caption: oxygen; category: Initial concentrations; min: 1; max: 10} [Dissolved oxygen]
37
- P = 0 {units: kg/m³; caption: acid; category: Initial concentrations; min: 0; max: 0.1} [Gluconic acid]
38
-
39
- #output:
40
- t {caption: time}
41
- X {caption: biomass}
42
- S {caption: glucose}
43
- O {caption: oxygen}
44
- P {caption: acid}
45
-
46
- #parameters:
47
- overall = 100 {units: h; category: Durations; min: 100; max: 140} [Overall duration]
48
- muM = 0.668 {units: 1/h; category: Parameters} [Monod type model parameter]
49
- alpha = 2.92 {category: Parameters} [Monod type model parameter]
50
- beta = 0.131 {units: 1/h; category: Parameters} [Monod type model parameter]
51
- gamma = 2.12 {category: Parameters} [Monod type model parameter]
52
- lambda = 0.232 {units: 1/h; category: Parameters} [Monod type model parameter]
53
- delta = 0.278 {category: Parameters} [Monod type model parameter]
54
- phi = 4.87e-3 {units: 1/h; category: Parameters} [Monod type model parameter]
55
- Ks = 1.309e2 {units: g/L; category: Parameters} [Monod type model parameter]
56
- Ko = 3.63e-4 {units: g/L; category: Parameters} [Monod type model parameter]
57
- Kla = 1.7e-2 {units: 1/s; category: Parameters} [Volumetric mass transfer coefficient]
58
- Cod = 15 {units: kg/m³; category: Parameters} [Liquid phase dissolved oxygen saturation concentration]
59
-
60
- #tolerance: 1e-9`;
61
-
62
- /** 2. Generate IVP-objects: for the main thread & for computations in webworkers */
63
- const ivp = DGL.getIVP(model);
64
- const ivpWW = DGL.getIvp2WebWorker(ivp);
65
-
66
- /** 3. Perform computations */
67
- try {
68
- // 3.1) Extract names of outputs
69
- const outputNames = DGL.getOutputNames(ivp);
70
- const outSize = outputNames.length;
71
-
72
- // 3.2) Set model inputs
73
- const inputs = {
74
- _t0: 0,
75
- _t1: 60,
76
- _h: 1,
77
- X: 5,
78
- S: 150,
79
- O: 7,
80
- P: 0,
81
- overall: 100,
82
- muM: 0.668,
83
- alpha: 2.92,
84
- beta: 0.131,
85
- gamma: 2.12,
86
- lambda: 0.232,
87
- delta: 0.278,
88
- phi: 4.87e-3,
89
- Ks: 1.309e2,
90
- Ko: 3.63e-4,
91
- Kla: 1.7e-2,
92
- Cod: 15,
93
- };
94
- const inputVector = DGL.getInputVector(inputs, ivp);
95
-
96
- // 3.3) Create a pipeline
97
- const creator = DGL.getPipelineCreator(ivp);
98
- const pipeline = creator.getPipeline(inputVector);
99
-
100
- // 3.4) Apply pipeline to perform computations
101
- const solution = DGL.applyPipeline(pipeline, ivpWW, inputVector);
102
-
103
- // 3.5) Print results
104
-
105
- // 3.5.1) Table header
106
- let line = ' ';
107
- outputNames.forEach((name) => line += name + ' ');
108
- console.log(line);
109
-
110
- // 3.5.2) Table with solution
111
- const length = solution[0].length;
112
- for (let i = 0; i < length; ++i) {
113
- line = '';
114
-
115
- for (let j = 0; j < outSize; ++j)
116
- line += solution[j][i].toFixed(8) + ' ';
117
-
118
- console.log(line);
119
- }
120
- } catch (err) {
121
- console.log('Simulation failed: ', err instanceof Error ? err.message : 'Unknown problem!');
122
- }
@@ -1,24 +0,0 @@
1
- /** The OREGO model (see https://archimede.uniba.it/~testset/report/orego.pdf) */
2
- export const orego = {
3
- name: 'OREGO',
4
- arg: { name: 't', start: 0, finish: 360, step: 0.01 },
5
- initial: [1, 2, 3],
6
- func: (t, y, output) => {
7
- // extract function values
8
- const y1 = y[0];
9
- const y2 = y[1];
10
- const y3 = y[2];
11
- // compute output
12
- output[0] = 77.27 * (y2 - y1 * y2 + y1 - 0.000008375 * y1 * y1);
13
- output[1] = 1 / 77.27 * (-y2 - y1 * y2 + y3);
14
- output[2] = 0.161 * (y1 - y3);
15
- },
16
- tolerance: 1e-8,
17
- solutionColNames: ['y1', 'y2', 'y3'],
18
- };
19
- export const oregoReferencePoint = new Float64Array([
20
- 1.000814870318523,
21
- 1228.178521549917,
22
- 132.0554942846706,
23
- ]);
24
- //# sourceMappingURL=orego.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orego.js","sourceRoot":"","sources":["orego.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,EAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAC;IACnD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClB,IAAI,EAAE,CAAC,CAAS,EAAE,CAAe,EAAE,MAAoB,EAAE,EAAE;QACzD,0BAA0B;QAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhB,iBAAiB;QACjB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAE,CAAC;QACjE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,SAAS,EAAE,IAAI;IACf,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,YAAY,CAAC;IAClD,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;CAClB,CAAC,CAAC"}
@@ -1,25 +0,0 @@
1
- /** The OREGO model (see https://archimede.uniba.it/~testset/report/orego.pdf) */
2
- export const orego = {
3
- name: 'OREGO',
4
- arg: {name: 't', start: 0, finish: 360, step: 0.01},
5
- initial: [1, 2, 3],
6
- func: (t: number, y: Float64Array, output: Float64Array) => {
7
- // extract function values
8
- const y1 = y[0];
9
- const y2 = y[1];
10
- const y3 = y[2];
11
-
12
- // compute output
13
- output[0] = 77.27 * (y2 - y1 * y2 + y1 - 0.000008375 * y1 * y1 );
14
- output[1] = 1 / 77.27 * (-y2 - y1 * y2 + y3);
15
- output[2] = 0.161 * (y1 - y3);
16
- },
17
- tolerance: 1e-8,
18
- solutionColNames: ['y1', 'y2', 'y3'],
19
- };
20
-
21
- export const oregoReferencePoint = new Float64Array([
22
- 1.000814870318523,
23
- 1228.178521549917,
24
- 132.0554942846706,
25
- ]);
@@ -1,87 +0,0 @@
1
- /* eslint-disable max-len */
2
- /** This example shows how to apply pipelines and models with customized outputs.
3
- This approach can be used for in-webworkers analysis of models.
4
-
5
- Here, we consider modeling queues: https://en.wikipedia.org/wiki/M/M/c_queue
6
- */
7
- import * as DGL from '../../index';
8
- /** 1. Model specification: the M|M|2|2 model */
9
- const model = `#name: M|M|2|2
10
- #description: Modelling the system with two servers & two waiting places (EXPLAINED)
11
- #equations:
12
- dp0/dt = -la * p0 + mu * p1
13
- dp1/dt = la * p0 - (la + mu) * p1 + 2 * mu * p2
14
- dp2/dt = la * p1 - (la + 2 * mu) * p2 + 2 * mu * p3
15
- dp3/dt = la * p2 - (la + 2 * mu) * p3 + 2 * mu * p4
16
-
17
- #expressions:
18
- la = 1 / arrival
19
- mu = 1 / service
20
- p4 = 1 - p0 - p1 - p2 - p3
21
- busy = 1 - p0 - p1
22
- queue = p3 + 2 * p4
23
-
24
- #argument: t
25
- _t0 = 0 {min: 0; max: 10; caption: start; category: Time; units: min} [Initial time of simulation]
26
- _t1 = 60 {min: 20; max: 100; caption: finish; category: Time; units: min} [Final time of simulation]
27
- _h = 1 {min: 0.01; max: 0.1; caption: step; category: Time; units: min} [Time step of simulation]
28
-
29
- #inits:
30
- p0 = 1 {min: 0; max: 1; category: Initial state; caption: empty} [Probability that initially there are NO customers]
31
- p1 = 0 {min: 0; max: 1; category: Initial state; caption: single} [Probability that initially there is ONE customer]
32
- p2 = 0 {min: 0; max: 1; category: Initial state; caption: two} [Probability that initially there are TWO customers]
33
- p3 = 0 {min: 0; max: 1; category: Initial state; caption: three} [Probability that initially there are THREE customers]
34
-
35
- #output:
36
- t {caption: Time, min}
37
- p0 {caption: P(Empty)}
38
- busy {caption: P(Full load)}
39
- queue {caption: E(Queue)}
40
-
41
- #parameters:
42
- arrival = 10 {min: 1; max: 100; category: Means; caption: arrival; units: min} [Mean arrival time]
43
- service = 100 {min: 1; max: 100; category: Means; caption: service; units: min} [Mean service time]`;
44
- /** 2. Generate IVP-objects: for the main thread & for computations in webworkers */
45
- const ivp = DGL.getIVP(model);
46
- const ivpWW = DGL.getIvp2WebWorker(ivp);
47
- /** 3. Perform computations */
48
- try {
49
- // 3.1) Extract names of outputs
50
- const outputNames = DGL.getOutputNames(ivp);
51
- const outSize = outputNames.length;
52
- // 3.2) Set model inputs
53
- const inputs = {
54
- _t0: 0, // Initial time of simulation
55
- _t1: 60, // Final time of simulation
56
- _h: 1, // Time step of simulation
57
- p0: 1, // Probability that initially there are NO customers
58
- p1: 0, // Probability that initially there is ONE customer
59
- p2: 0, // Probability that initially there are TWO customers
60
- p3: 0, // Probability that initially there are THREE customers
61
- arrival: 10, // Mean arrival time
62
- service: 100, // Mean service time
63
- };
64
- const inputVector = DGL.getInputVector(inputs, ivp);
65
- // 3.3) Create a pipeline
66
- const creator = DGL.getPipelineCreator(ivp);
67
- const pipeline = creator.getPipeline(inputVector);
68
- // 3.4) Apply pipeline to perform computations
69
- const solution = DGL.applyPipeline(pipeline, ivpWW, inputVector);
70
- // 3.5) Print results
71
- // 3.5.1) Table header
72
- let line = '';
73
- outputNames.forEach((name) => line += name + ' ');
74
- console.log(line);
75
- // 3.5.2) Table with solution
76
- const length = solution[0].length;
77
- for (let i = 0; i < length; ++i) {
78
- line = '';
79
- for (let j = 0; j < outSize; ++j)
80
- line += solution[j][i].toFixed(8) + ' ';
81
- console.log(line);
82
- }
83
- }
84
- catch (err) {
85
- console.log('Simulation failed: ', err instanceof Error ? err.message : 'Unknown problem!');
86
- }
87
- //# sourceMappingURL=pipeline-use.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipeline-use.js","sourceRoot":"","sources":["pipeline-use.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B;;;;EAIE;AAEF,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAEnC,iDAAiD;AACjD,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGAkCyF,CAAC;AAExG,oFAAoF;AACpF,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAExC,8BAA8B;AAC9B,IAAI,CAAC;IACH,gCAAgC;IAChC,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC;IAEnC,wBAAwB;IACxB,MAAM,MAAM,GAAG;QACb,GAAG,EAAE,CAAC,EAAE,6BAA6B;QACrC,GAAG,EAAE,EAAE,EAAE,2BAA2B;QACpC,EAAE,EAAE,CAAC,EAAE,0BAA0B;QACjC,EAAE,EAAE,CAAC,EAAE,oDAAoD;QAC3D,EAAE,EAAE,CAAC,EAAE,mDAAmD;QAC1D,EAAE,EAAE,CAAC,EAAE,qDAAqD;QAC5D,EAAE,EAAE,CAAC,EAAE,uDAAuD;QAC9D,OAAO,EAAE,EAAE,EAAE,oBAAoB;QACjC,OAAO,EAAE,GAAG,EAAE,oBAAoB;KACnC,CAAC;IACF,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEpD,yBAAyB;IACzB,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAElD,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAEjE,qBAAqB;IAErB,sBAAsB;IACtB,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAElB,6BAA6B;IAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAChC,IAAI,GAAG,EAAE,CAAC;QAEV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC;YAC9B,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACb,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAC9F,CAAC"}
@@ -1,98 +0,0 @@
1
- /* eslint-disable max-len */
2
- /** This example shows how to apply pipelines and models with customized outputs.
3
- This approach can be used for in-webworkers analysis of models.
4
-
5
- Here, we consider modeling queues: https://en.wikipedia.org/wiki/M/M/c_queue
6
- */
7
-
8
- import * as DGL from '../../index';
9
-
10
- /** 1. Model specification: the M|M|2|2 model */
11
- const model = `#name: M|M|2|2
12
- #description: Modelling the system with two servers & two waiting places (EXPLAINED)
13
- #equations:
14
- dp0/dt = -la * p0 + mu * p1
15
- dp1/dt = la * p0 - (la + mu) * p1 + 2 * mu * p2
16
- dp2/dt = la * p1 - (la + 2 * mu) * p2 + 2 * mu * p3
17
- dp3/dt = la * p2 - (la + 2 * mu) * p3 + 2 * mu * p4
18
-
19
- #expressions:
20
- la = 1 / arrival
21
- mu = 1 / service
22
- p4 = 1 - p0 - p1 - p2 - p3
23
- busy = 1 - p0 - p1
24
- queue = p3 + 2 * p4
25
-
26
- #argument: t
27
- _t0 = 0 {min: 0; max: 10; caption: start; category: Time; units: min} [Initial time of simulation]
28
- _t1 = 60 {min: 20; max: 100; caption: finish; category: Time; units: min} [Final time of simulation]
29
- _h = 1 {min: 0.01; max: 0.1; caption: step; category: Time; units: min} [Time step of simulation]
30
-
31
- #inits:
32
- p0 = 1 {min: 0; max: 1; category: Initial state; caption: empty} [Probability that initially there are NO customers]
33
- p1 = 0 {min: 0; max: 1; category: Initial state; caption: single} [Probability that initially there is ONE customer]
34
- p2 = 0 {min: 0; max: 1; category: Initial state; caption: two} [Probability that initially there are TWO customers]
35
- p3 = 0 {min: 0; max: 1; category: Initial state; caption: three} [Probability that initially there are THREE customers]
36
-
37
- #output:
38
- t {caption: Time, min}
39
- p0 {caption: P(Empty)}
40
- busy {caption: P(Full load)}
41
- queue {caption: E(Queue)}
42
-
43
- #parameters:
44
- arrival = 10 {min: 1; max: 100; category: Means; caption: arrival; units: min} [Mean arrival time]
45
- service = 100 {min: 1; max: 100; category: Means; caption: service; units: min} [Mean service time]`;
46
-
47
- /** 2. Generate IVP-objects: for the main thread & for computations in webworkers */
48
- const ivp = DGL.getIVP(model);
49
- const ivpWW = DGL.getIvp2WebWorker(ivp);
50
-
51
- /** 3. Perform computations */
52
- try {
53
- // 3.1) Extract names of outputs
54
- const outputNames = DGL.getOutputNames(ivp);
55
- const outSize = outputNames.length;
56
-
57
- // 3.2) Set model inputs
58
- const inputs = {
59
- _t0: 0, // Initial time of simulation
60
- _t1: 60, // Final time of simulation
61
- _h: 1, // Time step of simulation
62
- p0: 1, // Probability that initially there are NO customers
63
- p1: 0, // Probability that initially there is ONE customer
64
- p2: 0, // Probability that initially there are TWO customers
65
- p3: 0, // Probability that initially there are THREE customers
66
- arrival: 10, // Mean arrival time
67
- service: 100, // Mean service time
68
- };
69
- const inputVector = DGL.getInputVector(inputs, ivp);
70
-
71
- // 3.3) Create a pipeline
72
- const creator = DGL.getPipelineCreator(ivp);
73
- const pipeline = creator.getPipeline(inputVector);
74
-
75
- // 3.4) Apply pipeline to perform computations
76
- const solution = DGL.applyPipeline(pipeline, ivpWW, inputVector);
77
-
78
- // 3.5) Print results
79
-
80
- // 3.5.1) Table header
81
- let line = '';
82
- outputNames.forEach((name) => line += name + ' ');
83
- console.log(line);
84
-
85
- // 3.5.2) Table with solution
86
- const length = solution[0].length;
87
- for (let i = 0; i < length; ++i) {
88
- line = '';
89
-
90
- for (let j = 0; j < outSize; ++j)
91
- line += solution[j][i].toFixed(8) + ' ';
92
-
93
- console.log(line);
94
- }
95
- } catch (err) {
96
- console.log('Simulation failed: ', err instanceof Error ? err.message : 'Unknown problem!');
97
- }
98
-
@@ -1,132 +0,0 @@
1
- /** Kintetic constants for the Pollution model */
2
- var POL;
3
- (function (POL) {
4
- POL[POL["K1"] = 0.35] = "K1";
5
- POL[POL["K2"] = 26.6] = "K2";
6
- POL[POL["K3"] = 12300] = "K3";
7
- POL[POL["K4"] = 0.00086] = "K4";
8
- POL[POL["K5"] = 0.00082] = "K5";
9
- POL[POL["K6"] = 15000] = "K6";
10
- POL[POL["K7"] = 0.00013] = "K7";
11
- POL[POL["K8"] = 24000] = "K8";
12
- POL[POL["K9"] = 16500] = "K9";
13
- POL[POL["K10"] = 9000] = "K10";
14
- POL[POL["K11"] = 0.022] = "K11";
15
- POL[POL["K12"] = 12000] = "K12";
16
- POL[POL["K13"] = 1.88] = "K13";
17
- POL[POL["K14"] = 16300] = "K14";
18
- POL[POL["K15"] = 4800000] = "K15";
19
- POL[POL["K16"] = 0.00035] = "K16";
20
- POL[POL["K17"] = 0.0175] = "K17";
21
- POL[POL["K18"] = 100000000] = "K18";
22
- POL[POL["K19"] = 444000000000] = "K19";
23
- POL[POL["K20"] = 1240] = "K20";
24
- POL[POL["K21"] = 2.1] = "K21";
25
- POL[POL["K22"] = 5.78] = "K22";
26
- POL[POL["K23"] = 0.0474] = "K23";
27
- POL[POL["K24"] = 1780] = "K24";
28
- POL[POL["K25"] = 3.12] = "K25";
29
- })(POL || (POL = {}));
30
- ; // POL
31
- /** The chemical reaction part of the air pollution model (https://archimede.uniba.it/~testset/report/pollu.pdf) */
32
- export const pollution = {
33
- name: 'Pollution',
34
- arg: { name: 't', start: 0, finish: 60, step: 0.002 },
35
- initial: [0, 0.2, 0, 0.04, 0, 0, 0.1, 0.3, 0.01, 0, 0, 0, 0, 0, 0, 0, 0.007, 0, 0, 0],
36
- func: (t, y, output) => {
37
- // extract function values
38
- const y1 = y[0];
39
- const y2 = y[1];
40
- const y3 = y[2];
41
- const y4 = y[3];
42
- const y5 = y[4];
43
- const y6 = y[5];
44
- const y7 = y[6];
45
- const y8 = y[7];
46
- const y9 = y[8];
47
- const y10 = y[9];
48
- const y11 = y[10];
49
- const y12 = y[11];
50
- const y13 = y[12];
51
- const y14 = y[13];
52
- const y15 = y[14];
53
- const y16 = y[15];
54
- const y17 = y[16];
55
- const y18 = y[17];
56
- const y19 = y[18];
57
- const y20 = y[19];
58
- // evaluate expressions
59
- const r1 = POL.K1 * y1;
60
- const r2 = POL.K2 * y2 * y4;
61
- const r3 = POL.K3 * y5 * y2;
62
- const r4 = POL.K4 * y7;
63
- const r5 = POL.K5 * y7;
64
- const r6 = POL.K6 * y7 * y6;
65
- const r7 = POL.K7 * y9;
66
- const r8 = POL.K8 * y9 * y6;
67
- const r9 = POL.K9 * y11 * y2;
68
- const r10 = POL.K10 * y11 * y1;
69
- const r11 = POL.K11 * y13;
70
- const r12 = POL.K12 * y10 * y2;
71
- const r13 = POL.K13 * y14;
72
- const r14 = POL.K14 * y1 * y6;
73
- const r15 = POL.K15 * y3;
74
- const r16 = POL.K16 * y4;
75
- const r17 = POL.K17 * y4;
76
- const r18 = POL.K18 * y16;
77
- const r19 = POL.K19 * y16;
78
- const r20 = POL.K20 * y17 * y6;
79
- const r21 = POL.K21 * y19;
80
- const r22 = POL.K22 * y19;
81
- const r23 = POL.K23 * y1 * y4;
82
- const r24 = POL.K24 * y19 * y1;
83
- const r25 = POL.K25 * y20;
84
- // compute output
85
- output[0] = -(r1 + r10 + r14 + r23 + r24) + (r2 + r3 + r9 + r11 + r12 + r22 + r25);
86
- output[1] = -r2 - r3 - r9 - r12 + r1 + r21;
87
- output[2] = -r15 + r1 + r17 + r19 + r22;
88
- output[3] = -r2 - r16 - r17 - r23 + r15;
89
- output[4] = -r3 + 2 * r4 + r6 + r7 + r13 + r20;
90
- output[5] = -r6 - r8 - r14 - r20 + r3 + 2 * r18;
91
- output[6] = -r4 - r5 - r6 + r13;
92
- output[7] = r4 + r5 + r6 + r7;
93
- output[8] = -r7 - r8;
94
- output[9] = -r12 + r7 + r9;
95
- output[10] = -r9 - r10 + r8 + r11;
96
- output[11] = r9;
97
- output[12] = -r11 + r10;
98
- output[13] = -r13 + r12;
99
- output[14] = r14;
100
- output[15] = -r18 - r19 + r16;
101
- output[16] = -r20;
102
- output[17] = r20;
103
- output[18] = -r21 - r22 - r24 + r23 + r25;
104
- output[19] = -r25 + r24;
105
- },
106
- tolerance: 1e-6,
107
- solutionColNames: ['y1', 'y2', 'y3', 'y4', 'y5', 'y6', 'y7', 'y8', 'y9', 'y10', 'y11',
108
- 'y12', 'y13', 'y14', 'y15', 'y16', 'y17', 'y18', 'y19', 'y20'],
109
- }; // pollution
110
- export const pollutionReferencePoint = new Float64Array([
111
- 0.05646255480022769,
112
- 0.1342484130422339,
113
- 0.4139734331099427E-8,
114
- 0.5523140207484359E-2,
115
- 0.2018977262302196E-6,
116
- 0.1464541863493966E-6,
117
- 0.7784249118997964E-1,
118
- 0.3245075353396018,
119
- 0.7494013383880406E-2,
120
- 0.1622293157301561E-7,
121
- 0.1135863833257075E-7,
122
- 0.2230505975721359E-2,
123
- 0.2087162882798630E-3,
124
- 0.1396921016840158E-4,
125
- 0.8964884856898295E-2,
126
- 0.4352846369330103E-17,
127
- 0.6899219696263405E-2,
128
- 0.1007803037365946E-3,
129
- 0.1772146513969984E-5,
130
- 0.5682943292316392E-4,
131
- ]);
132
- //# sourceMappingURL=pollution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pollution.js","sourceRoot":"","sources":["pollution.ts"],"names":[],"mappings":"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"}