Skip to main content

Graphical user interface for simulating electrical networks based on the pandapower library

Project description

Electrical Grid Simulator (EGS)

The Electrical Grid Simulator (abbreviated as EGS) is a graphical user interface application for simulating electrical networks based on the pandapower library. The main objective is to allow the creation of mathematical models for steady-state electrical grids from a user-friendly interface. It adds an extensions system for including new calculation or simulation algorithms. Extensions are implemented as standard Python packages, so they can be distributed through the PyPI repository.

EGS is developed at the National Technological University, Santa Fe Regional Faculty (UTN-FRSF), at the Center for Research and Development in Electrical Engineering and Energy Systems (CIESE), Argentina.

Warning
This application is in an early stage of development. So you can expect incomplete sections and some (or many) bugs. New changes may cause incompatibilities with older versions (old files that no longer work with newer versions of the program).

Goals

  • Providing a minimalistic, modern and good-looking interface.
  • Multiplatform: GNU/Linux, MS Windows and Apple MacOS (not tested on MacOS).
  • Providing an extensions system to expand its capabilities.

How it is built

EGS is built in Python and entirely from open source and free software. The main core components are:

  • The pandapower modeling and calculation library for electrical power systems.
  • The Qt toolkit with PySide6 bindings for the UI.
  • A Qt6 port (fork) of the NodeGraphQt library for building the graph (schematic network graphic).
  • The PyQtDarkTheme package for applying modern themes (light and dark themes).
  • The QtAwesome package for modern flat monochromatic icons.
  • The matplotlib package for plotting calculation results.
  • Other scientific Python packages, mainly NumPy and pandas.

EGS is implemented as a Python package uploaded to the PyPI repository. pandapower and other packages listed above are set as dependencies.

[!NOTE]
Starting with version 0.0.8.0, the EGS package includes a fork of NodeGraphQt ported to Qt6 (using the PySide6 library). This implementation is renamed to NodeGraphQt6 in order to avoid conflicts. These changes allow the application to run on recent versions of Python.

Simulations and calculations

With EGS you can build and set up the model of an electrical grid in a graphical way. The application also allows you to perform balanced power flow calculations (other calculations supported by pandapower may be added in the future), including a Balanced Altern Current Power Flow (ACPF) and a Direct Current Power Flow (DCPF). For other types of simulations and calculations, you can proceed according to two alternatives:

  1. Export the Data model and the last power flow results to a JSON, MS Excel or binary file (using the pickle module) ready to be imported from a Python script through pandapower. Then, any calculation or processing can be done from the script. The export is done from the graphical interface, while the subsequent import is done as indicated in the pandapower documentation, using one of the fuctions: pandapower.from_json(), pandapower.from_excel() or pandapower.from_pickle().

  2. Incorporate the required calculation functionality from an extension developed in Python. This way, the calculation is executed from within EGS. Extensions are implemented as regular Python packages. An Optimal Power Flow (OPF) extension is available in the PyPI repository (package name: electricalsim-opf-quadratic).

Models generated by EGS can be saved in a .egs file. You can then reopen the file whenever you need it and retrieve even the results of the last power flow run.

Installation

EGS is installed using pip, the official Python package manager.

On GNU/Linux and MacOS execute the following order in a terminal:

pip install electricalsim

On MS Windows you may prefer:

python -m pip install electricalsim

Upgrading EGS

In order to upgrade EGS via pip, execute the following in a terminal:

pip install electricalsim -U

On MS Windows you may prefer:

python -m pip install electricalsim -U

Running EGS

Once installed, you can run it with the command:

egs

If you prefer to run the program in a more practical way, just execute this command only once:

egs-create-shortcut

This will add a shortcut launcher to your desktop and to your application menu. Note that this launcher will not work if you are installing the application into a Python virtual environment.

Uninstalling

If you want to remove the application, execute:

pip uninstall electricalsim

On MS Windows:

python -m pip uninstall electricalsim

Note that shortcuts added with the egs-create-shortcut command are not removed. So you must delete them manually.

Installing extensions

Extensions available in the PyPI repository can be installed using pip. For example, the Optimal Power Flow extension is installed with:

pip install electricalsim-opf-quadratic

On MS Windows:

python -m pip install electricalsim-opf-quadratic

License

This project uses the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

electricalsim-0.0.8.22.dev1.tar.gz (3.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

electricalsim-0.0.8.22.dev1-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file electricalsim-0.0.8.22.dev1.tar.gz.

File metadata

  • Download URL: electricalsim-0.0.8.22.dev1.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for electricalsim-0.0.8.22.dev1.tar.gz
Algorithm Hash digest
SHA256 479c944853fed7fd1181c56eb6d77f3e0b2ebd35d8ceb9a49f62af5939706a22
MD5 1b654a74d9f4e8de166b826e595fcfec
BLAKE2b-256 9544367f6180fd4f539d96c193eace7100ae22e5e20425ff0d8c84d02a3615c4

See more details on using hashes here.

File details

Details for the file electricalsim-0.0.8.22.dev1-py3-none-any.whl.

File metadata

File hashes

Hashes for electricalsim-0.0.8.22.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 0d133eebd9666df4668713daef142260cbde4906ced92c849be79b8d757be0f8
MD5 e3300cc6d1b945789cea1dbca37dceda
BLAKE2b-256 f6843e1457f07e790c91d08052e7da3856186fd2b898ed76dd284a106d856fd0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page