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