Skip to content

Releases: Grid2op/lightsim2grid

v0.6.0

17 Dec 12:58
278ceb3
Compare
Choose a tag to compare

Breaking changes

  • change the interface of the newton_pf function to reflect pandapower change in their
    latest version (arguments ref has been added). You can still use the old newton_pf function, with the
    old signature by importing newtonpf_old instead.
  • SecurityAnalysis now also returns the active flows when calling security_analysis.get_flows()
  • change the file names (python side) to be compliant with pep 8. You can no longer
    do things like from lightsim2grid.LightSimBackend import LightSimBackend change it to
    from lightsim2grid import LightSimBackend (preferred method)
  • change the file names (python side) to be compliant with pep 8. You can no longer
    do things like from lightsim2grid.initGridModel import init change it to
    from lightsim2grid.gridmodel import init (preferred method) (same for GridModel class)

Bug Fixes

  • a bug that lead to the wrong computation of the dc powerflow in case of sn_mva != 1. and phase shifters.
  • bug preventing to use the NICSLU linear solver in the GridModel
  • compilation warnings on clang (missing virtual destructor, unused variables, etc.)
  • a bug in the SecurityAnalysisCPP: when it diverges for some contingencies, the others were not simulated properly.
  • LightSimBackend now contains members for shunts and ***_theta as it does for the other quantities. This improves the consistency, but most importantly
    fixes some bugs when used in earlier grid2op versions

New features

  • possibility to compute the active flows using the BaseMultiplePower
  • possibility to change linear solver used when performing a DC solver
  • possibility to make powerflow with distributed slack bus (only for newton raphson at the moment)
  • access (read only) to the element of a lightsim2grid grid with the get_XXX (eg get_loads()) methods (see documentation)
  • direct access to the solver used in the grid model python side
  • unittest in circleci.
  • [all kind of solvers based on different linear solvers (Eigen sparse LU, KLU or NICSLU) for Newton Raphson and
    DC approximation (9 solvers in total)

General improvments

  • use of steady_clock to retrieve the ellapse time c++ side
  • refactoring of the c++ part to use template mecanism instead of inheritance for the
    Newton Raphson and DC solvers.
  • GridModel now contains two different solvers, one for AC powerflow and one for DC powerflow.
  • error message in the solver are now embedded in an Enum instead of being integers, for better readibility.
  • error message when the powerflow diverge (error are read from c++ now)

Github issues resolved

Version 0.5.5

10 Nov 15:43
683aa3a
Compare
Choose a tag to compare
  • [ADDED] possibility to perform dc powerflow
  • [ADDED] a class to compute flows on whole time series when the Ybus does not change (see TimeSerie)
  • [ADDED] a class to compute flows on multiple contingencies, when Sbus does not change (see SecurityAnalysis).
  • [IMPROVED] running speed of Newton Raphson solvers with better filling of sparse matrices
  • [IMPROVED] upgrade to SuiteSparse v5.10.1
  • [IMPROVED] upgrade to eigen 3.4.0 (stable release)
  • [IMPROVED] clean the compilation warnings on microsoft windows (force the conversion from
    Eigen::EigenBase<Derived>::Index to int using static_cast)
  • [IMPROVED] add the proper optimization flag for windows (/O2 instead of -03 on linux / macos)
  • [IMPROVED] high performance gain when topology is not changed between steps (gain obtained by
    reusing the previous Ybus)

Version 0.5.4

20 Aug 12:17
Compare
Choose a tag to compare

This version brings the support of the NICSLU solver (experimental for now, see https://github.com/chenxm1986/nicslu), improve the speed of lightsim2grid (lightly) for the Newton Raphson solvers and fix the issue #30

Version 0.5.3

11 Aug 12:07
c34d639
Compare
Choose a tag to compare
  • [FIXED] minor issues in the benchmark (some time measurments were wrong)
  • [ADDED] lightsim2grid package now can be distributed on pypi
  • [ADDED] compilation of SuiteSparse using cmake
  • [ADDED] compatibility with the KLU linear solver on windows based systems.
  • [IMPROVED] trying to make the package available on pypi

Upgrade to version 0.5.2

27 Jul 06:35
b83e0ca
Compare
Choose a tag to compare

Some github actions are now perrformed automatically to generate the python "wheels", so that lightsim2grid can be installed from pypi.

And it comes with a few changes:

  • [FIXED] GridModel now properly throw "out_of_range" exception when trying to change the bus of non existing
    elements
  • [FIXED] wrong units were displayed for the iterators for lines and transformers.
  • [ADDED] now able to retrieve the powerlines physical parameters python side.
  • [IMPROVED] more explicit error messages when the building of the Ybus matrix fails.
  • [IMPROVED] now the solver is not reset when using the backend._grid.check_solution
  • [IMPROVED] upgrade SuiteSparse to version v5.10.1
  • [IMPROVED] upgrade eigen to version 3.4-rc1

Release version 0.5.1

09 Apr 12:55
Compare
Choose a tag to compare

Most notable the compatibility with grid2op 1.5.1 and the ability to retrieve voltage angles (python side)

Version 0.5.0

01 Mar 11:22
Compare
Choose a tag to compare
v0.5.0

Release 0.5.0

Release v0.4.0

06 Jan 14:03
c1ad932
Compare
Choose a tag to compare
Release v0.4.0