How manuvarkey/gelectrical works
GElectrical is a desktop application for modeling and analyzing LV/MV electrical distribution networks. Engineers create a schematic, configure network elements and load profiles, then run network and protection analyses and review or export results. The README documents capabilities beyond the sampled excerpts, including time-series studies, voltage drop, short circuit, rules checking, and PDF/report output; those documented branches are included, while their unsampled internal wiring is not inferred.
Main entry points: project.py Project orchestration · pandapower.py Pandapower studies · element.py Network elements · drawing.py Schematic editor
Components 20
Desktop interaction
- Application UI
gelectrical/__init__.py - Schematic editor
gelectrical/view/drawing.py - Property editor
gelectrical/view/field.py - Equipment browser
gelectrical/view/database.py
Network modeling
- Drawing model
gelectrical/model/drawing.py - Network elements
gelectrical/elementmodel/element.py - Line elements
gelectrical/elementmodel/line.py - Load elements
gelectrical/elementmodel/load.py - Protection devices
gelectrical/elementmodel/switch.py - Project orchestration
gelectrical/model/project.py - Equipment data
gelectrical/database
Engineering analysis
- Network model
gelectrical/model/networkmodel.py - Pandapower studies
gelectrical/model/pandapower.py - Coordination curves
gelectrical/model/protection.py - Electrical rules
gelectrical/model/rulescheck.py
Results and output
- Analysis display
gelectrical/view/analysis.py - Protection display
gelectrical/view/protection.py - Graphs
gelectrical/view/graph.py - Reports and export
gelectrical/model/project.py
Other components
- Engineer
Connections 25
- Engineer → Application UI: starts
README.md - Engineer → Schematic editor: edits schematic
README.md - Schematic editor → Drawing model: edits drawing
- Engineer → Property editor: configures elements
README.md - Property editor → Equipment browser: selects equipment
- Equipment browser → Equipment data: browses data
- Drawing model → Network elements: holds elements
gelectrical/model/drawing.py - Network elements → Line elements: specialized as
gelectrical/elementmodel/line.py - Network elements → Load elements: specialized as
gelectrical/elementmodel/load.py - Network elements → Protection devices: specialized as
gelectrical/elementmodel/switch.py - Project orchestration → Drawing model: uses drawing
gelectrical/model/project.py - Project orchestration → Network model: builds network
gelectrical/model/project.py - Project orchestration → Pandapower studies: runs studies
gelectrical/model/project.py - Project orchestration → Electrical rules: checks conformity
gelectrical/model/project.py - Project orchestration → Protection display: opens coordination
gelectrical/model/project.py - Network model → Pandapower studies: supplies model
README.md - Pandapower studies → Analysis display: presents results
- Pandapower studies → Graphs: plots results
- Protection devices → Coordination curves: uses curves
gelectrical/elementmodel/switch.py - Protection display → Coordination curves: displays curves
- Protection display → Graphs: shows graphs
gelectrical/view/protection.py - Project orchestration → Reports and export: generates reports
README.md - Schematic editor → Reports and export: exports PDF
README.md - Engineer → Project orchestration: sets load profiles
README.md - Project orchestration → Pandapower studies: runs time series
README.md