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,7 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>getPipelineCreator | diff-grok - v1.1.0</title><meta name="description" content="Documentation for diff-grok"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">diff-grok - v1.1.0</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">getPipelineCreator</a></li></ul><h1>Function getPipelineCreator</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="getpipelinecreator"><span class="tsd-kind-call-signature">getPipelineCreator</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">ivp</span><span class="tsd-signature-symbol">:</span> <a href="../types/IVP.html" class="tsd-signature-type tsd-kind-type-alias">IVP</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="../classes/PipelineCreator.html" class="tsd-signature-type tsd-kind-class">PipelineCreator</a><a href="#getpipelinecreator" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Return pipeline creator specified by the initial value problem</p>
|
|
2
|
-
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">ivp</span>: <a href="../types/IVP.html" class="tsd-signature-type tsd-kind-type-alias">IVP</a></span><div class="tsd-comment tsd-typography"><p>initial value problem</p>
|
|
3
|
-
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="../classes/PipelineCreator.html" class="tsd-signature-type tsd-kind-class">PipelineCreator</a></h4><p>a creator of computational pipeline corresponding to the given model</p>
|
|
4
|
-
<div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example">Example<a href="#example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">// Here, we consider modeling queues: https://en.wikipedia.org/wiki/M/M/c_queue</span><br/><span class="hl-4">import</span><span class="hl-1"> </span><span class="hl-6">*</span><span class="hl-1"> </span><span class="hl-4">as</span><span class="hl-1"> </span><span class="hl-5">DGL</span><span class="hl-1"> </span><span class="hl-4">from</span><span class="hl-1"> </span><span class="hl-2">'diff-grok'</span><span class="hl-1">;</span><br/><br/><span class="hl-3">// 1. Model specification: the M|M|2|2 model</span><br/><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">model</span><span class="hl-1"> = </span><span class="hl-2">`#name: M|M|2|2</span><br/><span class="hl-2">#description: Modelling the system with two servers & two waiting places (EXPLAINED)</span><br/><br/><span class="hl-2">#equations:</span><br/><span class="hl-2"> dp0/dt = -la * p0 + mu * p1</span><br/><span class="hl-2"> dp1/dt = la * p0 - (la + mu) * p1 + 2 * mu * p2</span><br/><span class="hl-2"> dp2/dt = la * p1 - (la + 2 * mu) * p2 + 2 * mu * p3</span><br/><span class="hl-2"> dp3/dt = la * p2 - (la + 2 * mu) * p3 + 2 * mu * p4</span><br/><br/><span class="hl-2">#expressions:</span><br/><span class="hl-2"> la = 1 / arrival</span><br/><span class="hl-2"> mu = 1 / service</span><br/><span class="hl-2"> p4 = 1 - p0 - p1 - p2 - p3</span><br/><span class="hl-2"> busy = 1 - p0 - p1</span><br/><span class="hl-2"> queue = p3 + 2 * p4</span><br/><br/><span class="hl-2">#argument: t</span><br/><span class="hl-2"> _t0 = 0 {min: 0; max: 10; caption: start; category: Time; units: min} [Initial time of simulation]</span><br/><span class="hl-2"> _t1 = 60 {min: 20; max: 100; caption: finish; category: Time; units: min} [Final time of simulation]</span><br/><span class="hl-2"> _h = 1 {min: 0.01; max: 0.1; caption: step; category: Time; units: min} [Time step of simulation]</span><br/><br/><span class="hl-2">#inits:</span><br/><span class="hl-2"> p0 = 1 {min: 0; max: 1; category: Initial state; caption: empty} [Probability that initially there are NO customers]</span><br/><span class="hl-2"> p1 = 0 {min: 0; max: 1; category: Initial state; caption: single} [Probability that initially there is ONE customer]</span><br/><span class="hl-2"> p2 = 0 {min: 0; max: 1; category: Initial state; caption: two} [Probability that initially there are TWO customers]</span><br/><span class="hl-2"> p3 = 0 {min: 0; max: 1; category: Initial state; caption: three} [Probability that initially there are THREE customers]</span><br/><br/><span class="hl-2">#output:</span><br/><span class="hl-2"> t {caption: Time, min}</span><br/><span class="hl-2"> p0 {caption: P(Empty)}</span><br/><span class="hl-2"> busy {caption: P(Full load)}</span><br/><span class="hl-2"> queue {caption: E(Queue)}</span><br/><br/><span class="hl-2">#parameters:</span><br/><span class="hl-2"> arrival = 10 {min: 1; max: 100; category: Means; caption: arrival; units: min} [Mean arrival time]</span><br/><span class="hl-2"> service = 100 {min: 1; max: 100; category: Means; caption: service; units: min} [Mean service time]`</span><span class="hl-1">;</span><br/><br/><span class="hl-3">// 2. Generate IVP-objects: for the main thread & for computations in webworkers</span><br/><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">ivp</span><span class="hl-1"> = </span><span class="hl-7">DGL</span><span class="hl-1">.</span><span class="hl-0">getIVP</span><span class="hl-1">(</span><span class="hl-5">model</span><span class="hl-1">);</span><br/><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">ivpWW</span><span class="hl-1"> = </span><span class="hl-7">DGL</span><span class="hl-1">.</span><span class="hl-0">getIvp2WebWorker</span><span class="hl-1">(</span><span class="hl-5">ivp</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-3">// 3. Perform computations</span><br/><span class="hl-4">try</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">// 3.1) Extract names of outputs</span><br/><span class="hl-1"> </span><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">outputNames</span><span class="hl-1"> = </span><span class="hl-7">DGL</span><span class="hl-1">.</span><span class="hl-0">getOutputNames</span><span class="hl-1">(</span><span class="hl-5">ivp</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">outSize</span><span class="hl-1"> = </span><span class="hl-5">outputNames</span><span class="hl-1">.</span><span class="hl-5">length</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-3">// 3.2) Set model inputs</span><br/><span class="hl-1"> </span><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">inputs</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-5">_t0:</span><span class="hl-1"> </span><span class="hl-9">0</span><span class="hl-1">, </span><span class="hl-3">// Initial time of simulation</span><br/><span class="hl-1"> </span><span class="hl-5">_t1:</span><span class="hl-1"> </span><span class="hl-9">60</span><span class="hl-1">, </span><span class="hl-3">// Final time of simulation</span><br/><span class="hl-1"> </span><span class="hl-5">_h:</span><span class="hl-1"> </span><span class="hl-9">1</span><span class="hl-1">, </span><span class="hl-3">// Time step of simulation</span><br/><span class="hl-1"> </span><span class="hl-5">p0:</span><span class="hl-1"> </span><span class="hl-9">1</span><span class="hl-1">, </span><span class="hl-3">// Probability that initially there are NO customers</span><br/><span class="hl-1"> </span><span class="hl-5">p1:</span><span class="hl-1"> </span><span class="hl-9">0</span><span class="hl-1">, </span><span class="hl-3">// Probability that initially there is ONE customer</span><br/><span class="hl-1"> </span><span class="hl-5">p2:</span><span class="hl-1"> </span><span class="hl-9">0</span><span class="hl-1">, </span><span class="hl-3">// Probability that initially there are TWO customers</span><br/><span class="hl-1"> </span><span class="hl-5">p3:</span><span class="hl-1"> </span><span class="hl-9">0</span><span class="hl-1">, </span><span class="hl-3">// Probability that initially there are THREE customers</span><br/><span class="hl-1"> </span><span class="hl-5">arrival:</span><span class="hl-1"> </span><span class="hl-9">10</span><span class="hl-1">, </span><span class="hl-3">// Mean arrival time</span><br/><span class="hl-1"> </span><span class="hl-5">service:</span><span class="hl-1"> </span><span class="hl-9">100</span><span class="hl-1">, </span><span class="hl-3">// Mean service time</span><br/><span class="hl-1"> };</span><br/><span class="hl-1"> </span><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">inputVector</span><span class="hl-1"> = </span><span class="hl-7">DGL</span><span class="hl-1">.</span><span class="hl-0">getInputVector</span><span class="hl-1">(</span><span class="hl-5">inputs</span><span class="hl-1">, </span><span class="hl-5">ivp</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-3">// 3.3) Create a pipeline</span><br/><span class="hl-1"> </span><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">creator</span><span class="hl-1"> = </span><span class="hl-7">DGL</span><span class="hl-1">.</span><span class="hl-0">getPipelineCreator</span><span class="hl-1">(</span><span class="hl-5">ivp</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">pipeline</span><span class="hl-1"> = </span><span class="hl-5">creator</span><span class="hl-1">.</span><span class="hl-0">getPipeline</span><span class="hl-1">(</span><span class="hl-5">inputVector</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-3">// 3.4) Apply pipeline to perform computations</span><br/><span class="hl-1"> </span><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">solution</span><span class="hl-1"> = </span><span class="hl-7">DGL</span><span class="hl-1">.</span><span class="hl-0">applyPipeline</span><span class="hl-1">(</span><span class="hl-5">pipeline</span><span class="hl-1">, </span><span class="hl-5">ivpWW</span><span class="hl-1">, </span><span class="hl-5">inputVector</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-3">// 3.5) Print results</span><br/><br/><span class="hl-1"> </span><span class="hl-3">// 3.5.1) Table header</span><br/><span class="hl-1"> </span><span class="hl-6">let</span><span class="hl-1"> </span><span class="hl-5">line</span><span class="hl-1"> = </span><span class="hl-2">''</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-5">outputNames</span><span class="hl-1">.</span><span class="hl-0">forEach</span><span class="hl-1">((</span><span class="hl-5">name</span><span class="hl-1">) </span><span class="hl-6">=></span><span class="hl-1"> </span><span class="hl-5">line</span><span class="hl-1"> += </span><span class="hl-5">name</span><span class="hl-1"> + </span><span class="hl-2">' '</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-5">line</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-3">// 3.5.2) Table with solution</span><br/><span class="hl-1"> </span><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">length</span><span class="hl-1"> = </span><span class="hl-5">solution</span><span class="hl-1">[</span><span class="hl-9">0</span><span class="hl-1">].</span><span class="hl-5">length</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-4">for</span><span class="hl-1"> (</span><span class="hl-6">let</span><span class="hl-1"> </span><span class="hl-5">i</span><span class="hl-1"> = </span><span class="hl-9">0</span><span class="hl-1">; </span><span class="hl-5">i</span><span class="hl-1"> < </span><span class="hl-5">length</span><span class="hl-1">; ++</span><span class="hl-5">i</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-5">line</span><span class="hl-1"> = </span><span class="hl-2">''</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-4">for</span><span class="hl-1"> (</span><span class="hl-6">let</span><span class="hl-1"> </span><span class="hl-5">j</span><span class="hl-1"> = </span><span class="hl-9">0</span><span class="hl-1">; </span><span class="hl-5">j</span><span class="hl-1"> < </span><span class="hl-5">outSize</span><span class="hl-1">; ++</span><span class="hl-5">j</span><span class="hl-1">)</span><br/><span class="hl-1"> </span><span class="hl-5">line</span><span class="hl-1"> += </span><span class="hl-5">solution</span><span class="hl-1">[</span><span class="hl-5">j</span><span class="hl-1">][</span><span class="hl-5">i</span><span class="hl-1">].</span><span class="hl-0">toFixed</span><span class="hl-1">(</span><span class="hl-9">8</span><span class="hl-1">) + </span><span class="hl-2">' '</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-5">line</span><span class="hl-1">);</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">} </span><span class="hl-4">catch</span><span class="hl-1"> (</span><span class="hl-5">err</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Simulation failed: '</span><span class="hl-1">, </span><span class="hl-5">err</span><span class="hl-1"> </span><span class="hl-6">instanceof</span><span class="hl-1"> </span><span class="hl-8">Error</span><span class="hl-1"> ? </span><span class="hl-5">err</span><span class="hl-1">.</span><span class="hl-5">message</span><span class="hl-1"> : </span><span class="hl-2">'Unknown problem!'</span><span class="hl-1">);</span><br/><span class="hl-1">}</span>
|
|
5
|
-
</code><button type="button">Copy</button></pre>
|
|
6
|
-
|
|
7
|
-
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/datagrok-ai/diff-grok/blob/652d427344795ab429f0120033309f18670d3034/src/pipeline/pipeline.ts#L298">src/pipeline/pipeline.ts:298</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">diff-grok - v1.1.0</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>lsoda | diff-grok - v1.1.0</title><meta name="description" content="Documentation for diff-grok"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">diff-grok - v1.1.0</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">lsoda</a></li></ul><h1>Function lsoda</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="lsoda"><span class="tsd-kind-call-signature">lsoda</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">odes</span><span class="tsd-signature-symbol">:</span> <a href="../types/ODEs.html" class="tsd-signature-type tsd-kind-type-alias">ODEs</a><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">?:</span> <a href="../classes/Callback.html" class="tsd-signature-type tsd-kind-class">Callback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float64Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">[]</span><a href="#lsoda" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Solve initial value problem using the LSODA library method</p>
|
|
2
|
-
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">odes</span>: <a href="../types/ODEs.html" class="tsd-signature-type tsd-kind-type-alias">ODEs</a></span><div class="tsd-comment tsd-typography"><p>initial value problem for ordinary differential equations</p>
|
|
3
|
-
</div></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">callback</span>: <a href="../classes/Callback.html" class="tsd-signature-type tsd-kind-class">Callback</a></span><div class="tsd-comment tsd-typography"><p>computations control callback</p>
|
|
4
|
-
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float64Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">[]</span></h4><p>solution of the problem</p>
|
|
5
|
-
<div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example">Example<a href="#example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">// Example. Solve the following initial value problem using the LSODA method:</span><br/><span class="hl-3">// dx/dt = x + y - t</span><br/><span class="hl-3">// dy/dt = x * y + t</span><br/><span class="hl-3">// x(0) = 1</span><br/><span class="hl-3">// y(0) = -1</span><br/><span class="hl-3">// on [0, 2] with the step 0.01.</span><br/><span class="hl-4">import</span><span class="hl-1"> { </span><span class="hl-5">ODEs</span><span class="hl-1">, </span><span class="hl-5">lsoda</span><span class="hl-1"> } </span><span class="hl-4">from</span><span class="hl-1"> </span><span class="hl-2">'diff-grok'</span><span class="hl-1">;</span><br/><br/><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">task</span><span class="hl-1">: </span><span class="hl-8">ODEs</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-5">name:</span><span class="hl-1"> </span><span class="hl-2">'Example'</span><span class="hl-1">, </span><span class="hl-3">// name of your model</span><br/><span class="hl-1"> </span><span class="hl-5">arg:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">name:</span><span class="hl-1"> </span><span class="hl-2">'t'</span><span class="hl-1">, </span><span class="hl-3">// name of the argument</span><br/><span class="hl-1"> </span><span class="hl-5">start:</span><span class="hl-1"> </span><span class="hl-9">0</span><span class="hl-1">, </span><span class="hl-3">// initial value of the argument</span><br/><span class="hl-1"> </span><span class="hl-5">finish:</span><span class="hl-1"> </span><span class="hl-9">2</span><span class="hl-1">, </span><span class="hl-3">// final value of the argument</span><br/><span class="hl-1"> </span><span class="hl-5">step:</span><span class="hl-1"> </span><span class="hl-9">0.01</span><span class="hl-1">, </span><span class="hl-3">// solution grid step</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-5">initial:</span><span class="hl-1"> [</span><span class="hl-9">1</span><span class="hl-1">, -</span><span class="hl-9">1</span><span class="hl-1">], </span><span class="hl-3">// initial values</span><br/><span class="hl-1"> </span><span class="hl-0">func</span><span class="hl-5">:</span><span class="hl-1"> (</span><span class="hl-5">t</span><span class="hl-1">: </span><span class="hl-8">number</span><span class="hl-1">, </span><span class="hl-5">y</span><span class="hl-1">: </span><span class="hl-8">Float64Array</span><span class="hl-1">, </span><span class="hl-5">output</span><span class="hl-1">: </span><span class="hl-8">Float64Array</span><span class="hl-1">) </span><span class="hl-6">=></span><span class="hl-1"> { </span><span class="hl-3">// right-hand side of the system</span><br/><span class="hl-1"> </span><span class="hl-5">output</span><span class="hl-1">[</span><span class="hl-9">0</span><span class="hl-1">] = </span><span class="hl-5">y</span><span class="hl-1">[</span><span class="hl-9">0</span><span class="hl-1">] + </span><span class="hl-5">y</span><span class="hl-1">[</span><span class="hl-9">1</span><span class="hl-1">] - </span><span class="hl-5">t</span><span class="hl-1">; </span><span class="hl-3">// 1-st equation</span><br/><span class="hl-1"> </span><span class="hl-5">output</span><span class="hl-1">[</span><span class="hl-9">1</span><span class="hl-1">] = </span><span class="hl-5">y</span><span class="hl-1">[</span><span class="hl-9">0</span><span class="hl-1">] * </span><span class="hl-5">y</span><span class="hl-1">[</span><span class="hl-9">1</span><span class="hl-1">] + </span><span class="hl-5">t</span><span class="hl-1">; </span><span class="hl-3">// 2-nd equation</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-5">tolerance:</span><span class="hl-1"> </span><span class="hl-9">1e-7</span><span class="hl-1">, </span><span class="hl-3">// tolerance</span><br/><span class="hl-1"> </span><span class="hl-5">solutionColNames:</span><span class="hl-1"> [</span><span class="hl-2">'x'</span><span class="hl-1">, </span><span class="hl-2">'y'</span><span class="hl-1">], </span><span class="hl-3">// names of solution functions</span><br/><span class="hl-1">};</span><br/><br/><span class="hl-4">try</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">// Solve the problem using the LSODA method</span><br/><span class="hl-1"> </span><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">solution</span><span class="hl-1"> = </span><span class="hl-0">lsoda</span><span class="hl-1">(</span><span class="hl-5">task</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-3">// Print a table with the results</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-5">task</span><span class="hl-1">.</span><span class="hl-5">arg</span><span class="hl-1">.</span><span class="hl-5">name</span><span class="hl-1">, </span><span class="hl-5">task</span><span class="hl-1">.</span><span class="hl-5">solutionColNames</span><span class="hl-1">[</span><span class="hl-9">0</span><span class="hl-1">], </span><span class="hl-5">task</span><span class="hl-1">.</span><span class="hl-5">solutionColNames</span><span class="hl-1">[</span><span class="hl-9">1</span><span class="hl-1">]);</span><br/><span class="hl-1"> </span><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">length</span><span class="hl-1"> = </span><span class="hl-5">solution</span><span class="hl-1">[</span><span class="hl-9">0</span><span class="hl-1">].</span><span class="hl-5">length</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-4">for</span><span class="hl-1"> (</span><span class="hl-6">let</span><span class="hl-1"> </span><span class="hl-5">i</span><span class="hl-1"> = </span><span class="hl-9">0</span><span class="hl-1">; </span><span class="hl-5">i</span><span class="hl-1"> < </span><span class="hl-5">length</span><span class="hl-1">; ++</span><span class="hl-5">i</span><span class="hl-1">)</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-5">solution</span><span class="hl-1">[</span><span class="hl-9">0</span><span class="hl-1">][</span><span class="hl-5">i</span><span class="hl-1">], </span><span class="hl-5">solution</span><span class="hl-1">[</span><span class="hl-9">1</span><span class="hl-1">][</span><span class="hl-5">i</span><span class="hl-1">], </span><span class="hl-5">solution</span><span class="hl-1">[</span><span class="hl-9">2</span><span class="hl-1">][</span><span class="hl-5">i</span><span class="hl-1">]);</span><br/><span class="hl-1">} </span><span class="hl-4">catch</span><span class="hl-1"> (</span><span class="hl-5">err</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Solver failed: '</span><span class="hl-1">, </span><span class="hl-5">err</span><span class="hl-1"> </span><span class="hl-6">instanceof</span><span class="hl-1"> </span><span class="hl-8">Error</span><span class="hl-1"> ? </span><span class="hl-5">err</span><span class="hl-1">.</span><span class="hl-5">message</span><span class="hl-1"> : </span><span class="hl-2">'Unknown problem!'</span><span class="hl-1">);</span><br/><span class="hl-1">}</span>
|
|
6
|
-
</code><button type="button">Copy</button></pre>
|
|
7
|
-
|
|
8
|
-
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/datagrok-ai/diff-grok/blob/652d427344795ab429f0120033309f18670d3034/src/solver-tools/lsoda-method.ts#L67">src/solver-tools/lsoda-method.ts:67</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">diff-grok - v1.1.0</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
package/docs/functions/mrt.html
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>mrt | diff-grok - v1.1.0</title><meta name="description" content="Documentation for diff-grok"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">diff-grok - v1.1.0</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">mrt</a></li></ul><h1>Function mrt</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="mrt"><span class="tsd-kind-call-signature">mrt</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">odes</span><span class="tsd-signature-symbol">:</span> <a href="../types/ODEs.html" class="tsd-signature-type tsd-kind-type-alias">ODEs</a><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">?:</span> <a href="../classes/Callback.html" class="tsd-signature-type tsd-kind-class">Callback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float64Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">[]</span><a href="#mrt" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Solve initial value problem the modified Rosenbrock triple (MRT) method</p>
|
|
2
|
-
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">odes</span>: <a href="../types/ODEs.html" class="tsd-signature-type tsd-kind-type-alias">ODEs</a></span><div class="tsd-comment tsd-typography"><p>initial value problem for ordinary differential equations</p>
|
|
3
|
-
</div></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">callback</span>: <a href="../classes/Callback.html" class="tsd-signature-type tsd-kind-class">Callback</a></span><div class="tsd-comment tsd-typography"><p>computations control callback</p>
|
|
4
|
-
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float64Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">[]</span></h4><p>solution of the problem</p>
|
|
5
|
-
<div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example">Example<a href="#example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">// Example. Solve the following initial value problem using the MRT method:</span><br/><span class="hl-3">// dx/dt = x + y - t</span><br/><span class="hl-3">// dy/dt = x * y + t</span><br/><span class="hl-3">// x(0) = 1</span><br/><span class="hl-3">// y(0) = -1</span><br/><span class="hl-3">// on [0, 2] with the step 0.01.</span><br/><span class="hl-4">import</span><span class="hl-1"> { </span><span class="hl-5">ODEs</span><span class="hl-1">, </span><span class="hl-5">mrt</span><span class="hl-1"> } </span><span class="hl-4">from</span><span class="hl-1"> </span><span class="hl-2">'diff-grok'</span><span class="hl-1">;</span><br/><br/><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">task</span><span class="hl-1">: </span><span class="hl-8">ODEs</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-5">name:</span><span class="hl-1"> </span><span class="hl-2">'Example'</span><span class="hl-1">, </span><span class="hl-3">// name of your model</span><br/><span class="hl-1"> </span><span class="hl-5">arg:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">name:</span><span class="hl-1"> </span><span class="hl-2">'t'</span><span class="hl-1">, </span><span class="hl-3">// name of the argument</span><br/><span class="hl-1"> </span><span class="hl-5">start:</span><span class="hl-1"> </span><span class="hl-9">0</span><span class="hl-1">, </span><span class="hl-3">// initial value of the argument</span><br/><span class="hl-1"> </span><span class="hl-5">finish:</span><span class="hl-1"> </span><span class="hl-9">2</span><span class="hl-1">, </span><span class="hl-3">// final value of the argument</span><br/><span class="hl-1"> </span><span class="hl-5">step:</span><span class="hl-1"> </span><span class="hl-9">0.01</span><span class="hl-1">, </span><span class="hl-3">// solution grid step</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-5">initial:</span><span class="hl-1"> [</span><span class="hl-9">1</span><span class="hl-1">, -</span><span class="hl-9">1</span><span class="hl-1">], </span><span class="hl-3">// initial values</span><br/><span class="hl-1"> </span><span class="hl-0">func</span><span class="hl-5">:</span><span class="hl-1"> (</span><span class="hl-5">t</span><span class="hl-1">: </span><span class="hl-8">number</span><span class="hl-1">, </span><span class="hl-5">y</span><span class="hl-1">: </span><span class="hl-8">Float64Array</span><span class="hl-1">, </span><span class="hl-5">output</span><span class="hl-1">: </span><span class="hl-8">Float64Array</span><span class="hl-1">) </span><span class="hl-6">=></span><span class="hl-1"> { </span><span class="hl-3">// right-hand side of the system</span><br/><span class="hl-1"> </span><span class="hl-5">output</span><span class="hl-1">[</span><span class="hl-9">0</span><span class="hl-1">] = </span><span class="hl-5">y</span><span class="hl-1">[</span><span class="hl-9">0</span><span class="hl-1">] + </span><span class="hl-5">y</span><span class="hl-1">[</span><span class="hl-9">1</span><span class="hl-1">] - </span><span class="hl-5">t</span><span class="hl-1">; </span><span class="hl-3">// 1-st equation</span><br/><span class="hl-1"> </span><span class="hl-5">output</span><span class="hl-1">[</span><span class="hl-9">1</span><span class="hl-1">] = </span><span class="hl-5">y</span><span class="hl-1">[</span><span class="hl-9">0</span><span class="hl-1">] * </span><span class="hl-5">y</span><span class="hl-1">[</span><span class="hl-9">1</span><span class="hl-1">] + </span><span class="hl-5">t</span><span class="hl-1">; </span><span class="hl-3">// 2-nd equation</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-5">tolerance:</span><span class="hl-1"> </span><span class="hl-9">1e-7</span><span class="hl-1">, </span><span class="hl-3">// tolerance</span><br/><span class="hl-1"> </span><span class="hl-5">solutionColNames:</span><span class="hl-1"> [</span><span class="hl-2">'x'</span><span class="hl-1">, </span><span class="hl-2">'y'</span><span class="hl-1">], </span><span class="hl-3">// names of solution functions</span><br/><span class="hl-1">};</span><br/><br/><span class="hl-4">try</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">// Solve the problem using the MRT method</span><br/><span class="hl-1"> </span><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">solution</span><span class="hl-1"> = </span><span class="hl-0">mrt</span><span class="hl-1">(</span><span class="hl-5">task</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-3">// Print a table with the results</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-5">task</span><span class="hl-1">.</span><span class="hl-5">arg</span><span class="hl-1">.</span><span class="hl-5">name</span><span class="hl-1">, </span><span class="hl-5">task</span><span class="hl-1">.</span><span class="hl-5">solutionColNames</span><span class="hl-1">[</span><span class="hl-9">0</span><span class="hl-1">], </span><span class="hl-5">task</span><span class="hl-1">.</span><span class="hl-5">solutionColNames</span><span class="hl-1">[</span><span class="hl-9">1</span><span class="hl-1">]);</span><br/><span class="hl-1"> </span><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">length</span><span class="hl-1"> = </span><span class="hl-5">solution</span><span class="hl-1">[</span><span class="hl-9">0</span><span class="hl-1">].</span><span class="hl-5">length</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-4">for</span><span class="hl-1"> (</span><span class="hl-6">let</span><span class="hl-1"> </span><span class="hl-5">i</span><span class="hl-1"> = </span><span class="hl-9">0</span><span class="hl-1">; </span><span class="hl-5">i</span><span class="hl-1"> < </span><span class="hl-5">length</span><span class="hl-1">; ++</span><span class="hl-5">i</span><span class="hl-1">)</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-5">solution</span><span class="hl-1">[</span><span class="hl-9">0</span><span class="hl-1">][</span><span class="hl-5">i</span><span class="hl-1">], </span><span class="hl-5">solution</span><span class="hl-1">[</span><span class="hl-9">1</span><span class="hl-1">][</span><span class="hl-5">i</span><span class="hl-1">], </span><span class="hl-5">solution</span><span class="hl-1">[</span><span class="hl-9">2</span><span class="hl-1">][</span><span class="hl-5">i</span><span class="hl-1">]);</span><br/><span class="hl-1">} </span><span class="hl-4">catch</span><span class="hl-1"> (</span><span class="hl-5">err</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Solver failed: '</span><span class="hl-1">, </span><span class="hl-5">err</span><span class="hl-1"> </span><span class="hl-6">instanceof</span><span class="hl-1"> </span><span class="hl-8">Error</span><span class="hl-1"> ? </span><span class="hl-5">err</span><span class="hl-1">.</span><span class="hl-5">message</span><span class="hl-1"> : </span><span class="hl-2">'Unknown problem!'</span><span class="hl-1">);</span><br/><span class="hl-1">}</span>
|
|
6
|
-
</code><button type="button">Copy</button></pre>
|
|
7
|
-
|
|
8
|
-
<pre><code>
|
|
9
|
-
</code><button>Copy</button></pre>
|
|
10
|
-
|
|
11
|
-
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/datagrok-ai/diff-grok/blob/652d427344795ab429f0120033309f18670d3034/src/solver-tools/mrt-method.ts#L149">src/solver-tools/mrt-method.ts:149</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">diff-grok - v1.1.0</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>printE5 | diff-grok - v1.1.0</title><meta name="description" content="Documentation for diff-grok"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">diff-grok - v1.1.0</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">printE5</a></li></ul><h1>Function printE5</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="printe5"><span class="tsd-kind-call-signature">printE5</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#printe5" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Print solution of the E5 benchmark problem</p>
|
|
2
|
-
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example">Example<a href="#example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">// TypeScript usage example</span><br/><span class="hl-4">import</span><span class="hl-1"> {</span><span class="hl-5">printE5</span><span class="hl-1">} </span><span class="hl-4">from</span><span class="hl-1"> </span><span class="hl-2">'diff-grok'</span><span class="hl-1">;</span><br/><br/><span class="hl-0">printE5</span><span class="hl-1">();</span>
|
|
3
|
-
</code><button type="button">Copy</button></pre>
|
|
4
|
-
|
|
5
|
-
<pre><code class="python"># Python reference calculation for comparison
|
|
6
|
-
import numpy as np
|
|
7
|
-
import pandas as pd
|
|
8
|
-
from scipy.integrate import solve_ivp
|
|
9
|
-
|
|
10
|
-
# -------------------------
|
|
11
|
-
# 0. Solver method
|
|
12
|
-
# -------------------------
|
|
13
|
-
METHOD = "Radau" # stiff solver recommended
|
|
14
|
-
|
|
15
|
-
# -------------------------
|
|
16
|
-
# 1. Define E5 constants
|
|
17
|
-
# -------------------------
|
|
18
|
-
K1 = 7.89e-10
|
|
19
|
-
K2 = 1.13e9
|
|
20
|
-
K3 = 1.1e7
|
|
21
|
-
K4 = 1.13e3
|
|
22
|
-
|
|
23
|
-
# -------------------------
|
|
24
|
-
# 2. Define E5 ODE
|
|
25
|
-
# -------------------------
|
|
26
|
-
def e5(t, y):
|
|
27
|
-
y1, y2, y3, y4 = y
|
|
28
|
-
dy = np.zeros(4)
|
|
29
|
-
dy[0] = -K1 * y1 - K3 * y1 * y3
|
|
30
|
-
dy[1] = K1 * y1 - K2 * y2 * y3
|
|
31
|
-
dy[2] = K1 * y1 - K2 * y2 * y3 - K3 * y1 * y3 + K4 * y4
|
|
32
|
-
dy[3] = K3 * y1 * y3 - K4 * y4
|
|
33
|
-
return dy
|
|
34
|
-
|
|
35
|
-
# -------------------------
|
|
36
|
-
# 3. Initial conditions and time
|
|
37
|
-
# -------------------------
|
|
38
|
-
y0 = [0.00176, 0, 0, 0]
|
|
39
|
-
t_start = 0.0
|
|
40
|
-
t_end = 1e6
|
|
41
|
-
t_step = 2.5e3
|
|
42
|
-
|
|
43
|
-
# Ensure t_eval is within t_span
|
|
44
|
-
n_points = int(np.ceil((t_end - t_start) / t_step)) + 1
|
|
45
|
-
t_eval = np.linspace(t_start, t_end, n_points)
|
|
46
|
-
|
|
47
|
-
# -------------------------
|
|
48
|
-
# 4. Solve ODE
|
|
49
|
-
# -------------------------
|
|
50
|
-
sol = solve_ivp(
|
|
51
|
-
e5,
|
|
52
|
-
(t_start, t_end),
|
|
53
|
-
y0,
|
|
54
|
-
method=METHOD,
|
|
55
|
-
t_eval=t_eval,
|
|
56
|
-
rtol=1e-6,
|
|
57
|
-
atol=1e-6
|
|
58
|
-
)
|
|
59
|
-
|
|
60
|
-
print("Success:", sol.success)
|
|
61
|
-
print("Message:", sol.message)
|
|
62
|
-
|
|
63
|
-
# -------------------------
|
|
64
|
-
# 5. Save solution to CSV
|
|
65
|
-
# -------------------------
|
|
66
|
-
data = np.column_stack((sol.t, sol.y.T))
|
|
67
|
-
col_names = ['t', 'y1', 'y2', 'y3', 'y4']
|
|
68
|
-
|
|
69
|
-
df = pd.DataFrame(data, columns=col_names)
|
|
70
|
-
filename = f"E5-using-{METHOD}.csv"
|
|
71
|
-
df.to_csv(filename, index=False)
|
|
72
|
-
|
|
73
|
-
print(f"Solution saved to '{filename}'")
|
|
74
|
-
</code><button type="button">Copy</button></pre>
|
|
75
|
-
|
|
76
|
-
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/datagrok-ai/diff-grok/blob/652d427344795ab429f0120033309f18670d3034/src/examples/print-benchmark.ts#L421">src/examples/print-benchmark.ts:421</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">diff-grok - v1.1.0</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>printHires | diff-grok - v1.1.0</title><meta name="description" content="Documentation for diff-grok"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">diff-grok - v1.1.0</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">printHires</a></li></ul><h1>Function printHires</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="printhires"><span class="tsd-kind-call-signature">printHires</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#printhires" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Print solution of the HIRES benchmark problem</p>
|
|
2
|
-
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example">Example<a href="#example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">// TypeScript usage example</span><br/><span class="hl-4">import</span><span class="hl-1"> {</span><span class="hl-5">printHires</span><span class="hl-1">} </span><span class="hl-4">from</span><span class="hl-1"> </span><span class="hl-2">'diff-grok'</span><span class="hl-1">;</span><br/><br/><span class="hl-0">printHires</span><span class="hl-1">();</span>
|
|
3
|
-
</code><button type="button">Copy</button></pre>
|
|
4
|
-
|
|
5
|
-
<pre><code class="python"># Python reference calculation for comparison
|
|
6
|
-
import numpy as np
|
|
7
|
-
import pandas as pd
|
|
8
|
-
from scipy.integrate import solve_ivp
|
|
9
|
-
|
|
10
|
-
# -------------------------
|
|
11
|
-
# 0. Solver method
|
|
12
|
-
# -------------------------
|
|
13
|
-
METHOD = "Radau" # stiff solver suitable for HIRES
|
|
14
|
-
|
|
15
|
-
# -------------------------
|
|
16
|
-
# 1. Define HIRES ODE
|
|
17
|
-
# -------------------------
|
|
18
|
-
def hires(t, y):
|
|
19
|
-
y1, y2, y3, y4, y5, y6, y7, y8 = y
|
|
20
|
-
dy = np.zeros(8)
|
|
21
|
-
dy[0] = -1.71 * y1 + 0.43 * y2 + 8.32 * y3 + 0.0007
|
|
22
|
-
dy[1] = 1.71 * y1 - 8.75 * y2
|
|
23
|
-
dy[2] = -10.03 * y3 + 0.43 * y4 + 0.035 * y5
|
|
24
|
-
dy[3] = 8.32 * y2 + 1.71 * y3 - 1.12 * y4
|
|
25
|
-
dy[4] = -1.745 * y5 + 0.43 * y6 + 0.43 * y7
|
|
26
|
-
dy[5] = -280 * y6 * y8 + 0.69 * y4 + 1.71 * y5 - 0.43 * y6 + 0.69 * y7
|
|
27
|
-
dy[6] = 280 * y6 * y8 - 1.81 * y7
|
|
28
|
-
dy[7] = -280 * y6 * y8 + 1.81 * y7
|
|
29
|
-
return dy
|
|
30
|
-
|
|
31
|
-
# -------------------------
|
|
32
|
-
# 2. Initial conditions and time
|
|
33
|
-
# -------------------------
|
|
34
|
-
y0 = [1, 0, 0, 0, 0, 0, 0, 0.0057]
|
|
35
|
-
|
|
36
|
-
t_start = 0.0
|
|
37
|
-
t_end = 321.8122
|
|
38
|
-
t_step = 0.01
|
|
39
|
-
n_points = int(np.ceil((t_end - t_start) / t_step)) + 1
|
|
40
|
-
t_eval = np.linspace(t_start, t_end, n_points)
|
|
41
|
-
|
|
42
|
-
# -------------------------
|
|
43
|
-
# 3. Solve ODE
|
|
44
|
-
# -------------------------
|
|
45
|
-
sol = solve_ivp(
|
|
46
|
-
hires,
|
|
47
|
-
t_span,
|
|
48
|
-
y0,
|
|
49
|
-
method=METHOD,
|
|
50
|
-
t_eval=t_eval,
|
|
51
|
-
rtol=1e-10,
|
|
52
|
-
atol=1e-10
|
|
53
|
-
)
|
|
54
|
-
|
|
55
|
-
print("Success:", sol.success)
|
|
56
|
-
print("Message:", sol.message)
|
|
57
|
-
|
|
58
|
-
# -------------------------
|
|
59
|
-
# 4. Save solution to CSV
|
|
60
|
-
# -------------------------
|
|
61
|
-
# Combine time + concentrations
|
|
62
|
-
data = np.column_stack((sol.t, sol.y.T))
|
|
63
|
-
|
|
64
|
-
# Column names
|
|
65
|
-
col_names = ['t'] + ['y1','y2','y3','y4','y5','y6','y7','y8']
|
|
66
|
-
|
|
67
|
-
# Create DataFrame and save
|
|
68
|
-
df = pd.DataFrame(data, columns=col_names)
|
|
69
|
-
filename = f'HIRES-using-{METHOD}.csv'
|
|
70
|
-
df.to_csv(filename, index=False)
|
|
71
|
-
|
|
72
|
-
print(f"Solution saved to '{filename}'")
|
|
73
|
-
|
|
74
|
-
</code><button type="button">Copy</button></pre>
|
|
75
|
-
|
|
76
|
-
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/datagrok-ai/diff-grok/blob/652d427344795ab429f0120033309f18670d3034/src/examples/print-benchmark.ts#L187">src/examples/print-benchmark.ts:187</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">diff-grok - v1.1.0</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>printOrego | diff-grok - v1.1.0</title><meta name="description" content="Documentation for diff-grok"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">diff-grok - v1.1.0</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">printOrego</a></li></ul><h1>Function printOrego</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="printorego"><span class="tsd-kind-call-signature">printOrego</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#printorego" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Print solution of the OREGO benchmark problem</p>
|
|
2
|
-
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example">Example<a href="#example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">// TypeScript usage example</span><br/><span class="hl-4">import</span><span class="hl-1"> {</span><span class="hl-5">printOrego</span><span class="hl-1">} </span><span class="hl-4">from</span><span class="hl-1"> </span><span class="hl-2">'diff-grok'</span><span class="hl-1">;</span><br/><br/><span class="hl-0">printOrego</span><span class="hl-1">();</span>
|
|
3
|
-
</code><button type="button">Copy</button></pre>
|
|
4
|
-
|
|
5
|
-
<pre><code class="python"># Python reference calculation for comparison
|
|
6
|
-
import numpy as np
|
|
7
|
-
import pandas as pd
|
|
8
|
-
from scipy.integrate import solve_ivp
|
|
9
|
-
|
|
10
|
-
# -------------------------
|
|
11
|
-
# 0. Solver method
|
|
12
|
-
# -------------------------
|
|
13
|
-
METHOD = "Radau" # stiff solver recommended
|
|
14
|
-
|
|
15
|
-
# -------------------------
|
|
16
|
-
# 1. Define OREGO ODE
|
|
17
|
-
# -------------------------
|
|
18
|
-
def orego(t, y):
|
|
19
|
-
y1, y2, y3 = y
|
|
20
|
-
dy1 = 77.27 * (y2 - y1 * y2 + y1 - 0.000008375 * y1**2)
|
|
21
|
-
dy2 = ( -y2 - y1 * y2 + y3 ) / 77.27
|
|
22
|
-
dy3 = 0.161 * (y1 - y3)
|
|
23
|
-
return [dy1, dy2, dy3]
|
|
24
|
-
|
|
25
|
-
# -------------------------
|
|
26
|
-
# 2. Initial conditions and time
|
|
27
|
-
# -------------------------
|
|
28
|
-
y0 = [1, 2, 3]
|
|
29
|
-
t_start = 0.0
|
|
30
|
-
t_end = 360.0
|
|
31
|
-
t_step = 0.01
|
|
32
|
-
|
|
33
|
-
# Use linspace to ensure t_eval within t_span
|
|
34
|
-
n_points = int(np.ceil((t_end - t_start) / t_step)) + 1
|
|
35
|
-
t_eval = np.linspace(t_start, t_end, n_points)
|
|
36
|
-
|
|
37
|
-
# -------------------------
|
|
38
|
-
# 3. Solve ODE
|
|
39
|
-
# -------------------------
|
|
40
|
-
sol = solve_ivp(
|
|
41
|
-
orego,
|
|
42
|
-
(t_start, t_end),
|
|
43
|
-
y0,
|
|
44
|
-
method=METHOD,
|
|
45
|
-
t_eval=t_eval,
|
|
46
|
-
rtol=1e-8,
|
|
47
|
-
atol=1e-8
|
|
48
|
-
)
|
|
49
|
-
|
|
50
|
-
print("Success:", sol.success)
|
|
51
|
-
print("Message:", sol.message)
|
|
52
|
-
|
|
53
|
-
# -------------------------
|
|
54
|
-
# 4. Save solution to CSV
|
|
55
|
-
# -------------------------
|
|
56
|
-
data = np.column_stack((sol.t, sol.y.T))
|
|
57
|
-
col_names = ['t', 'y1', 'y2', 'y3']
|
|
58
|
-
|
|
59
|
-
df = pd.DataFrame(data, columns=col_names)
|
|
60
|
-
filename = f"OREGO-using-{METHOD}.csv"
|
|
61
|
-
df.to_csv(filename, index=False)
|
|
62
|
-
|
|
63
|
-
print(f"Solution saved to '{filename}'")
|
|
64
|
-
</code><button type="button">Copy</button></pre>
|
|
65
|
-
|
|
66
|
-
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/datagrok-ai/diff-grok/blob/652d427344795ab429f0120033309f18670d3034/src/examples/print-benchmark.ts#L337">src/examples/print-benchmark.ts:337</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">diff-grok - v1.1.0</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|