Recent Releases of GridCal

GridCal - 5.3.0 - Better Topology and better ACDC power flow

The main user features in this release are:

  • Better topological processing: Now ConnectivityNodes, BusBars and Buses end up in Buses, and the topology is processed into the NumericalCircuit for consistency. See the Topology processing docs for more info.
  • Integration of the AC/DC power flow developed in the Master Thesis of Raiyan bin Zulkifli. The FUBM (Full Unified Branch Model) converter model is no longer used and converters are modeled as "decoupled" branches without equivalent impedances. This provides far greater convergence properties to ACDC power flows. HvdcLine devices are also included in the numerical process for the first time and not as injections. This allows for the ability to provide controls such as the angle-droop for the first time ever in a power flow algorithm.

As a developers' note: The proxy functions inside the NumericalCircuit have been removed, in favor of functions to properly access indices, admittances and injections.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen 4 months ago

GridCal - 5.2.0 relicensed to MPLv2

Following the agreeing of all GridCal developers (see issue 300), the license has been changed from LGPL to MPLv2.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen 6 months ago

GridCal - 5.1.20 End of Siroco

This release marks the end of the Siroco project

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen 9 months ago

GridCal - 5.1.10

Massive bug fixes
Improvements in CGMES
Improvements in the node-breaker / bus-branch representation
Created the ACOPF + linear OPF capacity calculation
Improved maps representation and widget operation
General GUI improvements

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen 11 months ago

GridCal - v5.1.7

  • General bug fix
  • Improved results saving and loading
  • Added more OPF testing
  • Improved ACOPF
  • Improved CGMES interoperability

What's Changed

New Contributors

Full Changelog: https://github.com/SanPen/GridCal/compare/5.1.0...v5.1.7

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen about 1 year ago

GridCal - ACOPF & Sparse profiles

This release comes packed with functionality and bug fixes, but above all a new file format.

  • Sparse profiles; Profiles in objects are not numpy arrays anymore. Instead they are objects that can host either sparse or dense profiles depending on the nature of the data stored. This lowers the memory requirements for large models.
  • New file format based on Json instead of CSV. This allows more flexibility when defining complex objects-within-objects like a tap changer or sparse profiles. GridCal is guaranteed to keep old-files compatibility.
  • ACOPF with Generation dispatch, HVDC line dispatch and transformer tap module and angle dispatch.
  • Better graphics: Buses and branches now display information. The internals have been refactored to simplify and debug.
  • General UI overhaul: Simplified working of the buttons, new context menus and bug fixes.
  • Best in class linear analysis, now with SRAP option to avoid N-1.
  • Many more tests have been produced.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen about 1 year ago

GridCal - Added fluid transport problem

  • Added fluid transport problem
  • Overall bug fix
  • OR Models fix themselves when infeasible

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen over 1 year ago

GridCal - 5.0.2: The great split

  • Massive refactor to allow multiple bus-branch diagrams and maps.

  • The great split: Now there are two packages: GridCal which delas with the graphical user interface and GridCalEngine that provides all the engine functionality without Qt dependencies.

  • MIP auto-healing: OPF simuations are always feasible by properly relaxing infeasible ones.

  • Added cutting edge investments evaluation. This will be evolved in future releases.

  • API naming unification

  • Overall refactoring and bug fixing

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen over 1 year ago

GridCal - 4.7.0

  • Added special contingency, Contingency Groups, Investment and Investment group objects
  • Added contingency planner GUI
  • Added proper QT-based maps
  • Refactored Time series to accurately reflect any change in the time series
  • Refactored the contingency analysis to use contingency groups and reflect any grid change
  • Overall bug fixes

Captura desde 2023-04-21 16-49-15

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen about 2 years ago

GridCal -

  • Improvements to CIM import
  • Improvements to PSSe .raw imports
  • Improvements to Alliander PGM support
  • Improvements to inter-area net transfer capacity calculation
  • Implemented new json file filters (.ejson3)
  • Added profile sparsity in .ejson3 export.
  • Added Newton Power Analytics support
  • Better coordinates from latitude/longitude conversion by removing the often, massive offset.
  • Many small bugs resolved.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen almost 3 years ago

