Coder Social home page Coder Social logo

manuvarkey / gelectrical Goto Github PK

View Code? Open in Web Editor NEW
52.0 6.0 5.0 30.01 MB

GElectrical is a free and opensource electrical system analysis software for LV/MV electrical distribution networks.

Home Page: https://manuvarkey.github.io/GElectrical/

License: GNU General Public License v3.0

Python 98.12% CSS 0.62% HTML 0.47% Shell 0.02% NSIS 0.76%
electrical electrical-engineering electrical-grid electrical-schematics electrical-system electrical-systems pandapower powerflow short-circuit-analysis voltage-drop-analysis

gelectrical's Introduction

GElectrical

WebsiteDocumentationForumBug trackerGit repository

Release License

Download for Windows Download on Flathub Download on Snap Store

GElectrical is a free and opensource electrical system analysis software for LV/MV electrical distribution networks. Following features are currently implemented.

  • Schematic capture.
  • Pandapower network generation from schematic.
  • Power flow time series analysis (Symmetric and Assymetric).
  • Power flow with diversity factors (Symmetric and Assymetric).
  • Voltage drop analysis.
  • Short circuit analysis (Symmetric and SLG).
  • Coordination analysis for power supply protection devices with support for CB and fuse protection curves; damage curves for transformers, cables and motors.
  • Support for daily load curves for load elements.
  • Support for arriving network parameters for custom geometry OH lines.
  • Support for modeling networks with mixed TN-S/ TN-C/ TT/ IT earthing systems.
  • Electrical rules check for checking conformity with IEC/ local electrical guidelines.
  • Print and export of drawings to pdf.
  • Generation of analysis reports.

GElectrical uses pandapower as the backend for implementing power flow related functionality like voltage drop and short circuit analysis.

Please note that the program is in active development and bugs are expected. Cross checking of generated calculations is reccomended. See Roadmap for current limitations.

Screenshots

See Screencasts for application screencasts

Properties display Results display Electrical rules check Protection curve display Load profile display Database display

Samples

Sample schematic

Sample report

Sample project file

Installation

Application can be installed for use on your OS as described below.

It is reccomended to install osifont for schematic capture. This can be downloaded from https://github.com/hikikomori82/osifont/blob/master/osifont.ttf.

Binary

Windows

Use .EXE installation package available under the latest Release.

Linux

Application is published on Flathub repository at GElectrical.

It should be possible to install the application using the default package manager on most linux systems if flathub is setup. Please see https://flatpak.org/setup/ to setup flahub for your linux distribution.

Source

Linux

  • Install GTK3 from your distribution package manager.
  • Run pip install appdirs pycairo numpy numba scipy pandas mako networkx matplotlib pandapower jinja2 weasyprint openpyxl shapely.
  • Clone this repository git clone https://github.com/manuvarkey/GElectrical.git
  • Run gelectrical_launcher.py from cloned directory.

Windows

  • Install git, msys2, visualstudio2022-workload-vctools and gvs_build by folowing this link gvsbuild.
  • Setup GTK3 and PyGObject development envirnonment using gvs_build by running gvsbuild build --enable-gi --py-wheel gtk3 pygobject adwaita-icon-theme.
  • Add required environment variables as suggested in the above link. Please see Create and Modify Environment Variables on Windows for more information about setting up environment varables.
  • Run pip install appdirs pycairo numpy numba scipy pandas mako networkx matplotlib pandapower jinja2 weasyprint openpyxl shapely in powershell.
  • Clone this repository using git clone https://github.com/manuvarkey/GElectrical.git.
  • Run python gelectrical_launcher.py from the cloned directory.

Dependencies:

Python 3 (v3.10+)

Python Modules:

  • undo - Included along with distribution.
  • appdirs (v1.4.4) - Not included
  • openpyxl - Not included
  • mako - Not included
  • numba - Not included
  • pandapower (v2.10.1) - Not included
  • numpy - Not included
  • pandas - Not included
  • networkx - Not included
  • shapely - Not included
  • matplotlib (v3.5.1) - Not included
  • jinja2 - Not included
  • weasyprint - Not included
  • pycairo - Not included
  • PyGObject - Not included
GTK3 (v3.36+)

gelectrical's People

Contributors

manuvarkey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

gelectrical's Issues

Essential enhancements

Working in dark mode is very difficult, the colours don't contrast well.
image

The ability to export selected part as png would be very appreciated

Roadmap

