power-grid-model

Python/C++ library for distribution power system analysis

https://github.com/powergridmodel/power-grid-model

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.0%) to scientific vocabulary

Keywords

cpp eigen3 numpy powerflow powersystem python shortcircuit stateestimation

Keywords from Contributors

interactive graph-generation mesh interpretability sequences generic projection optim embedded hacking
Last synced: 6 months ago · JSON representation ·

Repository

Python/C++ library for distribution power system analysis

Basic Info
  • Host: GitHub
  • Owner: PowerGridModel
  • License: mpl-2.0
  • Language: C++
  • Default Branch: main
  • Homepage:
  • Size: 14 MB
Statistics
  • Stars: 180
  • Watchers: 5
  • Forks: 43
  • Open Issues: 84
  • Releases: 0
Topics
cpp eigen3 numpy powerflow powersystem python shortcircuit stateestimation
Created about 4 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

PyPI version <!-- markdownlint-disable-line first-line-h1 line-length --> Anaconda-Server Badge License: MPL2.0 Downloads Downloads

CI Build docs

Quality Gate Status Coverage Maintainability Rating Reliability Rating Security Rating Vulnerabilities

Nightly build

DOI

Power Grid Model logo <!-- markdownlint-disable-line no-empty-links line-length -->

Power Grid Model

power-grid-model is a library for steady-state distribution power system analysis distributed for Python and C. The core of the library is written in C++. Currently, it supports the following calculations:

  • Power Flow
  • State Estimation
  • Short Circuit

See the power-grid-model documentation for more information. For various conversions to the power-grid-model, refer to the power-grid-model-io repository. For an extended python interface to the the power-grid-model, refer to the power-grid-model-ds repository.

{note} Want to be updated on the latest news and releases? Subscribe to the Power Grid Model mailing list by sending an (empty) email to: powergridmodel+subscribe@lists.lfenergy.org

Installation

Install from PyPI

You can directly install the package from PyPI.

sh pip install power-grid-model

Install from Conda

If you are using conda, you can directly install the package from conda-forge channel.

sh conda install -c conda-forge power-grid-model

Build and install from Source

To install the library from source, refer to the Build Guide.

Examples

Please refer to Examples for more detailed examples for power flow and state estimation. Notebooks for validating the input data and exporting input/output data are also included.

License

This project is licensed under the Mozilla Public License, version 2.0 - see LICENSE for details.

Licenses third-party libraries

This project includes third-party libraries, which are licensed under their own respective Open-Source licenses. SPDX-License-Identifier headers are used to show which license is applicable. The concerning license files can be found in the LICENSES directory.

Contributing

Please read CODEOFCONDUCT, CONTRIBUTING, PROJECT GOVERNANCE and RELEASE for details on the process for submitting pull requests to us.

Visit Contribute for a list of good first issues in this repo.

Citations

If you are using Power Grid Model in your research work, please consider citing our library using the following references.

DOI