GridCal - 4.5.1

  • Now the short circuit includes the loading results again (bug fix)
  • Merged Short circuit contribution from user "poypoyan"
  • The HELM algorithm is now able to stop before reaching the iteration limit
  • Added HiGHS as an optional MIP solver
  • Added NTC optimization time series
  • Tweak improvements in the NTC optimization calculation
  • Moved to the more standard ZIP model, instead of the embedded ZIP model
  • Further Bentayga Integration:
    • Translated the power flow report
    • Added fast decoupled power flow
  • Refactored the code for all power flow numerical methods (No external changes should be appreciated)
  • Cleaned the backtracking process in Newton-Raphson

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen about 3 years ago

GridCal - 4.4.5

  • Integrated Bentayga's PTDF / LODF calculation
  • Integrated the HiGHS solver into the custom pulp implementation
  • Added HVDC oscillation control when acting in free mode

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen over 3 years ago

GridCal - 4.4.2 - Changed license to LGPL

  • Changed the license to LGPL
  • Improved HVDC power flow control management
  • Added the license directly in the about box, featuring the linking exceptions for Bentayga and Newton.
  • Rearranged menus on the GUI.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen over 3 years ago

GridCal - 4.3.5 - Better HVDC, Better island detection

  • Fixed State Estimation error.
  • Fixed: The buses name change immediately change the GUI bus name tag.
  • Added NTC-OPF pre-solve diagnostic.
  • Added ATC clustering simulation.
  • Added DC power flow phase shifter effects.
  • Added Proper HVDC losses calculation.
  • Added HVDC "free" control to the power flow. This changes the HVDC set point using the angular difference.
  • Added Newton interface for power flow.
  • Added bentayga interface for power flow and time series.
  • Added device fusion per node: this add all the devices of the same type connected to a node.
  • Added functions with expert rules to correct and delete inconsistencies.
  • Improved: Better island detection when buses are disconnected.
  • Modified the ATC report to be similar to the NTC-OPF report.
  • Rearranged the settings (added ML and Areas tabs)

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen over 3 years ago

GridCal - 4.2.0 Added saving result sessions into the files

Many improvements and bug fixes.

  • Added the ability to save the results into the file, loading and unloading from the file. This is a massive feature.
  • Added contingency analysis colouring.
  • Added Linear NTC generation scaling based on the installed power.
  • Added NTC calculation using optimal dispatch (blue lambda).
  • Added time series bus type series. Now the bus types change upon the generators’ availability.
  • Better detection of power imbalances in the analysis tool.
  • Finalized the json v3 export implementation.
  • Fixed really rare bug with .real and .imag was making HELM diverge. Now it is fixed.
  • Fixed multiple slacks error in PTDF calculations.
  • Fixed ACDC branch flow calculation in the power flow when Ybus changes.
  • PTDF Now computes the sensitivity for DC grids too.
  • Fixed bug where the voltage profiles were not being applied.
  • Fixed FUBM model branch power calculation.
  • Overall usability improvements.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen over 3 years ago

GridCal - 4.1.0 - Time series clustering, bus coordinates import, etc

Since the last release there have been some minor maintenance updates.
This release has the following main changes:

  • Added coordinates and position input dialogue for the buses

  • Added ability to set a branch rating profile from the snapshot, via a context menu option.

  • Added time series clustering

  • Added HDF file format .gch5

  • Added shunt voltage control.

  • Much faster read and write of .gridcal files due to the saving of the profiles in pandas "pickles"

  • Fixed Areas not loading properly

  • Fixed Time series indexing for discontinuous index.

  • Fixed xlrd dependency. It broke the profile import because it stopped supporting .xlsx.
    Switched to openpyxl.

  • Fixed Wire call bug when not passing idtag.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen about 4 years ago

GridCal - v4.0.0 - Multi-terminal ACDC grids

