/GridCal

GridCal, a cross-platform power systems solver written in Python with user interface and embedded python console

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

Codacy Badge Documentation Status Build Status DOI Downloads

What is this?

This software aims to be a complete platform for power systems research and simulation.

Installation

You can choose to install GridCal through pip or just get a standalone setup ready to run.

For more options and details follow the installation instructions.

Execution

If you have just installed GridCal on your python distribution, you can call the GUI with the following command:

python3 -c "from GridCal.ExecuteGridCal import run; run()"

Troubleshooting Ubuntu (maybe other Linux distributions too)

Under Ubuntu you may need to install xcb by sudo apt-get install libxcb-xinerama0 this will solve the following error:

Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

Running tests

python3 -m venv venv
venv/bin/python -m pip install --upgrade -r requirements_venv.txt
venv/bin/python -m tox

For detailed instructions, follow the instructions from the project's documentation.

Batteries included

In an effort to ease the simulation and construction of grids, We have included extra materials to work with. These are included in the standalone setups.

Here you can find:

  • Load profiles for your projects
  • Standard IEEE grids as well as grids from open projects
  • Equipment catalogue (Wires, Cables and Transformers) ready to use in GridCal

Tutorials and examples

Features overview

It is in pure Python and it works for Windows, Linux and OSX.

Some features you'll find already are:

  • Compatible with other formats:

    • Import (Drag & Drop)

      • CIM (Common Information Model v16)
      • PSS/e RAW versions 29, 30, 32, 33 and 34.
      • Matpower (might not be fully compatible, notify me if not).
      • DigSilent .DGS (not be fully compatible: Only positive sequence and devices like loads, generators, etc.)
    • Export

      • Zip file .gridcal with CSV inside (fastest, normal GridCal format)
      • Sqlite
      • Excel
      • Custom JSON
      • CIM (Common Information Model v16)
  • Power flow:

    • State of the art multi-terminal AC/DC Newton Raphson in power and current equations.
    • Newton Raphson Iwamoto (optimal acceleration).
    • Fast Decoupled Power Flow
    • AC/DC multi-terminal Levenberg-Marquardt (Works very well with large ill-conditioned grids)
    • Holomorphic Embedding Power Flow (Unicorn under investigation...)
    • DC approximation.
    • Linear AC approximation.
  • Optimal power flow (OPF) and generation dispatch:

    • Linear (DC) with losses.
    • Linear (Ac) with losses.
    • Loss-less simple generation dispatch.
    • All the modes can be split the runs in hours, days, weeks or months!
  • Time series with profiles in all the objects physical magnitudes.

  • PTDF approximated branch flow time series for super fast estimation of the flows.

  • Bifurcation point with predictor-corrector Newton-Raphson.

  • Monte Carlo / Latin Hypercube stochastic power flow based on the input profiles.

  • Blackout cascading in simulation and step by step mode.

  • Three-phase and unbalanced short circuit.

  • Includes the Z-I-P load model, this means that the power flows can handle both power and current.

  • The ability to handle island grids in all the simulation modes.

  • Profile editor and importer from Excel and CSV.

  • Grid elements' analysis to discover data problems.

  • Overhead line construction from wire scheme.

  • Device templates (lines and transformers).

  • Grid reduction based on branch type and filtering by impedance values

  • Export the schematic in SVG and PNG formats.

Check out the documentation to learn more and to get started.

Collaborators

  • Michel Lavoie (Transformer automation)
  • Bengt Lüers (Better testing)
  • Josep Fanals Batllori (HELM, Sequence Short circuit)
  • Manuel Navarro Catalán (Better documentation)
  • Paul Schultz (Grid Generator)
  • Andrés Ramiro (Optimal net transfer capacity)
  • Ameer Carlo Lubang (Sequence short-circuit)

Contact

Send feedback and requests to santiago@gridcal.org.