csle-2d

Complex Stuart-Landau lattice model in Python and julia

To cite this code, please use: DOI
Code used in the article: https://doi.org/10.1016/j.neuroimage.2020.117372

This repo contains implementations of a coupled oscillator model following the complex Stuart-Landau equations (CSLE) on a 2D lattice.
The code is available in Python and Julia.

Ref.: Aranson, I.S., Kramer, L., The world of the complex Ginzburg-Landau equation. Rev Mod Phys 74(1):99-143, 2002.

Rendered page: https://frederic-vw.github.io/csle-2d/

Python Requirements:

  1. python installation, latest version tested 3.6.9
  2. python packages (pip install package-name)
    • NumPy
    • Matplotlib
    • SciPy
    • opencv-python (save data as movie)

Julia Requirements:

  1. julia installation, latest version tested 1.6.1
  2. julia packages (julia > using Pkg; Pkg.add("Package Name"))
    • Interpolations
    • NPZ
    • PyCall (load Matplotlib animation functionality)
    • PyPlot
    • Statistics
    • VideoIO (save data as movie)

Stuart-Landau model

The lattice model is defined by:

Noise is added via stochastic integration:

The main function call running the simulation is: csle2d(N, T, t0, dt, s, D, mu0, mu1):

Outputs: (T,N,N) array as NumPy .npy format and as .mp4 movie.

Example-1

Parameters:
N = 128, T = 2500, t0 = 0, dt = 0.05, s = 0.05, D = 1.0, mu0 = -0.05, mu1 = 0.5