A package for working with dynamical systems on complex networks. NetworkDynamics.jl provides an interface between Graphs.jl and DifferentialEquations.jl. It allows modeling of dynamical processes on networks using a modular approach: meaning that the overall network dynamics are composed based on dynamical models for the nodes and the edges. The dynamical behavior of those components are described by differential algebraic equations with inputs and outputs.
Typical usecases for this modeling appraoch are diffusion processes, oscillator networks or power grids.
Check out our documentation. A good place to start is the page on the mathematical model. For a more hands-on approach check out the getting started example.
An introductory talk for an older version of this package was recorded for JuliaCon2020. Be aware that the API change significantly since then, but it can still give some insights into usecases of the package.
In our benchmark on the Kuramoto model NetworkDynamics.jl + DifferentialEquations.jl proved to be an especially performant solution, see https://github.com/PIK-ICoNe/NetworkDynamicsBenchmarks.
Important
As of 11/2024, the currently available version of PowerDynamics.jl is quite outdated and builds on an old version of NetworkDynamics. However, PowerDynamics will receive an Substantial update as part of an ongoing project. We expect a pre-release of that in the first half of 2025!
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.
@article{NetworkDynamics.jl-2021,
author = {Lindner, Michael and Lincoln, Lucas and Drauschke, Fenja and Koulen, Julia M. and Würfel, Hans and Plietzsch, Anton and Hellmann, Frank},
doi = {10.1063/5.0051387},
eprint = { https://doi.org/10.1063/5.0051387 },
journal = {Chaos: An Interdisciplinary Journal of Nonlinear Science},
number = {6},
pages = {063133},
title = {NetworkDynamics.jl—Composing and simulating complex networks in Julia},
url = { https://doi.org/10.1063/5.0051387 },
volume = {31},
year = {2021}
}
Development of this project was in part funded by the German Federal Ministry for Economic Affairs and Climate Action as part of the OpPoDyn-Project (Project ID 01258425/1, 2024-2027).