This is a massive release:

  • General

    • Massive re-write of all the structures and the engine in order to have a more flexible
      approach to the devices and how the information is passed from the asset manager
      (the circuit) to the simulations. Hence the version jump attends to that massive effort.
    • Fixed transformer editor Sbase conversion.
    • Added HVDC line model.
    • Added VSC branch model.
    • Added DC line model.
    • Added tags to the sigma-plot.
    • Added Substation, Zone, Area and Country objects to group better the buses.
  • GUI

    • Ability to select columns and rows when plotting the results

    • Added update check and command in the GUI about box.

    • Added a quite good random grid generator from the project SyntheticNetworks.

    • Added a bus viewer: It allows to visualize subsets of the grid.
      It is useful for very large grids where the complete schematic is cumbersome or slow.

    • Added check that converts the results into CDF.

    • Added check that converts the results into their absolute value.

    • Added schematic branch width based on the line flow.

    • Added button in the results to copy text data in numpy format.

    • Added column search in the results.

    • Revamp of the context menus.

    • Replaced how all the GUI messages are handled.

    • Improved the logger window, which now allows to save logs report.

    • Improved the transformer and line editors integrating the template selection.

    • Improved filtering (bool values are recognised now)

  • I/O

    • Added better Json export file (v3.1 of the specification).
    • Improved the PSS/e Raw file import.
    • Implemented the ability to load several files to load a bunch of .xml CIM files together.
  • Linear Analysis

    • Replaced the empirical PTDF/OTDF by the analytical PTDF/LODF which are several orders of magnitude faster.
    • Added linear contingency analysis time series
    • Added linear grouping based on PTDF + DBScan clustering.
  • Power Flow

    • Improved the speed of the power flow process, by delaying the matrices and vector
      calculations until needed by any method.
    • Fixed the line search in Newton-Raphson, now it is truly non-divergent.
    • Removed the outer loop completely. Now the outer loop controls are performed inside the
      numerical methods that allow it (NR, LM, etc...) This is much faster.
    • Now the reactive power control only converts PQ->PV, and not the other way around. This renders into
      a more stable process.
    • Seamless AC-DC simulation:
      • Added the FUBM model at the numeric circuit level
      • Added FUBM version of the line-search Newton-Raphson method (without the super optimized jacobian for now)
      • Integrated it with the GUI.
      • The advanced controls such a transformer power set-points are simulated using the FUBM logic.
  • Stochastic Power Flow

    • Merged Monte Carlo and Latin Hypercube in the same simulation driver.
  • Continuation Power Flow

    • Added reactive power limits option for the generators.
    • Added overload stop criteria.
    • Added distributed slack.
    • Added back-tracking mechanism to the corrector step.
    • Now you can select to collapse a selection of nodes, from the GUI as well.
    • Now you can set the direction of the continuation negative so that you actually
      increase the generation. This allows the use of the CPF as an exploration tool.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen about 4 years ago

GridCal - 3.7.0 (Perfect HELM)

  • Replaced the numerical circuit by two specialised objects: one for static power flow and another one for time series, this enhances the speed and improved the maintainability for further functionality such as harmonics of dynamic studies without overcrowding the numerical circuit object with unused stuff.
  • Greatly improved the time series flushing speed when saving.
  • Improved the auto-link feature in the time series import.
  • Added clustering to the time series.
  • Added ability to not to draw the schematic. This speeds up operation with very large grids.
  • The time series output size now adjust to the selected time interval.
  • Now to drop a file does not automatically load the grid when another one is loaded.
  • Replaced the previous HELM version by a working and competitive one thanks to Josep Fanals Batllori.
  • Added the HELM-Sigma analysis tool.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen about 5 years ago