Functionality

  • Associative property/ let through energy calculations.
  • Coordination analysis tools for marking critical points.
  • OLTC controller for power flow (Time series).
  • OLTC controller for 3 phase power flow (Time series).
  • Powerflow simulation with diversity factors.
  • 3 ph Powerflow simulation with diversity factors.
  • OLTC controller for power flow.
  • OLTC controller for 3 phase power flow.
  • Handling of distributed neutral.
  • Handling of TT & IT earthing systems.
  • Tooltips/ documentation for element field values.
  • Documentation for application.

Reliability

  • Tests for checking calculation correctness with reference.

New elements

  • Changeover switch
  • Generator (support for 3 phase power flow)
  • Impedance (support for 3 phase power flow)
  • Shunt capacitor (support for 3 phase power flow)

GTK4 port?

Just stumbled across this app, looks very cool! I'm curious though why it's using GTK3 even though it seems to be quite new. Do you have plans to port to GTK4? Are there any blockers from the platform side?

set values

captura

Hello Manu.
I'm testing electrical.
I cannot set the values of the elements, I get a forbidden signal.
Regards, thank you.

Cannot move elements once placed

Hello. I tried installing GElectrical on my RPi4 from Snap. It looks great but I'm struggling with making a schematic easily. Once I have placed an element (grid, busbar, load) on the sheet I cannot move it. So once it is initially placed then it is stuck in that position forever. I don't know if this is the expected behaviour, whether I'm doing something wrong or if it is an issue specific to the RPi4 installation?

Thanks for your help (and keep up the development!)
Ben

Cannot save project

Hi, I installed GElectrical on RPi4 using Snap. I can create schematics and I can export files (network.json, report.pdf, network.html etc) successfully. But when I try and save a project nothing happens.

I tried to run the application from a Terminal (rather than the drop down start menu) to see if made any difference. I still have the same issue but in this case I can see some error messages that might help diagnose -

pie@raspberrypi:~ $ gelectrical
2023-09-18 21:33:14,153 - root - INFO - Start Program Execution
2023-09-18 21:33:14,154 - gelectrical - INFO - MainApp - Start initialisation
2023-09-18 21:33:14,155 - gelectrical - INFO - MainApp - Initialised
2023-09-18 21:33:14,155 - root - INFO - Entering Gtk main loop
2023-09-18 21:33:14,162 - gelectrical - INFO - MainApp - do_startup - Start
2023-09-18 21:33:14,325 - gelectrical - INFO - MainApp - do_startup - End
2023-09-18 21:33:14,326 - gelectrical - INFO - MainApp - do_command_line - Start
2023-09-18 21:33:14,326 - gelectrical - INFO - MainApp - do_activate - Start
2023-09-18 21:33:14,327 - gelectrical - INFO - MainWindow - Start initialisation
2023-09-18 21:33:14,327 - gelectrical - INFO - Setting up program settings
2023-09-18 21:33:14,330 - gelectrical - INFO - Program settings opened at /home/pie/snap/gelectrical/5/.local/share/GElectrical/1/settings.ini
2023-09-18 21:33:14,330 - gelectrical - INFO - Program settings initialised

(gelectrical_launcher.py:2002): IBUS-WARNING **: 21:33:14.477: Failed to mkdir /home/pie/snap/gelectrical/5/.config/ibus/bus: Not a directory
2023-09-18 21:33:15,083 - gelectrical - INFO - MainWindow - Initialised
2023-09-18 21:33:15,084 - gelectrical - INFO - MainApp - do_activate - End
2023-09-18 21:33:15,084 - gelectrical - INFO - MainApp - do_command_line - End

(gelectrical_launcher.py:2002): Gtk-WARNING **: 21:35:16.059: Can't open portal file chooser: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.portal.Desktop was not provided by any .service files

The first warning (mkdir) is when the program starts. The second warning (GtK) is when I try to save the project.

Do you have any idea what I can do to make it save correctly?

Thanks for your help. Ben

i am facing an issue while running python gelectrical_launcher.py could you help me

I follow the steps you mentioned for Windows installation, still, I got the below error
Traceback (most recent call last):
File "gelectrical_launcher.py", line 27, in
import gi
File "C:\Users\BATMAN1\AppData\Local\Programs\Python\Python38\lib\site-packages\gi_init_.py", line 47, in
from . import _gi
ImportError: DLL load failed while importing _gi: The specified module could not be found.

what should I do?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.