build status coverage report

DPsim is a solver library for power system simulation.

  • It supports both the electro-magnetic transient (EMT) and dynamic phasor (DP) domain.

  • It provides a Python module which can be embedded in any Python 3 application / scripts.

  • It is implemented in highly-efficient C++ code.

  • It supports real-time execution with time-steps up to 50 uS.

  • It can load models in the Common Information Model (CIM) XML format.

  • It can be interfaced to a variety of protocols and interfaces via VILLASnode.


If you just want to use DPsim for simulations, take a look at the installation instructions.

If you would like to modify / extend DPsim or build it for a specific platform, take a look at the build instructions.


DPsim is a Python extension module which is implemented in optimized native C++ code. Users can control and script the simulation with Python scripts. Checkout the Examples.


The user documentation has examples, build / installation instructions and covers the Python API.

The C++ developer documentation only includes automatically generated content using Doxygen. It is helpful to understand the general structure of the C++ DPsim core components.


This project is released under the terms of the GPL version 3.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

For other licensing options please consult Prof. Antonello Monti.