diff-grok 1.0.10 → 1.2.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/.claude/settings.local.json +11 -0
- package/.claude/skills/license-updater/SKILL.md +149 -0
- package/.claude/skills/license-updater/references/compatibility.md +68 -0
- package/.claude/skills/license-updater/references/templates.md +151 -0
- package/.claude/skills/license-updater/scripts/generate_license_files.py +467 -0
- package/CLAUDE.md +104 -0
- package/LICENSE +1 -1
- package/README.MD +121 -27
- package/THIRD_PARTY_LICENSES +135 -0
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/BasicModelPipelineCreator.html +4 -4
- package/docs/classes/Callback.html +5 -5
- package/docs/classes/CyclicModelPipelineCreator.html +4 -4
- package/docs/classes/IterCheckerCallback.html +5 -5
- package/docs/classes/PipelineCreator.html +4 -4
- package/docs/classes/TimeCheckerCallback.html +5 -5
- package/docs/classes/UpdatesModelPipelineCreator.html +4 -4
- package/docs/functions/ab4.html +8 -0
- package/docs/functions/ab5.html +8 -0
- package/docs/functions/applyPipeline.html +2 -2
- package/docs/functions/getCallback.html +2 -2
- package/docs/functions/getIVP.html +2 -2
- package/docs/functions/getInputVector.html +2 -2
- package/docs/functions/getIvp2WebWorker.html +2 -2
- package/docs/functions/getJScode.html +2 -2
- package/docs/functions/getOutputNames.html +2 -2
- package/docs/functions/getPipelineCreator.html +2 -2
- package/docs/functions/lsoda.html +8 -0
- package/docs/functions/mrt.html +2 -2
- package/docs/functions/printE5.html +2 -2
- package/docs/functions/printHires.html +2 -2
- package/docs/functions/printOrego.html +2 -2
- package/docs/functions/printPollution.html +2 -2
- package/docs/functions/printRobertson.html +2 -2
- package/docs/functions/printVdpol.html +2 -2
- package/docs/functions/rk3.html +8 -0
- package/docs/functions/rk4.html +8 -0
- package/docs/functions/rkdp.html +8 -0
- package/docs/functions/ros34prw.html +2 -2
- package/docs/functions/ros3prw.html +2 -2
- package/docs/functions/solveIvp.html +2 -2
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +100 -15
- 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/ROBER.png +0 -0
- package/docs/media/VDP0L.png +0 -0
- package/docs/media/cyclic-model.js +3 -1
- package/docs/media/cyclic-model.js.map +1 -1
- package/docs/media/cyclic-model.ts +3 -1
- package/docs/modules.html +1 -1
- package/docs/types/Arg.html +7 -7
- package/docs/types/DifEqs.html +4 -4
- package/docs/types/Func.html +2 -2
- package/docs/types/IVP.html +20 -20
- package/docs/types/IVP2WebWorker.html +7 -7
- package/docs/types/Input.html +4 -4
- package/docs/types/Loop.html +4 -4
- package/docs/types/ODEs.html +8 -8
- package/docs/types/Output.html +4 -4
- package/docs/types/Pipeline.html +4 -4
- package/docs/types/SolverOptions.html +5 -5
- package/docs/types/Update.html +5 -5
- package/docs/types/Wrapper.html +5 -5
- 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/ROBER.png +0 -0
- package/images/VDP0L.png +0 -0
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/index.ts +2 -1
- package/jest.config.js +1 -0
- package/package.json +4 -2
- package/src/examples/check-methods.js +15 -3
- package/src/examples/check-methods.js.map +1 -1
- package/src/examples/check-methods.ts +18 -3
- package/src/examples/cyclic-model.js +3 -1
- package/src/examples/cyclic-model.js.map +1 -1
- package/src/examples/cyclic-model.ts +3 -1
- package/src/solver-tools/ab4-method.js +332 -0
- package/src/solver-tools/ab4-method.js.map +1 -0
- package/src/solver-tools/ab4-method.ts +395 -0
- package/src/solver-tools/ab5-method.js +334 -0
- package/src/solver-tools/ab5-method.js.map +1 -0
- package/src/solver-tools/ab5-method.ts +397 -0
- package/src/solver-tools/cvode/common.js +487 -0
- package/src/solver-tools/cvode/common.js.map +1 -0
- package/src/solver-tools/cvode/common.ts +549 -0
- package/src/solver-tools/cvode/cvode.js +1062 -0
- package/src/solver-tools/cvode/cvode.js.map +1 -0
- package/src/solver-tools/cvode/cvode.ts +1226 -0
- package/src/solver-tools/cvode/cvode_adams.js +124 -0
- package/src/solver-tools/cvode/cvode_adams.js.map +1 -0
- package/src/solver-tools/cvode/cvode_adams.ts +142 -0
- package/src/solver-tools/cvode/cvode_bdf.js +153 -0
- package/src/solver-tools/cvode/cvode_bdf.js.map +1 -0
- package/src/solver-tools/cvode/cvode_bdf.ts +164 -0
- package/src/solver-tools/cvode/cvode_class.js +158 -0
- package/src/solver-tools/cvode/cvode_class.js.map +1 -0
- package/src/solver-tools/cvode/cvode_class.ts +271 -0
- package/src/solver-tools/cvode/cvode_hin.js +119 -0
- package/src/solver-tools/cvode/cvode_hin.js.map +1 -0
- package/src/solver-tools/cvode/cvode_hin.ts +150 -0
- package/src/solver-tools/cvode/cvode_io.js +203 -0
- package/src/solver-tools/cvode/cvode_io.js.map +1 -0
- package/src/solver-tools/cvode/cvode_io.ts +258 -0
- package/src/solver-tools/cvode/cvode_ls.js +210 -0
- package/src/solver-tools/cvode/cvode_ls.js.map +1 -0
- package/src/solver-tools/cvode/cvode_ls.ts +249 -0
- package/src/solver-tools/cvode/cvode_nls.js +220 -0
- package/src/solver-tools/cvode/cvode_nls.js.map +1 -0
- package/src/solver-tools/cvode/cvode_nls.ts +259 -0
- package/src/solver-tools/cvode/cvode_root.js +415 -0
- package/src/solver-tools/cvode/cvode_root.js.map +1 -0
- package/src/solver-tools/cvode/cvode_root.ts +503 -0
- package/src/solver-tools/cvode/dense_linalg.js +131 -0
- package/src/solver-tools/cvode/dense_linalg.js.map +1 -0
- package/src/solver-tools/cvode/dense_linalg.ts +144 -0
- package/src/solver-tools/cvode/index.js +26 -0
- package/src/solver-tools/cvode/index.js.map +1 -0
- package/src/solver-tools/cvode/index.ts +64 -0
- package/src/solver-tools/cvode-method.js +114 -0
- package/src/solver-tools/cvode-method.js.map +1 -0
- package/src/solver-tools/cvode-method.ts +129 -0
- package/src/solver-tools/index.js +7 -0
- package/src/solver-tools/index.js.map +1 -1
- package/src/solver-tools/index.ts +7 -0
- package/src/solver-tools/lsoda/blas.js +257 -0
- package/src/solver-tools/lsoda/blas.js.map +1 -0
- package/src/solver-tools/lsoda/blas.ts +279 -0
- package/src/solver-tools/lsoda/cfode.js +84 -0
- package/src/solver-tools/lsoda/cfode.js.map +1 -0
- package/src/solver-tools/lsoda/cfode.ts +95 -0
- package/src/solver-tools/lsoda/common.js +94 -0
- package/src/solver-tools/lsoda/common.js.map +1 -0
- package/src/solver-tools/lsoda/common.ts +135 -0
- package/src/solver-tools/lsoda/corfailure.js +36 -0
- package/src/solver-tools/lsoda/corfailure.js.map +1 -0
- package/src/solver-tools/lsoda/corfailure.ts +42 -0
- package/src/solver-tools/lsoda/correction.js +112 -0
- package/src/solver-tools/lsoda/correction.js.map +1 -0
- package/src/solver-tools/lsoda/correction.ts +131 -0
- package/src/solver-tools/lsoda/dense.js +121 -0
- package/src/solver-tools/lsoda/dense.js.map +1 -0
- package/src/solver-tools/lsoda/dense.ts +141 -0
- package/src/solver-tools/lsoda/index.js +15 -0
- package/src/solver-tools/lsoda/index.js.map +1 -0
- package/src/solver-tools/lsoda/index.ts +17 -0
- package/src/solver-tools/lsoda/intdy.js +54 -0
- package/src/solver-tools/lsoda/intdy.js.map +1 -0
- package/src/solver-tools/lsoda/intdy.ts +62 -0
- package/src/solver-tools/lsoda/lsoda.js +578 -0
- package/src/solver-tools/lsoda/lsoda.js.map +1 -0
- package/src/solver-tools/lsoda/lsoda.ts +644 -0
- package/src/solver-tools/lsoda/methodswitch.js +108 -0
- package/src/solver-tools/lsoda/methodswitch.js.map +1 -0
- package/src/solver-tools/lsoda/methodswitch.ts +119 -0
- package/src/solver-tools/lsoda/orderswitch.js +97 -0
- package/src/solver-tools/lsoda/orderswitch.js.map +1 -0
- package/src/solver-tools/lsoda/orderswitch.ts +107 -0
- package/src/solver-tools/lsoda/prja.js +54 -0
- package/src/solver-tools/lsoda/prja.js.map +1 -0
- package/src/solver-tools/lsoda/prja.ts +61 -0
- package/src/solver-tools/lsoda/scaleh.js +41 -0
- package/src/solver-tools/lsoda/scaleh.js.map +1 -0
- package/src/solver-tools/lsoda/scaleh.ts +45 -0
- package/src/solver-tools/lsoda/solsy.js +25 -0
- package/src/solver-tools/lsoda/solsy.js.map +1 -0
- package/src/solver-tools/lsoda/solsy.ts +30 -0
- package/src/solver-tools/lsoda/stoda.js +270 -0
- package/src/solver-tools/lsoda/stoda.js.map +1 -0
- package/src/solver-tools/lsoda/stoda.ts +298 -0
- package/src/solver-tools/lsoda-method.js +134 -0
- package/src/solver-tools/lsoda-method.js.map +1 -0
- package/src/solver-tools/lsoda-method.ts +154 -0
- package/src/solver-tools/mrt-method.js +81 -18
- package/src/solver-tools/mrt-method.js.map +1 -1
- package/src/solver-tools/mrt-method.ts +111 -21
- package/src/solver-tools/rk3-method.js +210 -0
- package/src/solver-tools/rk3-method.js.map +1 -0
- package/src/solver-tools/rk3-method.ts +257 -0
- package/src/solver-tools/rk4-method.js +236 -0
- package/src/solver-tools/rk4-method.js.map +1 -0
- package/src/solver-tools/rk4-method.ts +286 -0
- package/src/solver-tools/rkdp-method.js +247 -0
- package/src/solver-tools/rkdp-method.js.map +1 -0
- package/src/solver-tools/rkdp-method.ts +300 -0
- package/src/solver-tools/ros34prw-method.js +1 -1
- package/src/solver-tools/ros34prw-method.js.map +1 -1
- package/src/solver-tools/ros34prw-method.ts +1 -1
- package/src/solver-tools/ros3prw-method.js +1 -1
- package/src/solver-tools/ros3prw-method.js.map +1 -1
- package/src/solver-tools/ros3prw-method.ts +1 -1
- package/src/solver-tools/solver-defs.js +7 -0
- package/src/solver-tools/solver-defs.js.map +1 -1
- package/src/solver-tools/solver-defs.ts +7 -0
- package/src/tests/correctness.test.js +6 -4
- package/src/tests/correctness.test.js.map +1 -1
- package/src/tests/correctness.test.ts +6 -4
- package/src/tests/cvode-lib-correctness.test.js +404 -0
- package/src/tests/cvode-lib-correctness.test.js.map +1 -0
- package/src/tests/cvode-lib-correctness.test.ts +505 -0
- package/src/tests/cvode-lib-performance.test.js +103 -0
- package/src/tests/cvode-lib-performance.test.js.map +1 -0
- package/src/tests/cvode-lib-performance.test.ts +128 -0
- package/src/tests/lsoda-lib-correctness.test.js +223 -0
- package/src/tests/lsoda-lib-correctness.test.js.map +1 -0
- package/src/tests/lsoda-lib-correctness.test.ts +283 -0
- package/src/tests/lsoda-lib-performance.test.js +95 -0
- package/src/tests/lsoda-lib-performance.test.js.map +1 -0
- package/src/tests/lsoda-lib-performance.test.ts +126 -0
- package/src/tests/performance.test.js +12 -8
- package/src/tests/performance.test.js.map +1 -1
- package/src/tests/performance.test.ts +12 -8
- package/src/tests/test-defs.js +20 -1
- package/src/tests/test-defs.js.map +1 -1
- package/src/tests/test-defs.ts +22 -1
- package/src/worker-tools/solving.js +15 -1
- package/src/worker-tools/solving.js.map +1 -1
- package/src/worker-tools/solving.ts +23 -1
|
@@ -1,10 +1,10 @@
|
|
|
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>UpdatesModelPipelineCreator | diff-grok - v1.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>UpdatesModelPipelineCreator | 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">UpdatesModelPipelineCreator</a></li></ul><h1>Class UpdatesModelPipelineCreator</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Pipeline creator for model with updates</p>
|
|
2
2
|
</div><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">// This example shows how to apply pipelines and models with updates.</span><br/><span class="hl-3">// This approach can be used for in-webworkers analysis of models.</span><br/><span class="hl-3">// Here, we consider gluconic acid (GA) production by Aspergillus niger modeling.</span><br/><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</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: GA-production</span><br/><span class="hl-2">#tags: model</span><br/><span class="hl-2">#description: Gluconic acid (GA) production by Aspergillus niger modeling</span><br/><br/><span class="hl-2">#equations:</span><br/><span class="hl-2"> dX/dt = rX</span><br/><span class="hl-2"> dS/dt = -gamma * rX - lambda * X</span><br/><span class="hl-2"> dO/dt = Kla * (Cod - O) - delta * rX - phi * X</span><br/><span class="hl-2"> dP/dt = alpha * rX + beta * X</span><br/><br/><span class="hl-2">#expressions:</span><br/><span class="hl-2"> mu = muM * S / (Ks + S) * O / (Ko + O)</span><br/><span class="hl-2"> rX = mu * X</span><br/><br/><span class="hl-2">#argument: t, 1-st stage</span><br/><span class="hl-2"> _t0 = 0 {units: h; caption: initial; category: Misc} [Start of the process]</span><br/><span class="hl-2"> _t1 = 60 {units: h; caption: 1-st stage; category: Durations; min: 20; max: 80} [Duration of the 1-st stage]</span><br/><span class="hl-2"> step = 0.1 {units: h; caption: step; category: Misc; min: 0.01; max: 1} [Time step of simulation]</span><br/><br/><span class="hl-2">#update: 2-nd stage</span><br/><span class="hl-2"> duration = overall - _t1</span><br/><span class="hl-2"> S += 70</span><br/><br/><span class="hl-2">#inits:</span><br/><span class="hl-2"> X = 5 {units: kg/m³; caption: biomass; category: Initial concentrations; min: 1; max: 10} [Aspergillus niger biomass]</span><br/><span class="hl-2"> S = 150 {units: kg/m³; caption: glucose; category: Initial concentrations; min: 50; max: 200} [Glucose]</span><br/><span class="hl-2"> O = 7 {units: kg/m³; caption: oxygen; category: Initial concentrations; min: 1; max: 10} [Dissolved oxygen]</span><br/><span class="hl-2"> P = 0 {units: kg/m³; caption: acid; category: Initial concentrations; min: 0; max: 0.1} [Gluconic acid]</span><br/><br/><span class="hl-2">#output:</span><br/><span class="hl-2"> t {caption: time}</span><br/><span class="hl-2"> X {caption: biomass}</span><br/><span class="hl-2"> S {caption: glucose}</span><br/><span class="hl-2"> O {caption: oxygen}</span><br/><span class="hl-2"> P {caption: acid}</span><br/><br/><span class="hl-2">#parameters:</span><br/><span class="hl-2"> overall = 100 {units: h; category: Durations; min: 100; max: 140} [Overall duration]</span><br/><span class="hl-2"> muM = 0.668 {units: 1/h; category: Parameters} [Monod type model parameter]</span><br/><span class="hl-2"> alpha = 2.92 {category: Parameters} [Monod type model parameter]</span><br/><span class="hl-2"> beta = 0.131 {units: 1/h; category: Parameters} [Monod type model parameter]</span><br/><span class="hl-2"> gamma = 2.12 {category: Parameters} [Monod type model parameter]</span><br/><span class="hl-2"> lambda = 0.232 {units: 1/h; category: Parameters} [Monod type model parameter]</span><br/><span class="hl-2"> delta = 0.278 {category: Parameters} [Monod type model parameter]</span><br/><span class="hl-2"> phi = 4.87e-3 {units: 1/h; category: Parameters} [Monod type model parameter]</span><br/><span class="hl-2"> Ks = 1.309e2 {units: g/L; category: Parameters} [Monod type model parameter]</span><br/><span class="hl-2"> Ko = 3.63e-4 {units: g/L; category: Parameters} [Monod type model parameter]</span><br/><span class="hl-2"> Kla = 1.7e-2 {units: 1/s; category: Parameters} [Volumetric mass transfer coefficient]</span><br/><span class="hl-2"> Cod = 15 {units: kg/m³; category: Parameters} [Liquid phase dissolved oxygen saturation concentration]</span><br/><br/><span class="hl-2"> #tolerance: 1e-9`</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-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><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><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><br/><span class="hl-1"> </span><span class="hl-5">X:</span><span class="hl-1"> </span><span class="hl-9">5</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">S:</span><span class="hl-1"> </span><span class="hl-9">150</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">O:</span><span class="hl-1"> </span><span class="hl-9">7</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">P:</span><span class="hl-1"> </span><span class="hl-9">0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">overall:</span><span class="hl-1"> </span><span class="hl-9">100</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">muM:</span><span class="hl-1"> </span><span class="hl-9">0.668</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">alpha:</span><span class="hl-1"> </span><span class="hl-9">2.92</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">beta:</span><span class="hl-1"> </span><span class="hl-9">0.131</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">gamma:</span><span class="hl-1"> </span><span class="hl-9">2.12</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">lambda:</span><span class="hl-1"> </span><span class="hl-9">0.232</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">delta:</span><span class="hl-1"> </span><span class="hl-9">0.278</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">phi:</span><span class="hl-1"> </span><span class="hl-9">4.87e-3</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">Ks:</span><span class="hl-1"> </span><span class="hl-9">1.309e2</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">Ko:</span><span class="hl-1"> </span><span class="hl-9">3.63e-4</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">Kla:</span><span class="hl-1"> </span><span class="hl-9">1.7e-2</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">Cod:</span><span class="hl-1"> </span><span class="hl-9">15</span><span class="hl-1">,</span><br/><span class="hl-1"> };</span><br/><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/><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 const length = solution[0].length;</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/><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>
|
|
3
3
|
</code><button type="button">Copy</button></pre>
|
|
4
4
|
|
|
5
|
-
</div></div></section><section class="tsd-panel tsd-hierarchy" data-refl="
|
|
5
|
+
</div></div></section><section class="tsd-panel tsd-hierarchy" data-refl="357"><h4>Hierarchy (<a href="../hierarchy.html#UpdatesModelPipelineCreator">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="PipelineCreator.html" class="tsd-signature-type tsd-kind-class">PipelineCreator</a><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">UpdatesModelPipelineCreator</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/datagrok-ai/diff-grok/blob/652d427344795ab429f0120033309f18670d3034/src/pipeline/updates-pipeline-creator.ts#L134">src/pipeline/updates-pipeline-creator.ts:134</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-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><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
|
|
6
6
|
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="#getpipeline" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Pipeline</span></a>
|
|
7
7
|
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Constructors</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="constructor"><span>constructor</span><a href="#constructor" 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></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="constructorupdatesmodelpipelinecreator"><span class="tsd-signature-keyword">new</span> <span class="tsd-kind-constructor-signature">UpdatesModelPipelineCreator</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="" class="tsd-signature-type tsd-kind-class">UpdatesModelPipelineCreator</a><a href="#constructorupdatesmodelpipelinecreator" 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-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 to be solved</p>
|
|
8
|
-
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">UpdatesModelPipelineCreator</a></h4><aside class="tsd-sources"><p>Overrides <a href="PipelineCreator.html">PipelineCreator</a>.<a href="PipelineCreator.html#constructor">constructor</a></p><ul><li>Defined in <a href="https://github.com/datagrok-ai/
|
|
8
|
+
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">UpdatesModelPipelineCreator</a></h4><aside class="tsd-sources"><p>Overrides <a href="PipelineCreator.html">PipelineCreator</a>.<a href="PipelineCreator.html#constructor">constructor</a></p><ul><li>Defined in <a href="https://github.com/datagrok-ai/diff-grok/blob/652d427344795ab429f0120033309f18670d3034/src/pipeline/updates-pipeline-creator.ts#L138">src/pipeline/updates-pipeline-creator.ts:138</a></li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Methods</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getpipeline"><span>get<wbr/>Pipeline</span><a href="#getpipeline" 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></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="getpipeline-1"><span class="tsd-kind-call-signature">getPipeline</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">inputs</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float64Array</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="../types/Pipeline.html" class="tsd-signature-type tsd-kind-type-alias">Pipeline</a><a href="#getpipeline-1" 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 computations pipeline corresponding to the given input vector</p>
|
|
9
9
|
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">inputs</span>: <span class="tsd-signature-type">Float64Array</span></span><div class="tsd-comment tsd-typography"><p>input vector of the model</p>
|
|
10
|
-
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="../types/Pipeline.html" class="tsd-signature-type tsd-kind-type-alias">Pipeline</a></h4><aside class="tsd-sources"><p>Overrides <a href="PipelineCreator.html">PipelineCreator</a>.<a href="PipelineCreator.html#getpipeline">getPipeline</a></p><ul><li>Defined in <a href="https://github.com/datagrok-ai/
|
|
10
|
+
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="../types/Pipeline.html" class="tsd-signature-type tsd-kind-type-alias">Pipeline</a></h4><aside class="tsd-sources"><p>Overrides <a href="PipelineCreator.html">PipelineCreator</a>.<a href="PipelineCreator.html#getpipeline">getPipeline</a></p><ul><li>Defined in <a href="https://github.com/datagrok-ai/diff-grok/blob/652d427344795ab429f0120033309f18670d3034/src/pipeline/updates-pipeline-creator.ts#L148">src/pipeline/updates-pipeline-creator.ts:148</a></li></ul></aside></div></li></ul></section></section></details></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><details open class="tsd-accordion tsd-page-navigation"><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>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#getpipeline"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Pipeline</span></a></div></details></div></details></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>
|
|
@@ -0,0 +1,8 @@
|
|
|
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>ab4 | 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">ab4</a></li></ul><h1>Function ab4</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="ab4"><span class="tsd-kind-call-signature">ab4</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="#ab4" 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 Adams-Bashforth-Moulton predictor-corrector method of order 4</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 AB4 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">ab4</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 AB4 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">ab4</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/ab4-method.ts#L115">src/solver-tools/ab4-method.ts:115</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>
|
|
@@ -0,0 +1,8 @@
|
|
|
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>ab5 | 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">ab5</a></li></ul><h1>Function ab5</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="ab5"><span class="tsd-kind-call-signature">ab5</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="#ab5" 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 Adams-Bashforth-Moulton predictor-corrector method of order 5</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 AB5 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">ab5</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 AB5 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">ab5</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/ab5-method.ts#L117">src/solver-tools/ab5-method.ts:117</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,4 +1,4 @@
|
|
|
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>applyPipeline | diff-grok - v1.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>applyPipeline | 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">applyPipeline</a></li></ul><h1>Function applyPipeline</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="applypipeline"><span class="tsd-kind-call-signature">applyPipeline</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">pipeline</span><span class="tsd-signature-symbol">:</span> <a href="../types/Pipeline.html" class="tsd-signature-type tsd-kind-type-alias">Pipeline</a><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">ivp</span><span class="tsd-signature-symbol">:</span> <a href="../types/IVP2WebWorker.html" class="tsd-signature-type tsd-kind-type-alias">IVP2WebWorker</a><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">sourceInputs</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float64Array</span><span class="tsd-signature-symbol">,</span><br/><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="#applypipeline" 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>Apply pipeline to initial value problem with the source inputs, and return a solution</p>
|
|
2
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">pipeline</span>: <a href="../types/Pipeline.html" class="tsd-signature-type tsd-kind-type-alias">Pipeline</a></span><div class="tsd-comment tsd-typography"><p>computational pipeleine</p>
|
|
3
3
|
</div></li><li><span><span class="tsd-kind-parameter">ivp</span>: <a href="../types/IVP2WebWorker.html" class="tsd-signature-type tsd-kind-type-alias">IVP2WebWorker</a></span><div class="tsd-comment tsd-typography"><p>initial value problem</p>
|
|
4
4
|
</div></li><li><span><span class="tsd-kind-parameter">sourceInputs</span>: <span class="tsd-signature-type">Float64Array</span></span><div class="tsd-comment tsd-typography"><p>source inputs of the model</p>
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
<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>
|
|
7
7
|
</code><button type="button">Copy</button></pre>
|
|
8
8
|
|
|
9
|
-
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/datagrok-ai/
|
|
9
|
+
</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#L139">src/pipeline/pipeline.ts:139</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,3 +1,3 @@
|
|
|
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>getCallback | diff-grok - v1.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>getCallback | 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">getCallback</a></li></ul><h1>Function getCallback</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="getcallback"><span class="tsd-kind-call-signature">getCallback</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="../types/SolverOptions.html" class="tsd-signature-type tsd-kind-type-alias">SolverOptions</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</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-type">undefined</span><a href="#getcallback" 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 callback corresponding to the given options</p>
|
|
2
2
|
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol"><</span><a href="../types/SolverOptions.html" class="tsd-signature-type tsd-kind-type-alias">SolverOptions</a><span class="tsd-signature-symbol">></span></span><div class="tsd-comment tsd-typography"><p>options of the numerical method</p>
|
|
3
|
-
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="../classes/Callback.html" class="tsd-signature-type tsd-kind-class">Callback</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/datagrok-ai/
|
|
3
|
+
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="../classes/Callback.html" class="tsd-signature-type tsd-kind-class">Callback</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/datagrok-ai/diff-grok/blob/652d427344795ab429f0120033309f18670d3034/src/solver-tools/callbacks/callback-tools.ts#L11">src/solver-tools/callbacks/callback-tools.ts:11</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,6 +1,6 @@
|
|
|
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>getIVP | diff-grok - v1.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>getIVP | 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">getIVP</a></li></ul><h1>Function getIVP</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="getivp"><span class="tsd-kind-call-signature">getIVP</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">text</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="../types/IVP.html" class="tsd-signature-type tsd-kind-type-alias">IVP</a><a href="#getivp" 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 initial value problem specification given in the text</p>
|
|
2
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">text</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>declarative specification of initial value problem</p>
|
|
3
3
|
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="../types/IVP.html" class="tsd-signature-type tsd-kind-type-alias">IVP</a></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">// 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>
|
|
4
4
|
</code><button type="button">Copy</button></pre>
|
|
5
5
|
|
|
6
|
-
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/datagrok-ai/
|
|
6
|
+
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/datagrok-ai/diff-grok/blob/652d427344795ab429f0120033309f18670d3034/src/scripting-tools/scripting-tools.ts#L719">src/scripting-tools/scripting-tools.ts:719</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>
|