DPsim

A solver library for dynamic power system simulation.
https://github.com/sogno-platform/dpsim

Category: Energy Systems
Sub Category: Energy System Modeling Frameworks

Keywords

dynamic-phasors electromagnetic-transient emt power-systems powerflow quasi-stationary real-time simulation

Keywords from Contributors

villas co-simulation cim iec61970 cim-import cim-export fiware fiware-iot-agents fiware-ngsi-v2 fiware-orion

Last synced: about 15 hours ago
JSON representation

Repository metadata

Real-time power system simulator including powerflow, (dynamic) phasors and EMT

README.md

DPsim

CI

License: MPL 2.0
codecov
OpenSSF Best Practices

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 initialization of 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 CIM / CGMES XML format.
  • It can be interfaced to a variety of protocols and interfaces via VILLASnode.

Getting started

Using Binder

Click the badge below to explore the interactive Jupyter notebooks in your browser:

Binder

Using Python on Linux

Install DPsim on Linux using the command

pip install dpsim

Documentation

The documentation has build / installation instructions, links to examples and explains the concepts implemented in DPsim as well as its architecture.

License

The project is released under the terms of the MPL 2.0.

For email inquiries regarding other licensing options, please contact the Institute for Automation of Complex Power Systems (ACS), which coordinates DPsim development: post_acs@eonerc.rwth-aachen.de.

Contact

GitHub Discussions - Ask questions, share ideas, and get community support.

Contribute

If you want to get more involved with DPsim, we welcome contributions of all kinds, including code, documentation, examples, models, bug reports, feature requests, and reviews.

Please open a Pull Request or issue on GitHub, or start a discussion there to propose ideas and get feedback from the community.

Have you developed something new and want to contribute it? Check the documentation for details on the preferred way to organize your code contributions.

Contributors

See CONTRIBUTORS.md for a list of contributors.

Citation (CITATION.cff)

# SPDX-FileCopyrightText: 2026 Institute for Automation of Complex Power Systems, EONERC, RWTH Aachen University
# SPDX-License-Identifier: MPL-2.0

cff-version: 1.2.0
title: DPsim
message: If you use this software, please cite both the software itself and the software paper.
type: software
authors:
  - name: The DPsim Authors
repository-code: https://github.com/sogno-platform/dpsim
url: https://sogno.energy/dpsim/
abstract: >-
  DPsim is a solver library for dynamic power system simulation. It supports the
  electromagnetic transient and dynamic phasor domains as well as continuous
  power flow, and is capable of real-time execution.
license: MPL-2.0
version: 1.2.1
preferred-citation:
  type: article
  title: "DPsim: A dynamic phasor real-time simulator for power systems"
  authors:
    - given-names: Markus
      family-names: Mirz
    - given-names: Steffen
      family-names: Vogel
    - given-names: Georg
      family-names: Reinke
    - given-names: Antonello
      family-names: Monti
  journal: SoftwareX
  volume: 10
  start: 100253
  year: 2019
  issn: 2352-7110
  doi: 10.1016/j.softx.2019.100253

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 4,799
Total Committers: 40
Avg Commits per committer: 119.975
Development Distribution Score (DDS): 0.746

Commits in past year: 495
Committers in past year: 14
Avg Commits per committer in past year: 35.357
Development Distribution Score (DDS) in past year: 0.358

Name Email Commits
Markus Mirz m****z@e****e 1220
Steffen Vogel p****t@s****e 885
Jonas Schroeder j****1@r****e 610
Jan Dinkelbach j****h@e****e 395
Leonardo Carreras l****s@e****e 358
Georg Reinke g****e@r****e 304
Viviane Sapucaia v****a@e****e 168
Niklas Eiling n****g@e****e 133
pipeacosta p****a@g****m 98
Lennart Schumacher l****r@r****e 88
Georgii Tishenin g****n@e****e 78
Martin Moraga m****a@e****e 71
Junjie Zhang j****g@e****e 66
Ghassen Nakti g****i@e****e 62
Daniel_Doehring d****g@r****e 36
henri.lubjuhn h****n@r****e 31
Philipp Fensch p****h@r****e 30
Ruben Sander r****r@r****e 30
matthiasmees m****s@r****e 21
Markus Mirz m****z@r****e 19
Marvin Tollnitsch m****h@r****e 14
Ruben Sander r****r@r****e 14
Felix Wege f****e@e****e 12
Baris Mutlu y****u@g****m 9
cwirtz c****z@f****e 8
Markus Mirz m****z@e****e 8
dependabot[bot] 4****] 7
Petra Raussi p****i@e****e 5
Anas Bahr a****r@r****e 3
Philipp Jungkamp p****p@r****e 3
and 10 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 190
Total pull requests: 528
Average time to close issues: 6 months
Average time to close pull requests: 3 months
Total issue authors: 30
Total pull request authors: 31
Average comments per issue: 1.38
Average comments per pull request: 1.78
Merged pull request: 341
Bot issues: 0
Bot pull requests: 10

