To cite this code, please use:
This repo contains implementations of the Kuramoto coupled oscillator model on a 2D lattice.
The code is available in Python and Julia.
Ref.: Acebrón, J.A., Bonilla, L.L., Pérez Vicente, C.J., Ritort, F., Spigler, R., The Kuramoto model: A simple paradigm for synchronization phenomena. Rev Mod Phys 77(1):137-185, 2005.
Rendered page: https://frederic-vw.github.io/kuramoto-2d/
Python Requirements:
pip install package-name
)
Julia Requirements:
julia > using Pkg; Pkg.add("Package Name")
)
The Kuramoto lattice model is defined by:
Noise is added via stochastic integration:
The main function call running the simulation is: kuramoto2d(N, T, t0, dt, s, K0, K1, sd_omega)
:
N
: lattice size (N,N)
T
: number of simulation time stepst0
: number of ‘warm-up’ iterationsdt
: integration time steps
: noise intensity (σ)K0,K1
: Kuramoto coupling constant (start, end values)Outputs: (T,N,N)
array as NumPy .npy format and as .mp4 movie.
Parameters:
N = 128, T = 3000, t0 = 0, dt = 0.05, s = 0.2, K0 = 0.5, K1 = 4.0, sd_omega = 0.25