bibtex @software{Xiang_PowerGridModel_power-grid-model, author = {Xiang, Yu and Salemink, Peter and van Westering, Werner and Bharambe, Nitish and Govers, Martinus G.H. and van den Bogaard, Jonas and Stoeller, Bram and Wang, Zhen and Guo, Jerry Jinfeng and Figueroa Manrique, Santiago and Jagutis, Laurynas and Wang, Chenguang and van Raalte, Marc and {Contributors to the LF Energy project Power Grid Model}}, doi = {10.5281/zenodo.8054429}, license = {MPL-2.0}, title = {{PowerGridModel/power-grid-model}}, url = {https://github.com/PowerGridModel/power-grid-model} } @inproceedings{Xiang2023, author = {Xiang, Yu and Salemink, Peter and Stoeller, Bram and Bharambe, Nitish and van Westering, Werner}, booktitle={27th International Conference on Electricity Distribution (CIRED 2023)}, title={Power grid model: a high-performance distribution grid calculation library}, year={2023}, volume={2023}, number={}, pages={1089-1093}, keywords={}, doi={10.1049/icp.2023.0633} }

Contact

Please read SUPPORT for how to connect and get into contact with the Power Grid Model project.

Owner

  • Name: Power Grid Model
  • Login: PowerGridModel
  • Kind: organization
  • Email: dynamic.grid.calculation@alliander.com
  • Location: Netherlands

Steady-state distribution power system analysis

Citation (CITATION.cff)

# SPDX-FileCopyrightText: Contributors to the Power Grid Model project <powergridmodel@lfenergy.org>
#
# SPDX-License-Identifier: MPL-2.0

cff-version: 1.2.0
message: "If you are using Power Grid Model in your research work, please consider citing our library as below."

title: "PowerGridModel/power-grid-model"
url: "https://github.com/PowerGridModel/power-grid-model"
doi: "10.5281/zenodo.8054429"
license: "MPL-2.0"
authors:
  - family-names: "Xiang"
    given-names: "Yu"
    email: "Tony.Xiang@Alliander.com"
    affiliation: "Alliander"
    orcid: "https://orcid.org/0000-0001-5889-0067"
  - family-names: "Salemink"
    given-names: "Peter"
    email: "Peter.Salemink@Alliander.com"
    affiliation: "Alliander"
  - family-names: "Westering"
    name-particle: "van"
    given-names: "Werner"
    email: Werner.van.Westering@Alliander.com
    affiliation: "Alliander"
    orcid: "https://orcid.org/0000-0002-4058-2581"
  - family-names: "Bharambe"
    given-names: "Nitish"
    email: "Nitish.Bharambe@Alliander.com"
    affiliation: "Alliander"
    orcid: "https://orcid.org/0009-0007-9694-6077"
  - family-names: "Govers"
    given-names: "Martinus G.H."
    email: "Martijn.Govers@Alliander.com"
    affiliation: "Alliander"
    orcid: "https://orcid.org/0009-0008-6890-8353"
  - family-names: "Bogaard"
    name-particle: "van den"
    given-names: "Jonas"
    email: "Jonas.van.den.Bogaard@Alliander.com"
    affiliation: "Alliander"
  - family-names: "Stoeller"
    given-names: "Bram"
  - family-names: "Wang"
    given-names: "Zhen"
    email: "Zhen.Wang@Alliander.com"
    affiliation: "Alliander"
    orcid: "https://orcid.org/0000-0003-4317-6455"
  - family-names: "Guo"
    given-names: "Jerry Jinfeng"
    email: "Jerry.Jinfeng.Guo@hotmail.com"
    affiliation: "Alliander"
    orcid: "https://orcid.org/0000-0002-8065-4084"
  - family-names: "Figueroa Manrique"
    given-names: "Santiago"
    email: "Santiago.Figueroa.Manrique@Alliander.com"
    affiliation: "Alliander"
  - family-names: "Jagutis"
    given-names: "Laurynas"
    email: "Laurynas.Jagutis@Alliander.com"
    affiliation: "Alliander"
  - family-names: "Wang"
    given-names: "Chenguang"
    email: "Chenguang.Wang@Alliander.com"
    affiliation: "Alliander"
  - family-names: "Raalte"
    name-particle: "van"
    given-names: "Marc"
    email: "Marc.van.Raalte@Alliander.com"
    affiliation: "Alliander"
  - name: "Contributors to the LF Energy project Power Grid Model"
contact:
  - name: "LF Energy project Power Grid Model"
    email: "powergridmodel@lists.lfenergy.org"

references:
  - title: "Power grid model: A high-performance distribution grid calculation library"
    doi: "10.1049/icp.2023.0633"
    authors:
      - family-names: "Xiang"
        given-names: "Yu"
        email: Tony.Xiang@Alliander.com
        affiliation: "Alliander"
        orcid: "https://orcid.org/0000-0001-5889-0067"
      - family-names: "Salemink"
        given-names: "Peter"
        email: Peter.Salemink@Alliander.com
        affiliation: "Alliander"
      - family-names: "Stoeller"
        given-names: "Bram"
      - family-names: "Bharambe"
        given-names: "Nitish"
        email: Nitish.Bharambe@Alliander.com
        affiliation: "Alliander"
        orcid: "https://orcid.org/0009-0007-9694-6077"
      - family-names: "Westering"
        name-particle: "van"
        given-names: "Werner"
        email: Werner.van.Westering@Alliander.com
        affiliation: "Alliander"
        orcid: "https://orcid.org/0000-0002-4058-2581"
    conference:
      name: "CIRED 2023 - The 27th International Conference and Exhibition on Electricity Distribution"
    type: conference-paper
    year: 2023
    volume: 2023
    pages: "1-5"

  - title: "PowerGridModel/power-grid-model-ds"
    repository-code: "https://github.com/PowerGridModel/power-grid-model-ds"
    doi: "10.5281/zenodo.14825565"
    license: "MPL-2.0"
    type: software-code
    authors:
      - family-names: "Schouten"
        given-names: "Jaap"
        email: Jaap.Schouten@Alliander.com
        affiliation: "Alliander"
      - family-names: "Baaijen"
        given-names: "Thijs"
        email: Thijs.Baaijen@Alliander.com
        affiliation: "Alliander"
      - family-names: "Koppen"
        given-names: "Vincent"
        email: Vincent.Koppen@Alliander.com
      - family-names: "Voort"
        name-particle: "van der"
        given-names: "Sven"
        email: Sven.van.der.Voort@Alliander.com
      - name: "Contributors to the LF Energy project Power Grid Model"

  - title: "PowerGridModel/power-grid-model-io"
    repository-code: "https://github.com/PowerGridModel/power-grid-model-io"
    doi: "10.5281/zenodo.8059257"
    license: "MPL-2.0"
    type: software-code
    authors:
      - family-names: "Xiang"
        given-names: "Yu"
        email: "Tony.Xiang@Alliander.com"
        affiliation: "Alliander"
        orcid: "https://orcid.org/0000-0001-5889-0067"
      - family-names: "Salemink"
        given-names: "Peter"
        email: "Peter.Salemink@Alliander.com"
        affiliation: "Alliander"
      - family-names: "Bharambe"
        given-names: "Nitish"
        email: "Nitish.Bharambe@Alliander.com"
        affiliation: "Alliander"
        orcid: "https://orcid.org/0009-0007-9694-6077"
      - family-names: "Govers"
        given-names: "Martinus G.H."
        email: "Martijn.Govers@Alliander.com"
        affiliation: "Alliander"
        orcid: "https://orcid.org/0009-0008-6890-8353"
      - family-names: "Bogaard"
        name-particle: "van den"
        given-names: "Jonas"
        email: "Jonas.van.den.Bogaard@Alliander.com"
        affiliation: "Alliander"
      - family-names: "Stoeller"
        given-names: "Bram"
      - family-names: "Wang"
        given-names: "Zhen"
        email: "Zhen.Wang@Alliander.com"
        affiliation: "Alliander"
        orcid: "https://orcid.org/0000-0003-4317-6455"
      - family-names: "Guo"
        given-names: "Jerry Jinfeng"
        email: "Jerry.Jinfeng.Guo@hotmail.com"
        affiliation: "Alliander"
        orcid: "https://orcid.org/0000-0002-8065-4084"
      - family-names: "Figueroa Manrique"
        given-names: "Santiago"
        email: "Santiago.Figueroa.Manrique@Alliander.com"
        affiliation: "Alliander"
      - family-names: "Jagutis"
        given-names: "Laurynas"
        email: "Laurynas.Jagutis@Alliander.com"
        affiliation: "Alliander"
      - family-names: "Wang"
        given-names: "Chenguang"
        email: "Chenguang.Wang@Alliander.com"
        affiliation: "Alliander"
      - name: "Contributors to the LF Energy project Power Grid Model"

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 6,720
  • Total Committers: 26
  • Avg Commits per committer: 258.462
  • Development Distribution Score (DDS): 0.692
Past Year
  • Commits: 2,254
  • Committers: 16
  • Avg Commits per committer: 140.875
  • Development Distribution Score (DDS): 0.662
Top Committers
Name Email Commits
Martijn Govers M****s@A****m 2,068
Tony Xiang t****g@a****m 1,569
Nitish Bharambe n****e@a****m 875
Jerry Guo J****o@a****m 551
Peter Salemink p****k@a****m 477
Santiago Figueroa s****e@a****m 430
Laurynas Jagutis l****s@a****m 360
Bram Stoeller b****r@a****m 159
Zhen Wang z****g@a****m 73
dependabot[bot] 4****] 66
ChenguangWang-Sam s****g@g****m 17
Udo Schmitz u****z@s****e 17
Emanuele Brentegani e****0@g****m 13
leovsch l****6@g****m 9
Sattama Datta s****a@a****m 8
Jonas van den Bogaard 3****o 8
Thijs Baaijen T****s 4
ekiwaka k****3@g****m 4
Frank Kreuwel f****l@g****m 3
Jialin He 6****o 2
LeiWuInfo l****u@l****m 2
Paul Schulz p****l@m****g 1
jaapschoutenalliander j****n@a****m 1
benjamin.wang b****d@g****m 1
Tony Xiang t****g@T****n 1
sudo-ac 1****c 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 188
  • Total pull requests: 1,020
  • Average time to close issues: 4 months
  • Average time to close pull requests: 6 days
  • Total issue authors: 25
  • Total pull request authors: 20
  • Average comments per issue: 1.56
  • Average comments per pull request: 2.22
  • Merged pull requests: 857
  • Bot issues: 0
  • Bot pull requests: 65
Past Year
  • Issues: 86
  • Pull requests: 515
  • Average time to close issues: 23 days
  • Average time to close pull requests: 5 days
  • Issue authors: 14
  • Pull request authors: 14
  • Average comments per issue: 1.12
  • Average comments per pull request: 2.11
  • Merged pull requests: 414
  • Bot issues: 0
  • Bot pull requests: 29
Top Authors
Issue Authors
  • mgovers (71)
  • TonyXiang8787 (32)
  • petersalemink95 (19)
  • Jerry-Jinfeng-Guo (15)
  • nitbharambe (14)
  • figueroa1395 (11)
  • sudo-ac (4)
  • Jonasvdbo (2)
  • SanPen (2)
  • Thijss (2)
  • wfjvdham (2)
  • leiwu84 (1)
  • Flinverdaasdonk (1)
  • sentient-codebot (1)
  • jaccoheres (1)
Pull Request Authors
  • mgovers (406)
  • Jerry-Jinfeng-Guo (122)
  • nitbharambe (118)
  • TonyXiang8787 (94)
  • figueroa1395 (84)
  • dependabot[bot] (65)
  • Laurynas-Jagutis (42)
  • petersalemink95 (30)
  • zhen0427 (25)
  • leovsch (8)
  • emabre (6)
  • scud-soptim (5)
  • ekiwaka (4)
  • jaapschoutenalliander (2)
  • PaulSchulz (2)
Top Labels
Issue Labels
feature (113) improvement (35) good first issue (31) bug (22) documentation (7) wontfix (1) duplicate (1)
Pull Request Labels
improvement (232) feature (201) bug (114) dependencies (102) documentation (90) github_actions (22) do-not-merge (18) wontfix (1)

Packages

  • Total packages: 2
  • Total downloads: unknown
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 1,184
proxy.golang.org: github.com/PowerGridModel/power-grid-model
  • Versions: 592
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
proxy.golang.org: github.com/powergridmodel/power-grid-model
  • Versions: 592
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago

Dependencies

pyproject.toml pypi
  • numpy >=1.21.0
.github/workflows/check-code-quality.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/main.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • docker/setup-qemu-action v2 composite
  • pypa/cibuildwheel v2.11.4 composite
  • softprops/action-gh-release v1 composite
.github/workflows/reuse-compliance.yml actions
  • actions/checkout v3 composite
  • fsfe/reuse-action v1 composite
.github/workflows/sonar.yml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
  • actions/setup-python v4 composite
.github/workflows/citations.yml actions
  • actions/checkout v4 composite
  • dieghernan/cff-validator v2.3 composite
.github/workflows/clang-tidy.yml actions
  • actions/checkout v4 composite
code_generation/requirements.txt pypi
  • dataclasses_json *
  • jinja2 *
setup.py pypi