GridCal - 3.6.7

  • Fixed critical bug with the user gathering under windows.

  • Improved the Analysis tool.

  • Fixed PTDFTimeSeries timing.

  • Connected loose parameters on the PTDFTimeSeries class.

  • Fixed the Fast decoupled power flow algorithm.

  • Added Sqlite save/open support.

  • Added Grid append functionality.

  • Added units in the results.

  • Now all the results are displayed in real numbers instead of in complex numbers.

  • Added an amazing functionality to allow model synchronization across several computers.

  • Integrated better the PTDF into the GUI.

  • Added VTDF calculations in the PTDF and PTDF time series.

  • Added GIS as a visualization option.

  • Improved the OPF formulation times.

  • Improved the Jacobian-based power flow speeds by reducing the steps in the error computation.

  • Fixed loading visualization in the schematic.

  • Added equipment catalogue to the docs.

  • Added tutorial section to the docs.

  • Added simple dispatch.

  • Refactored the device-bus connectivity matrices to avoid transpositions.

  • Added function to relocate buses based on their peers.

  • Added PTDF based time series.

  • Fixed very important bug that neglected the sign of the power flows!

  • Added logs record to the "export all" process.

  • Added a console reset. This is needed when the console crashes.

  • Improved the grid data expert analysis tool.

  • Now the GUI elements are in a package GridEditorWidget instead of a single file.
    This improves the maintainability.

  • Added ability to set OPF generation into the power flow, the load shedding is also subtracted.

  • Fixed long standing bug related to MC and LHS having very small variation.

  • Fixed bug with buses not creating their own profile

  • Fixed bug with the run power flow interface

  • Added N-1 and OTDF

  • Now the plots are way faster

  • Now the export results truly exports everything into a zip file with csv files inside.

  • The top menus have been re-arranged.

  • The multi-core test was moved into research.

  • Added tap module to the power flow results.

  • Fixed bug related to OPF results being multiplied by :math:Sbase twice.

  • Fixed units displayed in the results plot.

  • Fixed the results representation when single-node islands were ignored.

  • Fixed csv profile input.

  • Added similarity-based auto link in the profile import.

  • Improved PSS/e import by improving the device naming.

  • Refactored the power flow section, removing quite a lot of the
    existing complexity. Now there is only one power flow class which
    calls to power flow functions.

  • Changed the multiprocess from multiple processes to a pool.
    Hopefully this will allow multi-core on MS Windows.

  • Added a proper logger object.

  • Added the ability to ignore single node islands

  • Fixed voltage module in the LACPF algorithm: Now the PQ buses voltage is closer to NR.

  • Improved the Newton-Raphson line search speed by roughly 200% by tuning the acceleration parameter.

  • Fixed PTDF and added cancelling.

  • Fixed Vbranch not being copied correctly in multi-island mode in the Time series.

  • Redesigned the results tab: Now the data is the default view and the plot is optional. This allows
    a much better user interface experience since Matplotlib does not block the results when the grids are large.

  • Added N-k simulation.

  • Fixed PSS/e import branches; PSS/e does not account for the length in the impedance computation.

  • Greatly improved the PSS/e file parser by using variable length lists.

  • Implemented the distributed slack.

  • Open by GUI file drop.

  • Fixed bug: Now when many generators are at a node only one controls voltage.

  • Fixed profile default-value initialization in automatic-load function.

  • Added branch dynamic rating.

  • Added thread for buses delete-and-reduce functionality.

  • Moved the pulp solvers into individual files.

  • Implemented the option to choose the linear algebra framework.

  • Vastly improved DC power flow performance.

  • Added generator technology property

  • Refactored code to make it simpler:

    • The enum's behave like types and are able to parse text into types.
    • The objects editor is now agnostic of complex types, and so are the load and save functions.
  • Added Power Transfer Distribution Factors (PTDF) analysis

  • Fixed bug related to adding wires to the GUI.

  • For some reason, sdist does not ship the right files to pypi, so changed to bdist_wheel

  • Fixed code smells

  • Added voltage angle in the power flow results and time series power flow results. About time!

  • Removed warnings from the power flow driver. Now the warnings are stored in a log and displayed in the GUI.

  • Fixed the rare bug of native open file dialogues not showing up. Native dialogues can be activated anytime via the
    "use_native_dialogues" flag in the GUI module.

  • Fixed multi-island opf simulation in all the modes.

  • Radically changed the way the file information is read. Now the function is much easier to maintain, so that changes
    in the objects should not affect the ability to read/write.

  • Changed the way the overhead lines tower information is stored. Now should be more maintainable.

  • Removed pulp dependency in the generator objects (forced a critical update)

  • Added some icons in the GUI

  • Simplified and unified the OPF interfaces.

  • Added AC-liner OPF time series as a non-sequential algorithm.

  • Added shadow prices to the non-sequential OPF.

  • Added the handling of dispatchable non dispatchable generators to the OPF.

  • Fixed bug with the OPF offset when starting at a index other than 0.

  • Fixed bug with time grouping that repeated the last index.

  • Fixed bug with the delegates setting for the boolean values

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen about 5 years ago

