DPsim is a solver library for dynamic power system simulation.

  • It supports both the electromagnetic transient (EMT) and dynamic phasor (DP) domain for dynamic simulation.
  • A powerflow solver is included for standalone usage or to initialize dynamic simulations.
  • It provides a Python module which can be embedded in any Python 3 application / scripts.
  • The simulation core is implemented in highly-efficient C++ code.
  • It supports real-time execution with time-steps down to 50 uS.
  • It can load models in the IEC61970 Common Information Model (CIM) / Common Grid Model Exchange Standard (CGMES) XML format.
  • It can be interfaced to a variety of protocols and interfaces via VILLASnode.


Using or want to use DPsim? Find out more here:

LF Energy Slack - Chat with other users and developers and get help in the #sogno or #sogno-dpsim channel.

You can also send a direct message to

  • Markus Mirz
  • Jan Dinkelbach
  • Steffen Vogel


If you want to get more involved by contributing to DPsim, please send us a Pull Request on GitHub.


If you are using DPsim for your research, please cite one of the following papers in your publications:


Getting Started

How to install, build and run the DPsim project.



How to extend DPsim.


Mathematical description of the models implemented in DPsim.

Core Tasks

Description of typical simulation and development tasks.


Here you can find some examples to get started with DPsim.



Low level reference docs for DPsim.

Contribution Guidelines

How to contribute to DPsim.