Releases: Grid2op/lightsim2grid
Releases · Grid2op/lightsim2grid
v0.6.0
Breaking changes
- change the interface of the
newton_pf
function to reflect pandapower change in their
latest version (argumentsref
has been added). You can still use the oldnewton_pf
function, with the
old signature by importingnewtonpf_old
instead. SecurityAnalysis
now also returns the active flows when callingsecurity_analysis.get_flows()
- change the file names (python side) to be compliant with pep 8. You can no longer
do things likefrom 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 likefrom lightsim2grid.initGridModel import init
change it to
from lightsim2grid.gridmodel import init
(preferred method) (same forGridModel
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 forshunts
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
(egget_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
- [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
toint
usingstatic_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
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
- [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
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
Most notable the compatibility with grid2op 1.5.1 and the ability to retrieve voltage angles (python side)
Version 0.5.0
v0.5.0 Release 0.5.0
Release v0.4.0
Release v0.4.0