Past year issues: 47
Past year pull requests: 189
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 10 days
Past year issue authors: 11
Past year pull request authors: 15
Past year average comments per issue: 0.98
Past year average comments per pull request: 1.73
Past year merged pull request: 114
Past year bot issues: 0
Past year bot pull requests: 4

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/sogno-platform/dpsim

Top Issue Authors

  • leonardocarreras (41)
  • dinkelbachjan (33)
  • stv0g (27)
  • m-mirz (21)
  • georgii-tishenin (9)
  • JTS22 (8)
  • martinmoraga (7)
  • LennartSchu (5)
  • FGH-wirtz (5)
  • SystemsPurge (4)
  • AnasBahr (3)
  • pipeacosta (3)
  • n-eiling (3)
  • gnakti (2)
  • MarvinTollnitschRWTH (2)

Top Pull Request Authors

  • leonardocarreras (176)
  • stv0g (89)
  • m-mirz (35)
  • JTS22 (35)
  • dinkelbachjan (30)
  • georgii-tishenin (30)
  • pipeacosta (19)
  • martinmoraga (18)
  • n-eiling (17)
  • gnakti (12)
  • matthiasmees (11)
  • dependabot[bot] (10)
  • MarvinTollnitschRWTH (7)
  • FGH-wirtz (5)
  • LennartSchu (5)

Top Issue Labels

  • enhancement (57)
  • bug (30)
  • ci (23)
  • documentation (21)
  • software-team (18)
  • python (6)
  • question (5)
  • dependencies (5)
  • refactor (5)
  • help wanted (5)
  • packaging (3)
  • github_actions (2)
  • opalrtlinux (2)
  • good first issue (1)
  • performance (1)

Top Pull Request Labels

  • enhancement (94)
  • ci (34)
  • bug (24)
  • refactor (21)
  • dependencies (14)
  • packaging (14)
  • documentation (12)
  • python (7)
  • javascript (3)
  • github_actions (1)

Package metadata

pypi.org: dpsim

dynamic real-time power system simulator

  • Homepage: https://github.com/sogno-platform/dpsim
  • Documentation: https://dpsim.readthedocs.io/
  • Licenses: Mozilla Public License 2.0 (MPL 2.0)
  • Latest release: 2.0.1 (published almost 4 years ago)
  • Last Synced: 2026-08-12T18:35:30.786Z (1 day ago)
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 435 Last month
  • Rankings:
    • Forks count: 6.144%
    • Dependent packages count: 7.31%
    • Stargazers count: 9.272%
    • Average: 12.578%
    • Downloads: 18.077%
    • Dependent repos count: 22.088%
  • Maintainers (4)

Dependencies

.github/workflows/build_test_windows.yaml actions
  • actions/cache v5 composite
  • actions/checkout v6 composite
.github/workflows/pre_commit.yaml actions
  • actions/checkout v6 composite
  • actions/setup-python v6 composite
  • pre-commit/action v3.0.1 composite
.github/workflows/publish_to_pypi.yaml actions
  • actions/checkout v6 composite
  • actions/download-artifact v8 composite
  • actions/setup-python v6 composite
  • actions/upload-artifact v7 composite
  • pypa/cibuildwheel v3.4.1 composite
  • pypa/gh-action-pypi-publish v1.14.0 composite
.github/workflows/build_test_linux_rocky_profiling.yaml actions
  • actions/cache v5 composite
  • actions/checkout v6 composite
.github/workflows/run_and_profile_example.yaml actions
  • actions/cache v5 composite
  • actions/upload-artifact v7 composite
.github/workflows/run_villas_example.yaml actions
  • actions/checkout v6 composite
  • actions/download-artifact v8 composite
docs/hugo/Dockerfile docker
  • fedora 34 build
.github/workflows/sonar_cloud.yaml actions
  • SonarSource/sonarqube-scan-action/install-build-wrapper v8.1.0 composite
  • actions/cache v5 composite
  • actions/checkout v6 composite
  • actions/upload-artifact v4 composite
examples/villas/docker-compose-dpsim-mqtt/docker-compose.yml docker
  • eclipse-mosquitto latest
examples/villas/docker-compose-tests/docker-compose.yml docker
  • eclipse-mosquitto latest
  • sogno/dpsim dev
docs/hugo/go.mod go
  • github.com/google/docsy v0.6.0
docs/hugo/go.sum go
  • github.com/FortAwesome/Font-Awesome v0.0.0-20220831210243-d3a7818c253f
  • github.com/google/docsy v0.6.0
  • github.com/google/docsy/dependencies v0.6.0
  • github.com/twbs/bootstrap v4.6.2+incompatible
flake.lock nix
  • flake-utils 11707dc
  • nixpkgs 1750f3c
  • villas-node 5606793
.github/workflows/build_test_linux_fedora.yaml actions
  • actions/cache v5 composite
  • actions/checkout v6 composite
  • actions/download-artifact v8 composite
  • actions/upload-artifact v7 composite
  • astral-sh/setup-uv v9.0.0 composite
  • codecov/codecov-action v6 composite
