Julia package for working with Dynamics on Networks.
Author PIK-ICoN
64 Stars
Updated Last
1 Year Ago
Started In
February 2019


A package for working with dynamical systems on complex networks. NetworkDynamics.jl provides an interface between LightGraphs.jl and DifferentialEquations.jl. It allows to define several types of dynamic and static nodes and edges and to link them up in order to create complex network dynamics.

The behavior of a node or an edge can be described by algebraic equations, by differential algebraic equation (DAEs) in mass matrix form, by ordinary differential equations (ODE) or by delay differential equations (DDE). Stochastic ordinary differential equations (SDE) can be implemented as a two-layer network. For details see the docs.

Getting started

Check out our step-by-step tutorial as a jupyter notebook or in the docs.

An introductory talk was recorded at JuliaCon2020.


In our benchmark on the Kuramoto model NetworkDynamics.jl + DifferentialEquations.jl proved to be an especially performant solution, see


PowerDynamics.jl is an open-source framework for dynamic power grid modeling and analysis build on top of NetworkDynamics.jl.


If you use NetworkDynamics.jl in your research publications, please cite our paper.

  title={NetworkDynamics. jl--Composing and simulating complex networks in Julia},
  author={Lindner, Michael and Lincoln, Lucas and Drauschke, Fenja and Koulen, Julia Monika and W{\"u}rfel, Hans and Plietzsch, Anton and Hellmann, Frank},
  journal={arXiv preprint arXiv:2012.12696},

Old Documentation

Documentation for relases prior to version 0.5.3 can be found here. Current docs are here.