|
1 | 1 | # Diff Grok |
2 | 2 |
|
| 3 | +[](https://datagrok-ai.github.io/diff-grok/) |
3 | 4 | [](https://doi.org/10.21105/joss.09090) |
4 | 5 | [](https://doi.org/10.5281/zenodo.19219694) |
5 | 6 | [](https://datagrok-ai.github.io/diff-grok/) |
6 | 7 | [](https://github.com/datagrok-ai/diff-grok/blob/main/LICENSE) |
7 | 8 | [](https://github.com/datagrok-ai/diff-grok/actions/workflows/libraries.yaml) |
8 | 9 | [](https://github.com/datagrok-ai/diff-grok/actions/workflows/test.yaml) |
9 | 10 |
|
10 | | -A lightweight TypeScript library for solving initial value problem ([IVP](https://en.wikipedia.org/wiki/Initial_value_problem)) for ordinary differential equations ([ODEs](https://en.wikipedia.org/wiki/Ordinary_differential_equation)) using numerical methods. The primary solvers are [LSODA](https://doi.org/10.1137/0904010) — a variable-order method that automatically detects stiffness and switches between Adams (non-stiff) and BDF (stiff) formulations — and [CVODE](https://sundials.readthedocs.io/en/latest/cvode/index.html) — a variable-order, variable-step solver from the SUNDIALS suite supporting both Adams and BDF methods. |
| 11 | +A lightweight TypeScript library for solving initial value problem ([IVP](https://en.wikipedia.org/wiki/Initial_value_problem)) for ordinary differential equations ([ODEs](https://en.wikipedia.org/wiki/Ordinary_differential_equation)) using numerical methods. The primary solvers are [LSODA](https://doi.org/10.1137/0904010) - a variable-order method that automatically detects stiffness and switches between Adams (non-stiff) and BDF (stiff) formulations - and [CVODE](https://sundials.readthedocs.io/en/latest/cvode/index.html) - a variable-order, variable-step solver from the SUNDIALS suite supporting both Adams and BDF methods. |
11 | 12 |
|
12 | 13 | ## Features |
13 | 14 |
|
@@ -424,7 +425,7 @@ Find this example in [scripting.ts](./src/examples/scripting.ts). |
424 | 425 |
|
425 | 426 | ### Pipelines |
426 | 427 |
|
427 | | -Diff Grok **pipeline** is a powerful feature for complex process simulation and model analysis in webworkers. It wraps the main solver with a set of actions that perform pre- and post-processing of a model inputs & outputs. In addition, they provide an output customization. |
| 428 | +Diff Grok **pipeline** is a powerful feature for complex process simulation and model analysis in webworkers (see our [paper](https://link.springer.com/chapter/10.1007/978-3-032-22236-7_31) in Lecture Notes in Networks and Systems). It wraps the main solver with a set of actions that perform pre- and post-processing of a model inputs & outputs. In addition, they provide an output customization. |
428 | 429 |
|
429 | 430 | 1. Start with imports: |
430 | 431 |
|
@@ -690,6 +691,20 @@ If you use this library for research purposes, please cite the following: |
690 | 691 | } |
691 | 692 | ``` |
692 | 693 |
|
| 694 | +``` |
| 695 | +@InProceedings{diffstudio2026lnns, |
| 696 | +title = {Diff Studio: Web-Based Environment for Interactive Modeling with Ordinary Differential Equations}, |
| 697 | +author = {Viktor Makarichev, Larisa Bankurova, Gennadii Zakharov, Leonid Stolbov, Steven Mehrman, Dan Skatov, Jeffrey Cohen, Paul Sass, Davit Rizhinashvili, Andrew Skalkin}, |
| 698 | +editor = {Radek Silhavy, Petr Silhavy}, |
| 699 | +booktitle = {Focus on Artificial Intelligence in Intelligent Systems Design}, |
| 700 | +year = {2026}, |
| 701 | +publisher = {Springer Nature Switzerland}, |
| 702 | +address = {Cham}, |
| 703 | +pages = {390--401}, |
| 704 | +doi = {10.1007/978-3-032-22236-7_31} |
| 705 | +} |
| 706 | +``` |
| 707 | + |
693 | 708 | ## References |
694 | 709 |
|
695 | 710 | * L. Petzold, "Automatic Selection of Methods for Solving Stiff and Nonstiff Systems of Ordinary Differential Equations," *SIAM J. Sci. Stat. Comput.*, 4(1), 136–148, 1983. [doi:10.1137/0904010](https://doi.org/10.1137/0904010) |
|
0 commit comments