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

Uploaded Python 3

File details

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

File metadata

  • Download URL: electricalsim-0.0.8.23.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.23.tar.gz
Algorithm Hash digest
SHA256 3d8d33fd3ec640999064d2eedeac31a28d53c65ba1f18762e3a3364f7ccd0ebe
MD5 0794599bd988bc9c0d6745b4c4fb491d
BLAKE2b-256 7aba4c5f8366ee8aae332f2f534932944e203ee876cd13967d52abdba4819d50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for electricalsim-0.0.8.23-py3-none-any.whl
Algorithm Hash digest
SHA256 02c0c289dc33b7a0f3c05695ee72c1bbf5992f8c56e178d2b4e1177f3fd5fc3e
MD5 cb0392f6a5d26257a5659dc7472a7959
BLAKE2b-256 219200ac410c722057d22661033a4db1cd74fcda0c80fa24f03bd4bb5941ca54

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