ElectricGrid.jl - A Julia-based modeling and simulation tool for power electronics-driven electric energy grids
ElectricGrid.jl - A Julia-based modeling and simulation tool for power electronics-driven electric energy grids - Published in JOSS (2023)
Science Score: 98.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○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 and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
4 of 18 committers (22.2%) from academic institutions -
✓Institutional organization owner
Organization upb-lea has institutional domain (ei.uni-paderborn.de) -
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords from Contributors
Scientific Fields
Repository
A time domain electrical energy grid modeling and simulation tool with a focus on the control of power electronics converters
Basic Info
- Host: GitHub
- Owner: upb-lea
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://upb-lea.github.io/ElectricGrid.jl/
- Size: 140 MB
Statistics
- Stars: 38
- Watchers: 4
- Forks: 6
- Open Issues: 2
- Releases: 4
Metadata Files
README.md
ElectricGrid.jl

| Reference docs | Install guide | Quickstart | Release notes
ElectricGrid.jl is a library for setting up realistic electric grid simulations with extensive support for control options. With ElectricGrid.jl you can - create a simulation environment for an electric grid by defining its sources, loads, and cable connections, - set detailed parameters of your electric components or let them be auto-generated, - choose different control modes for each power electronic converter in your system and - use the agent architecture of ReinforcementLearning.jl to either train RL agents as controllers or write your own ones.

Installation
Installation using the Julia package manager (recommended if you want to use ElectricGrid in your project):
- In a Julia terminal run the following:
import Pkg Pkg.add("ElectricGrid")or press]in the Julia Repl to enter Pkg mode and then runadd ElectricGrid
- In a Julia terminal run the following:
Install from GitHub source (recommended if you want to run the example notebooks and scripts):
- Clone the git and navigate to the directory
git clone https://github.com/upb-lea/ElectricGrid.jl.git
- Clone the git and navigate to the directory
Getting Started
To get started with ElectricGrid.jl the following interactive notebooks are useful. They show how to use the ElectricGrid.jl framework to build and simulate the dynamics of an electric power grid controlled via classic controllers or train common RL agents for different control tasks: * Create an environment with ElectricGrid.jl * Theory behind ElectricGrid.jl - Modelling Dynamics using Linear State-Space Systems * Classic Controlled Electric Power Grids - State-of-the-Art * Use RL Agents in the ElectricGrid.jl Framework
An overview of all parameters defining the experiment setting in regard to the electric grid can be found here: * Default Parameters
To run a simple example, the following few lines of code can be executed:
``` using ElectricGrid
env = ElectricGridEnv(numsources = 1, numloads = 1) MultiAgent = SetupAgents(env) hook = Simulate(MultiAgent, env) RenderHookResults(hook = hook) ```
This is a minimal example of a full ElectricGrid.jl setup.
There should also appear a plot that looks like this:

Using the GUI
The current version of ElectricGrid features a graphical user interface (GUI) that helps with setting up a simulation.
This is built on the library QML.jl, that, at the time of writing, stopped working in its current release version.
For that reason it is required to clone this codebase and install QML.jl in its GitHub main state manually if you want to use the GUI.
import Pkg
Pkg.add("QML#main")
or press ] in the Julia RPEL to enter Pkg mode and then run
add QML#main

Usage of the GUI is explained in the GUI section in the docs.
Owner
- Name: Paderborn University - LEA
- Login: upb-lea
- Kind: organization
- Location: Paderborn, Germany
- Website: https://ei.uni-paderborn.de/en/lea/
- Repositories: 29
- Profile: https://github.com/upb-lea
Department of power electronics and electrical drives
JOSS Publication
ElectricGrid.jl - A Julia-based modeling and simulation tool for power electronics-driven electric energy grids
Authors
Chair of Power Electronics and Electrical Drives, Paderborn University, Paderborn, Germany
Chair of Data Science for Engineering, Paderborn University, Paderborn, Germany
Chair of Power Electronics and Electrical Drives, Paderborn University, Paderborn, Germany
Chair of Power Electronics and Electrical Drives, Paderborn University, Paderborn, Germany
Chair of Power Electronics and Electrical Drives, Paderborn University, Paderborn, Germany
Chair of Data Science for Engineering, Paderborn University, Paderborn, Germany
Chair of Power Electronics and Electrical Drives, Paderborn University, Paderborn, Germany
Tags
Electric Grids Microgrids Reinforcement Learning Energy Systems Simulation Testing ControlGitHub Events
Total
- Watch event: 6
- Fork event: 1
Last Year
- Watch event: 6
- Fork event: 1
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| SeptimusBoshoff | s****s@g****a | 288 |
| Jan Stenner | j****r@u****e | 233 |
| webbah | d****o@g****e | 159 |
| Marvin Meyer | m****5@w****e | 86 |
| Marvin Meyer | 2****r | 62 |
| cvikas | c****s@m****e | 40 |
| cvikas | v****k@g****m | 40 |
| webbah | D****! | 33 |
| OliverSchw | o****w@g****e | 28 |
| Jan Stenner | 5****r | 25 |
| Oliver Wallscheid | w****d@l****e | 16 |
| Daniel Weber | D****o@g****e | 8 |
| Vikas | 6****a | 4 |
| Øystein Sørensen | o****n@h****m | 3 |
| github-actions[bot] | 4****] | 2 |
| SeptimusBoshoff | 1****f | 1 |
| OliverSchw | 9****w | 1 |
| Daniel Weber | w****r@l****e | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 43
- Total pull requests: 79
- Average time to close issues: 6 months
- Average time to close pull requests: about 23 hours
- Total issue authors: 10
- Total pull request authors: 9
- Average comments per issue: 2.44
- Average comments per pull request: 0.08
- Merged pull requests: 31
- Bot issues: 0
- Bot pull requests: 44
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- Webbah (10)
- janstenner (6)
- wallscheid (6)
- osorensen (6)
- SeptimusBoshoff (5)
- MarvinMeyer (4)
- VikasChidananda (3)
- OliverSchw (1)
- benebrueck (1)
- JuliaTagBot (1)
Pull Request Authors
- github-actions[bot] (36)
- VikasChidananda (11)
- janstenner (8)
- MarvinMeyer (7)
- osorensen (3)
- wallscheid (2)
- Webbah (2)
- SeptimusBoshoff (1)
- benebrueck (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 1
juliahub.com: ElectricGrid
A time domain electrical energy grid modeling and simulation tool with a focus on the control of power electronics converters
- Homepage: https://upb-lea.github.io/ElectricGrid.jl/
- Documentation: https://docs.juliahub.com/General/ElectricGrid/stable/
- License: MIT
-
Latest release: 1.0.0
published almost 3 years ago
Rankings
Dependencies
- actions/checkout v2 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/setup-julia v1 composite
- JuliaRegistries/TagBot v1 composite
- actions/checkout v2 composite
- julia-actions/setup-julia v1 composite
- actions/checkout v3 composite
- actions/upload-artifact v1 composite
- openjournals/openjournals-draft-action master composite