GridCal - 100-stars version 3.5.0

This version is out to commemorate the 100 stars of this repository đŸ’ƒ

  • Added pulp as an embedded dependency, and updated its CBC solver with a custom compiled one from the latest sources.
  • Added branch voltage and angle drops in the power flow and power flow time series simulations.
  • Added cost profiles for the use in the OPF programs.
  • Fixed some bug related to the OPF storage and results display in non-sequential mode.
  • Fixed branch saving code (hopefully forever)
  • Fixed the loading of some properties that were missing.
  • Fixed the non-sequential OPF.
  • Fixed critical bug when applying profile to snapshot.
  • Fixed pySide related bug when converting dates.
  • Fixed ui bug when setting values in the profiles manually.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen almost 6 years ago

GridCal - 3.4.0

The changes since the last release are:

  • Now when highlighting the selection, the buses on the schematic are selected. This feature allows to move buses in bulk after any selection kind.
  • Added feature to highlight buses based on any numeric property from the grid objects.
  • Added "master" delete from the schematic. Now any selection of buses from the schematic can be deleted at once.
  • Fixed critical bug involving the change to setuptools.
  • Added filtering capabilities to the object browser.
  • Added Bus reduction.
  • Added bus highlight based on the object filtering.
  • Fixed the bug caused by PySide2 with the excel sheet selection window.
  • The tower names are displayed correctly now.
  • Completely switched from PyQt5 to PySide2.
  • Greatly improved PSS/e .raw file import support. Added support for PSS/e RAW file format version 29.
  • Overall bug fix.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen almost 6 years ago

GridCal -

  • Now the branches and the buses have activation profiles. This allows to run time series
    where the topology changes. Only available for time series for the moment.

  • The branches now allow to profile their temperature. This allows to change the resistance to explore heat effects.

  • Added undo / redo to the profiles editor. This improves usability quite a bit.

  • Added CSV files into zip files as the GridCal default format. This allows to use the same logic
    as with the excel files but with much faster saving and loading times. Especially suited for
    large grids with large profiles.

  • Added error logging for the power flow time series.

  • Massive refactoring of the the files in the program structure, hoping to provide a more intuitive interface.

  • Replace the internal profiles from Pandas DataFrames to numpy arrays.
    This makes the processing simpler and more robust.

  • Added rating to cables.

  • Added library of cables, transformers and line conductors.

  • Changed the TransformerType inner property names to shorter ones.

  • Plenty of bug fixes.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen almost 6 years ago

GridCal - Last version with the old models (stable)

This is a release to keep GridCal stable in the way it was modelled until here.
This is the last release with complex numbers in the devices when saving and loading.
Newer versions will feature a new generator model. Probably a transformer model in its own, and others.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen over 6 years ago

GridCal - just pip install GridCal

All the releases will be published in Pypi so that you just need to type:

pip3 install GridCal
or
pip install GridCal

From the system terminal.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen over 8 years ago

GridCal - Beta

This release has more functionality and it is more polished.

This release is fully functional for:

Power flow (multi-island)
Time series (multi-island)
Bifurcation point (multi-island)
Monte Carlo simulations (multi-island)

New features:
iPython Console to access the results and manipulate them the way you want.

Since this is Python, there are no binaries, the "executable" is the code itself.
The file to execute first is GridCalMain.py

you run the program by executing the command python GridCalMain.py if Python3 is your system python on windows , or python3 GridCalMain.py if you are on Linux.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen almost 9 years ago

GridCal - Pre release

This release is fully functional for:

  • Power flow (multi-island)
  • Time series (multi-island)
  • Bifurcation point (multi-island)

Not ready yet:

  • Monte Carlo simulations (Ongoing)

Since this is Python, there are no binaries, the "executable" is the code itself.
The file to execute first is main_gui.py

you run the program by executing the command python main_gui.py if Python3 is your system python on windows , or python3 main_gui.py if you are on Linux.

Go to the wiki to learn more about making the code run.

Energy Systems - Grid Analysis and Planning - MATLAB
Published by SanPen about 9 years ago