Solving differential equations

Hi everyone! Explore Diff Studio, Datagrok tool for solving differential equations.

1 Like

Diff Studio takes a set of the differential equations in a declarative form, and creates a UI that solves the equations, visualizes the results, and lets you change parameters on the fly.

diff-studio-run

1 Like

Diff Studio has built-in examples. They cover all Diff Studio capabilities. Use them them as a template.

diff-studio-loop

1 Like

In Diff Studio, you get interactive model exploration. Use annotating to customize interface.

diff-studio-input-annotations

1 Like

Diff Studio has built-in sensitivity analysis feature. Run it to analyze the relationship between inputs and outputs of your model.

diff-studio-run-sens-analysis

1 Like

In Diff Studio, you can find input conditions leading to the specified output constraints for several clicks. Use the parameter optimization feature.

DiffStudio-run-fitting

1 Like

Diff Studio 1.1.1

Meet the new version of Diff Studio. This release provides:

  • 64-bit floats usage
    • higher precision
    • removal of numerical artifacts
  • Integration to the browse tree
    • check models from the Templates & Examples folders
    • find recent models in the Recent folder
  • Templates & Examples update
    • use the improved templates as a backbone of your project
    • explore the Pollution model

Check it!

Browse

Go to Browse > Apps and expand the Diff Studio group:

  • Check model templates from Templates. Start creating your project using them.

  • Click Examples and explore built-in models. These recipes cover all Diff Studio capabilities.

  • Find recently opened models in Recent.

diff-studio-browsing

Share

Use URL to share models and their particular runs. Apply this feature to any item from Templates, Examples and Recent groups. Also, you can share models stored in ivp-files:

diff-studio-sharing-url

Performance

Diff Studio ensures solving both stiff and non-stiff equations.

Go to Browse > Apps > Diff Studio > Examples and select Pollution. This example describes a chemical reaction part of the air pollution model. This model consists of 25 reaction and 20 reacting compounds:

diff-studio-pollution

Move sliders and explore this model:

diff-studio-pollution

Benchmarks

Diff Studio implements the following Rosenbrock–Wanner methods: the modified Rosenbrock triple (MRT), ROS3PRw and ROS34PRw. They provide fast in-browser solving ODEs.

Check benchmarks:

Problem Segment Points Tolerance MRT, ms ROS3PRw, ms ROS34PRw, ms
Rober [0, 10E+11] 40K 1E-7 125 1066 507
HIRES [0, 321.8122] 32K 1E-10 626 931 489
VDPOL [0, 2000] 20K 1E-12 1124 2884 904
OREGO [0, 360] 36K 1E-8 947 1131 440
E5 [0, 10E+13] 40K 1E-6 24 52 18
Pollution [0, 60] 30K 1E-6 71 139 32

Here, the following classic problems are presented:

  • Rober
    • a stiff system of 3 nonlinear ODEs
    • describes the kinetics of an autocatalytic reaction given by Robertson
  • HIRES
    • a stiff system of 8 non-linear equations
    • explains the `High Irradiance Responses’ (HIRES) of photomorphogenesis on the basis of phytochrome, by means of a chemical reaction involving eight reactants
  • VDPOL
    • a system of 2 ODEs proposed by B. van der Pol
    • describes the behaviour of nonlinear vacuum tube circuits
  • OREGO
    • a stiff system of 3 non-linear equations
    • simulates Belousov-Zhabotinskii reaction
  • E5
    • a stiff system of 4 non-linear ODEs
    • represents a chemical pyrolysis model
  • Pollution
    • a stiff system of 20 non-linear equations
    • describes a chemical reaction part of the air pollution model designed at The Dutch National Institute of Public Health and Environmental Protection
1 Like

Lookup tables

Apply lookup tables in your model. They let you initialize its inputs with a set of pre-defined values. To switch between input sets, it only takes a couple of clicks:

bio-rtr

Run the Bioreactor example and check this feature.

1 Like

The use of lookup tables reduces your job, when applying sensitivity analysis and parameter optimization. Switch between input sets in a few clicks:

sens-analysis-run

Run the Bioreactor example and check this feature.

1 Like