Coupled ODEs
Synchronization and Collective Dynamics
In this session we return to ODEs and study coupled oscillators. The main example is the Kuramoto model, where synchronization emerges from weak coupling.
Case Studies
We will focus on the Kuramoto model, which represents a population of oscillators with distributed natural frequencies. You can read the theory in the following page:
The following button will guide you through a basic implementation of the model, including visualizations of the oscillators.
Next, we will explore the bifurcation diagram of the Kuramoto model, which shows how the order parameter changes as a function of the coupling strength.
Finally, we merge the two graphs together into a full simulation with sliders to control parameters in real time.
And once that is ready, we will apply the same ideas to a more complex system: the Millennium Bridge crowd–bridge synchrony model.
What do we need?
scipy
We are back to ODEs. Use scipy.integrate.solve_ivp().
matplotlib.pyplot
Initialize the figure and axes and draw static elements.
matplotlib.animation
Update plot elements in real time for animations.
matplotlib.Slider
Add sliders so users can interact with parameters.