PowerDynamics.jl
Provides all the tools you need to create a dynamic power grid model and analyze it.
https://github.com/JuliaEnergy/PowerDynamics.jl
Category: Energy Systems
Sub Category: Grid Analysis and Planning
Keywords from Contributors
power-systems dynamic-simulation inverters microgrids julialang numerical programming-language sciml differential-equations energy-system
Last synced: about 3 hours ago
JSON representation
Repository metadata
Package for dynamical modeling of power grids
- Host: GitHub
- URL: https://github.com/JuliaEnergy/PowerDynamics.jl
- Owner: JuliaEnergy
- License: other
- Created: 2018-10-10T13:31:25.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2026-03-05T21:45:30.000Z (4 days ago)
- Last Synced: 2026-03-06T01:22:41.106Z (4 days ago)
- Language: Julia
- Homepage: https://juliaenergy.github.io/PowerDynamics.jl/latest/
- Size: 25.3 MB
- Stars: 126
- Watchers: 8
- Forks: 34
- Open Issues: 17
- Releases: 37
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Citation: CITATION.bib
- Zenodo: .zenodo.json
README.md


PowerDynamics.jl: An Open-Source Framework Written in Julia for Dynamic Power Grid Modeling and Analysis.
The main idea of this package is to turn dynamic power grid models into a right-hand-side function of a DAE system, which can then be solved using OrdinaryDiffEq.jl.
The main features of PowerDynamics are:
- ModelingToolkit.jl based Frontend: Component models such as machines, controllers, power lines, ... are all defined as symbolic, equation-based MTK models.
- NetworkDynamics.jl based Backend: PD.jl generates Julia code for each of the MTK models as NetworkDynamics.jl compatible vertex- and edge models. NetworkDynamics is used to interconnect those bus and edge models.
- Component-Based Initialisation: Annotate your dynamic models with simplified powerflow models. Solve the powerflow and initialize free dynamic states and parameters of the node and edge models to fit the powerflow result.
- Symbolic Indexing and Observables: Use your typical SciML syntax like
plot(sol, idxs=VIndex(2,:busbar₊u_mag))to access arbitrary states, parameters, observables of your MTK models (in this case, the variable namedbusbar₊u_magof vertex model 2).
... and there is much more! Please check out the Documentation.
Citation
If you use PowerDynamics.jl in your research publications, please cite our paper.
@article{PowerDynamics2022,
title={PowerDynamics.jl--An experimentally validated open-source package for the dynamical analysis of power grids},
author={Plietzsch, Anton and Kogler, Raphael and Auer, Sabine and Merino, Julia and Gil-de-Muro, Asier and Li{\ss}e, Jan and Vogel, Christina and Hellmann, Frank},
journal = {SoftwareX},
volume = {17},
pages = {100861},
year = {2022},
publisher={Elsevier}
}
Funding
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).
Citation (CITATION.bib)
@article{PowerDynamics2022,
title={PowerDynamics.jl--An experimentally validated open-source package for the dynamical analysis of power grids},
author={Plietzsch, Anton and Kogler, Raphael and Auer, Sabine and Merino, Julia and Gil-de-Muro, Asier and Li{\ss}e, Jan and Vogel, Christina and Hellmann, Frank},
journal = {SoftwareX},
volume = {17},
pages = {100861},
year = {2022},
publisher={Elsevier}
}
Owner metadata
- Name: JuliaEnergy
- Login: JuliaEnergy
- Email:
- Kind: organization
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/42609159?v=4
- Repositories: 5
- Last ynced at: 2023-03-03T15:25:34.236Z
- Profile URL: https://github.com/JuliaEnergy
GitHub Events
Total
- Create event: 24
- Commit comment event: 10
- Release event: 3
- Delete event: 7
- Pull request event: 35
- Fork event: 2
- Issues event: 3
- Watch event: 10
- Issue comment event: 18
- Push event: 116
- Pull request review event: 1
Last Year
- Create event: 24
- Commit comment event: 10
- Release event: 3
- Delete event: 7
- Pull request event: 35
- Fork event: 2
- Issues event: 3
- Watch event: 9
- Issue comment event: 18
- Push event: 116
- Pull request review event: 1
Committers metadata
Last synced: 7 days ago
Total Commits: 1,178
Total Committers: 24
Avg Commits per committer: 49.083
Development Distribution Score (DDS): 0.617
Commits in past year: 334
Committers in past year: 5
Avg Commits per committer in past year: 66.8
Development Distribution Score (DDS) in past year: 0.087
| Name | Commits | |
|---|---|---|
| Hans Würfel | g****t@w****o | 451 |
| Jan Lisse | j****e@p****e | 188 |
| timkittel | 1****l | 140 |
| SabineAuer | s****r@e****m | 104 |
| Mandy Wältermann | m****n@t****e | 74 |
| antonplietzsch | 4****h | 50 |
| github-actions[bot] | 4****] | 34 |
| Paul Schultz | 2****k | 32 |
| Jan Lisse | j****e@g****m | 20 |
| Tim Kittel | t****l@e****m | 18 |
| Micha | m****r@p****e | 18 |
| Frank Hellmann | h****n@p****e | 8 |
| WouterVer | 4****r | 8 |
| dependabot[bot] | 4****] | 6 |
| Anbue63 | 3****3 | 6 |
| CompatHelper Julia | c****y@j****g | 6 |
| Anna Büttner | 3****r | 2 |
| Fredrik Ekre | e****k@g****m | 2 |
| Jan Weidner | j****6@g****m | 2 |
| Logan Kilpatrick | 2****3@g****m | 2 |
| Morten Piibeleht | m****t@g****m | 2 |
| Oscar Dowson | o****w | 2 |
| byronbest | 4****t | 2 |
| Maxwell | 1****3@q****m | 1 |
Committer domains:
- pik-potsdam.de: 2
- elena-international.com: 2
- qq.com: 1
- julialang.org: 1
- tu-dortmund.de: 1
- posteo.de: 1
- wuerfel.io: 1
Issue and Pull Request metadata
Last synced: 3 days ago
Total issues: 63
Total pull requests: 194
Average time to close issues: 3 months
Average time to close pull requests: about 1 month
Total issue authors: 21
Total pull request authors: 20
Average comments per issue: 2.98
Average comments per pull request: 1.25
Merged pull request: 148
Bot issues: 0
Bot pull requests: 46
Past year issues: 4
Past year pull requests: 36
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 16 days
Past year issue authors: 2
Past year pull request authors: 5
Past year average comments per issue: 3.25
Past year average comments per pull request: 0.03
Past year merged pull request: 15
Past year bot issues: 0
Past year bot pull requests: 13
Top Issue Authors
- SabineAuer (11)
- timkittel (10)
- janlisse (7)
- luap-pik (6)
- lindnemi (4)
- FHell (3)
- antonplietzsch (3)
- MaxwellDemonLin (3)
- SLiemann (3)
- scdhulipala (2)
- hexaeder (1)
- JuliaTagBot (1)
- LRydin (1)
- 910061035 (1)
- frederikgeth (1)
Top Pull Request Authors
- github-actions[bot] (41)
- hexaeder (34)
- SabineAuer (26)
- janlisse (18)
- luap-pik (17)
- antonplietzsch (16)
- timkittel (12)
- lindnemi (9)
- dependabot[bot] (5)
- Anbue63 (4)
- MaxwellDemonLin (2)
- AnnaBuettner (2)
- odow (1)
- logankilpatrick (1)
- barajale (1)
Top Issue Labels
- enhancement (24)
- bug (5)
- question (3)
- help wanted (2)
- good first issue (2)
- important (1)
Top Pull Request Labels
- enhancement (22)
- bug (10)
- do not merge yet (9)
- dependencies (5)
- github_actions (5)
- important (1)
Package metadata
- Total packages: 1
-
Total downloads:
- julia: 74 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 37
juliahub.com: PowerDynamics
Package for dynamical modeling of power grids
- Homepage: https://juliaenergy.github.io/PowerDynamics.jl/latest/
- Documentation: https://docs.juliahub.com/General/PowerDynamics/stable/
- Licenses: MIT
- Latest release: 4.4.0 (published about 1 month ago)
- Last Synced: 2026-03-03T00:27:33.247Z (7 days ago)
- Versions: 37
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 74 Last month
-
Rankings:
- Forks count: 5.775%
- Stargazers count: 8.373%
- Dependent repos count: 9.94%
- Average: 15.751%
- Dependent packages count: 38.915%
Dependencies
- JuliaRegistries/TagBot v1 composite
- Aqua *
- CSV *
- CairoMakie *
- DataFrames *
- DiffEqCallbacks *
- ExplicitImports *
- FFTA *
- Graphs *
- JLD2 *
- JSON *
- LinearAlgebra *
- Makie *
- ModelingToolkit *
- ModelingToolkitStandardLibrary *
- NetworkDynamics *
- Optimization *
- OptimizationOptimisers *
- OrderedCollections *
- OrdinaryDiffEqNonlinearSolve *
- OrdinaryDiffEqRosenbrock *
- OrdinaryDiffEqTsit5 *
- PowerDynamics *
- SafeTestsets *
- SciMLBase *
- SciMLSensitivity *
- ScopedValues *
- SparseConnectivityTracer *
- Sparspak *
- Statistics *
- SteadyStateDiffEq *
- Test *
- actions/cache/save v5 composite
- actions/checkout v6 composite
- actions/upload-artifact v6 composite
- codecov/codecov-action v5 composite
- julia-actions/cache v2 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-docdeploy v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/setup-julia v2 composite
- CSV *
- CairoMakie *
- DataFrames *
- DiffEqCallbacks *
- Documenter *
- DocumenterInterLinks *
- FFTA *
- Graphs *
- JSON *
- Literate *
- ModelingToolkit *
- ModelingToolkitStandardLibrary *
- NetworkDynamics *
- Optimization *
- OptimizationOptimisers *
- OrderedCollections *
- OrdinaryDiffEqNonlinearSolve *
- OrdinaryDiffEqRosenbrock *
- OrdinaryDiffEqTsit5 *
- PowerDynamics *
- SciMLSensitivity *
- SparseConnectivityTracer *
- Sparspak *
- SteadyStateDiffEq *
- 107 dependencies
- Luxor *
- Revise *
- actions/checkout v6 composite
- ArgCheck *
- DataFrames *
- DiffEqCallbacks *
- ForwardDiff *
- Graphs *
- LinearAlgebra *
- MacroTools *
- ModelingToolkit *
- ModelingToolkitStandardLibrary *
- NetworkDynamics *
- NonlinearSolve *
- OrderedCollections *
- Reexport *
- SciMLBase *
- ScopedValues *
- Setfield *
- SparseConnectivityTracer *
- SparseMatrixColorings *
- StaticArrays *
- SymbolicIndexingInterface *
- Symbolics *
Score: 12.444963553812023