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.21.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.21-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file electricalsim-0.0.8.21.tar.gz.

File metadata

  • Download URL: electricalsim-0.0.8.21.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.2

File hashes

Hashes for electricalsim-0.0.8.21.tar.gz
Algorithm Hash digest
SHA256 19630f03234da5443192b1bb428720d75e0b1e08731e74e5d5062ac19e437d26
MD5 34d3b9df5d0f2b7f80d40f70559b9189
BLAKE2b-256 3c7b5334af730621215445375c8687d6d5306f352e5992c6be57aaec516dfbd7

See more details on using hashes here.

File details

Details for the file electricalsim-0.0.8.21-py3-none-any.whl.

File metadata

File hashes

Hashes for electricalsim-0.0.8.21-py3-none-any.whl
Algorithm Hash digest
SHA256 466038aaeb2552f3a19160657db12d83eb5d22de595fcf293f0152108c9b3154
MD5 7ff5113d2f20442cfabca582da37d6e3
BLAKE2b-256 2804139b37481a55cd0be5f2a829d3d3445b89e20fecea988ee160588bf43264

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