Here is an app that simulates the Kuramoto model with neighbor-to-neighbor coupling for a grid of phase oscillators. Each grid cell represents a single oscillator which is coupled directly to its 4 nearest neighbors via a couping function \(H\). All of the cells have their own intrinsic frequency which are gaussian distributed (as illustrated in the histrogram). You can control the parameters of this distribution. You can play around with the parameters of the model (might need to reset the simulations for most of them). The system is integrated with forward Euler and follows this dynamic: $$\frac{d\phi_{x,y}}{dt} = \omega_{x,y} + k \sum_{i=\{-1, 1\}} \sum_{j=\{-1, 1\}} H(\phi_{x+i,\ y+j} - \phi_{x,y}) $$ Intuitively, we can imagine that every pixel in the colored grid corresponds to some oscillator, that want to synchronize to its four nearest neighbor. The \(k\) parameter corresponds to how strongly each oscillator want to sync-up to its neighbors. The \(E(\omega)\) parameter corresponds to how fast (on average) are all the oscillators oscillating, and the \(\sigma\) the standard deviation of this distribution of frequencies. There is also a parameter for the range of uniformly distributed initial phases for the simulation. A range of \(0\) means that all the oscillators have the same phase when starting, and a range of \(1\) means that all the oscillators have their initial phases uniformly distributed around all the possible phases (from \(0\) to \(2\pi\)).
The coupling function, \(H\) can strongly affect the dynamic of the system. You can select amongst a variety of coupling functions (see this paper for in dept discussion). The ones that are supported are presented in this plot:
Furthermore, a quantity of interest for such a system is the Kuramoto Order Parameter. This quantity measures roughly "how synchronized are the oscillators". An order parameter of \(1\) means that all the oscillator are oscillating with the exact same phase. An order parameter or \(0\) means that all the oscillators are oscillating with different phases from each other. We can compute this quantity for any group of similar oscillators. Under the plot with all the oscillators evolving, you will find the evolution in time of this order parameter. Since this parameter depends on the group of oscillators studied, we show the order parameter for different Regions of Interest (ROI), delimited by color-coded rectangles. Notice that the smaller ROIs usually have higher order parameters.