Using interactive features in Julia and WebGL to explore qualitative behaviours in dynamical systems.
Published by Grisha Szep
WebGL Shaders Makie.jl
In the following example we will study two qualitatively distinct types of behaviour: relaxation towards some equilibrium or steady state, oscillation around a limit cycle and a combination of the two. Below is a flow field showing both possibilities.
Starting in some areas of this field will always result in cycling, other areas will always lead to the same point. With Julia and Makie.jl
we can connect the parameters of the system to mouse events. With this we can, for example, place a cycle of a certain radius, or choose the position of a steady state.
Suppose we have a set of parameters that we would like to see the effect of, on a system of equations in real time! WebGL is well suited for this task, especially if our system is spatially extended. Below is an example where the equations describe how populations of two genetically engineered bacteria interact.
Code to run the web app is available on GitHub
G. Szep. 2022. Inferring bifurcations between phenotypes. Thesis
P.K. Grant, G. Szep et al. 2020. Interpretation of morphogen gradients by a synthetic bistable circuit. Nature communications 11 (1), 5545
G. Szep. 2020. Reaction-diffusion in two spatial dimensions.