.github/workflows/container.yaml actions
  • actions/checkout v6 composite
  • docker/build-push-action v7 composite
  • docker/login-action v4 composite
.github/workflows/build_test_linux_rocky.yaml actions
  • actions/cache v5 composite
  • actions/checkout v6 composite
.github/workflows/compliance.yaml actions
  • actions/checkout v6 composite
.github/workflows/build_nix.yaml actions
  • actions/checkout v6 composite
  • cachix/cachix-action v17 composite
  • cachix/install-nix-action v31 composite
.github/workflows/build_test_linux_fedora_minimal.yaml actions
  • actions/cache v5 composite
  • actions/checkout v6 composite
.github/workflows/documentation.yaml actions
  • actions/cache v5 composite
  • actions/checkout v6 composite
  • actions/download-artifact v8 composite
  • actions/setup-node v6 composite
  • actions/upload-artifact v7 composite
  • peaceiris/actions-gh-pages v4.1.0 composite
  • peaceiris/actions-hugo v3.2.1 composite
.binder/Dockerfile docker
  • ${BASE_IMAGE} latest build
.github/workflows/llm-review-collect.yml actions
  • actions/upload-artifact v4 composite
.github/workflows/llm-review.yml actions
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
.github/workflows/sonar_cloud_scan.yaml actions
  • SonarSource/sonarqube-scan-action v8.1.0 composite
  • actions/cache v5 composite
  • actions/download-artifact v4 composite
  • actions/github-script v7 composite
  • actions/setup-node v6 composite
packaging/Docker/Dockerfile docker
  • ${BASE_IMAGE} latest build
flake.nix nix
  • flake-utils *
  • nixpkgs nixpkgs-unstable
  • villas-node *
docs/hugo/package.json npm
  • autoprefixer ^10.4.13 development
  • postcss ^8.5.23 development
  • postcss-cli ^10.1.0 development
docs/hugo/package-lock.json npm
  • @nodelib/fs.scandir 2.1.5 development
  • @nodelib/fs.stat 2.0.5 development
  • @nodelib/fs.walk 1.2.8 development
  • ansi-regex 5.0.1 development
  • ansi-styles 4.3.0 development
  • anymatch 3.1.3 development
  • autoprefixer 10.4.13 development
  • binary-extensions 2.2.0 development
  • braces 3.0.3 development
  • browserslist 4.21.4 development
  • caniuse-lite 1.0.30001439 development
  • chokidar 3.5.3 development
  • cliui 8.0.1 development
  • color-convert 2.0.1 development
  • color-name 1.1.4 development
  • dependency-graph 0.11.0 development
  • dir-glob 3.0.1 development
  • electron-to-chromium 1.4.284 development
  • emoji-regex 8.0.0 development
  • escalade 3.1.1 development
  • fast-glob 3.2.12 development
  • fastq 1.14.0 development
  • fill-range 7.1.1 development
  • fraction.js 4.2.0 development
  • fs-extra 11.1.0 development
  • fsevents 2.3.2 development
  • get-caller-file 2.0.5 development
  • get-stdin 9.0.0 development
  • glob-parent 5.1.2 development
  • globby 13.1.2 development
  • graceful-fs 4.2.10 development
  • ignore 5.2.1 development
  • is-binary-path 2.1.0 development
  • is-extglob 2.1.1 development
  • is-fullwidth-code-point 3.0.0 development
  • is-glob 4.0.3 development
  • is-number 7.0.0 development
  • jsonfile 6.1.0 development
  • lilconfig 2.0.6 development
  • merge2 1.4.1 development
  • micromatch 4.0.5 development
  • nanoid 3.3.16 development
  • node-releases 2.0.6 development
  • normalize-path 3.0.0 development
  • normalize-range 0.1.2 development
  • path-type 4.0.0 development
  • picocolors 1.1.1 development
  • picomatch 2.3.2 development
  • pify 2.3.0 development
  • postcss 8.5.23 development
  • postcss-cli 10.1.0 development
  • postcss-load-config 4.0.1 development
  • postcss-reporter 7.0.5 development
  • postcss-value-parser 4.2.0 development
  • pretty-hrtime 1.0.3 development
  • queue-microtask 1.2.3 development
  • read-cache 1.0.0 development
  • readdirp 3.6.0 development
  • require-directory 2.1.1 development
  • reusify 1.0.4 development
  • run-parallel 1.2.0 development
  • slash 4.0.0 development
  • slash 5.0.0 development
  • source-map-js 1.2.1 development
  • string-width 4.2.3 development
  • strip-ansi 6.0.1 development
  • thenby 1.3.4 development
  • to-regex-range 5.0.1 development
  • universalify 2.0.0 development
  • update-browserslist-db 1.0.10 development
  • wrap-ansi 7.0.0 development
  • y18n 5.0.8 development
  • yaml 2.2.2 development
  • yargs 17.6.2 development
  • yargs-parser 21.1.1 development
setup.py pypi
pyproject.toml pypi
  • numpy >=2.0.0
  • pandas >=2.0.0
  • scipy >=1.10.0

Score: 15.289082927191226