LightSim2Grid 1.2.0__tar.gz → 1.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lightsim2grid-1.3.0/CHANGELOG.rst +1618 -0
- lightsim2grid-1.3.0/CLAUDE.md +369 -0
- lightsim2grid-1.3.0/PKG-INFO +363 -0
- lightsim2grid-1.3.0/README.md +329 -0
- lightsim2grid-1.3.0/RELEASE.md +106 -0
- lightsim2grid-1.3.0/SuiteSparse/AMD/Doc/License.txt +35 -0
- lightsim2grid-1.3.0/SuiteSparse/BTF/Doc/License.txt +20 -0
- lightsim2grid-1.3.0/SuiteSparse/BTF/Doc/lesser.txt +504 -0
- lightsim2grid-1.3.0/SuiteSparse/COLAMD/Doc/License.txt +30 -0
- lightsim2grid-1.3.0/SuiteSparse/CXSparse/Doc/License.txt +19 -0
- lightsim2grid-1.3.0/SuiteSparse/CXSparse/Doc/lesser.txt +504 -0
- lightsim2grid-1.3.0/SuiteSparse/KLU/Doc/License.txt +22 -0
- lightsim2grid-1.3.0/SuiteSparse/KLU/Doc/lesser.txt +504 -0
- lightsim2grid-1.3.0/lightsim2grid/__init__.py +194 -0
- lightsim2grid-1.3.0/lightsim2grid/_batch_defaults.py +22 -0
- lightsim2grid-1.3.0/lightsim2grid/algorithm/__init__.py +131 -0
- lightsim2grid-1.3.0/lightsim2grid/contingencyAnalysis.py +1152 -0
- lightsim2grid-1.3.0/lightsim2grid/continuationPowerflow.py +386 -0
- lightsim2grid-1.3.0/lightsim2grid/differentiable/_batch_cpu_power_flow.py +539 -0
- lightsim2grid-1.3.0/lightsim2grid/injectionSweep.py +97 -0
- lightsim2grid-1.3.0/lightsim2grid/lightEnv.py +162 -0
- lightsim2grid-1.3.0/lightsim2grid/lightSimBackend.py +2479 -0
- lightsim2grid-1.3.0/lightsim2grid/network/__init__.py +69 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/__init__.py +39 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_generators.py +211 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_hvdc.py +212 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_lines.py +106 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_shunts.py +80 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_slack.py +405 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_storage.py +154 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_svc.py +262 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_trafos.py +229 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_battery_apc.py +197 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_olf_bake.py +1653 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_olf_const.py +112 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_olf_outer_loops.py +320 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_olf_params.py +397 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_olf_rules.py +643 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_propagate_contingencies.py +544 -0
- lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/initLSGrid.py +464 -0
- lightsim2grid-1.3.0/lightsim2grid/pandapower_compat/dcpf/_dcpf.py +65 -0
- lightsim2grid-1.3.0/lightsim2grid/scenarioSweep.py +789 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/_olf_reference.py +52 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/binary_format_fixture/case14_sandbox_format22.lsb +0 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_BatchCPUPowerFlow.py +593 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_CKTSOSolver.py +139 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_ContingencyAnalysis_remote_regulator.py +96 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_KLUSolver.py +199 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_LSGrid_out_of_bounds.py +787 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_LightEnv.py +723 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_NICSLUSolver.py +139 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_batch_result_views.py +194 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_binary_serialization.py +661 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_constrained_ordering.py +123 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_contingency_injections.py +307 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_continuation_powerflow.py +498 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_hold_frozen_regulators.py +178 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_main_component_slack.py +644 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_match_with_pypowsybl/utils_for_slack.py +54 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_olf_outer_loops.py +183 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_olf_rules.py +427 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_batch.py +683 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_batch_static_pivot.py +82 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_control_layout.py +148 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_detection.py +125 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_islanded_controls.py +97 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_islanded_rows.py +141 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_loop_inputs.py +433 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_loops.py +784 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_redistribute_slack.py +174 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_tap_violations.py +86 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_pandapower_compat_dcpf.py +61 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_pf_input_robustness.py +309 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_phase_control.py +154 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_physical_violations.py +974 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_pickleable.py +293 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_propagate_contingencies_pypowsybl.py +405 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_pypowsybl_copy_on_write.py +80 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_remote_voltage_control.py +207 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_scaling_refactor_policies.py +484 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_shunt_voltage_control.py +173 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_solver_registry.py +223 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_sparse_getters.py +237 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_storage_distributed_slack.py +364 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_storage_pypowsybl.py +195 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_svc_can_be_pv.py +256 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_svc_standby.py +431 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_tap_changers_pypowsybl.py +157 -0
- lightsim2grid-1.3.0/lightsim2grid/tests/test_transformer_voltage_control.py +153 -0
- lightsim2grid-1.3.0/lightsim2grid/timeSerie.py +606 -0
- lightsim2grid-1.3.0/pyproject.toml +230 -0
- lightsim2grid-1.3.0/src/bindings/python/binding_batch.cpp +1434 -0
- lightsim2grid-1.3.0/src/bindings/python/binding_containers.cpp +529 -0
- lightsim2grid-1.3.0/src/bindings/python/binding_enums.cpp +97 -0
- lightsim2grid-1.3.0/src/bindings/python/binding_light_env.cpp +191 -0
- lightsim2grid-1.3.0/src/bindings/python/binding_lsgrid.cpp +797 -0
- lightsim2grid-1.3.0/src/bindings/python/binding_solvers.cpp +788 -0
- lightsim2grid-1.3.0/src/bindings/python/shared_array.hpp +52 -0
- lightsim2grid-1.3.0/src/bindings/python/sparse_helpers.hpp +80 -0
- lightsim2grid-1.3.0/src/core/AlgorithmSelector.hpp +537 -0
- lightsim2grid-1.3.0/src/core/BinaryArchive.hpp +487 -0
- lightsim2grid-1.3.0/src/core/BuiltinSolversRegistration.cpp +108 -0
- lightsim2grid-1.3.0/src/core/CMakeLists.txt +594 -0
- lightsim2grid-1.3.0/src/core/HvdcDroopData.hpp +121 -0
- lightsim2grid-1.3.0/src/core/LSGrid.cpp +3968 -0
- lightsim2grid-1.3.0/src/core/LSGrid.hpp +3601 -0
- lightsim2grid-1.3.0/src/core/SolverInstantiations.cpp +84 -0
- lightsim2grid-1.3.0/src/core/Solvers.hpp +169 -0
- lightsim2grid-1.3.0/src/core/Utils.cpp +83 -0
- lightsim2grid-1.3.0/src/core/Utils.hpp +468 -0
- lightsim2grid-1.3.0/src/core/VoltageControlPlan.cpp +788 -0
- lightsim2grid-1.3.0/src/core/VoltageControlPlan.hpp +401 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/BaseBatchSolverSynch.cpp +234 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/BaseBatchSolverSynch.hpp +1204 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/BaseBatchSweep.cpp +916 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/BaseBatchSweep.hpp +5089 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/BusQCheck.hpp +264 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/BusQPlan.hpp +61 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/ContinuationSweep.cpp +387 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/ContinuationSweep.hpp +288 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/GenPvReleaseCheck.hpp +323 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/HvdcPCheck.hpp +244 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/LimitViolation.hpp +289 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/OperationalCheck.hpp +310 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/SbusPolicy.cpp +322 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/SbusPolicy.hpp +342 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/SharedMat.hpp +82 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/SvcStandbyCheck.hpp +175 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/YbusPolicy.cpp +403 -0
- lightsim2grid-1.3.0/src/core/batch_algorithm/YbusPolicy.hpp +290 -0
- lightsim2grid-1.3.0/src/core/element_container/BranchContainer.hpp +1028 -0
- lightsim2grid-1.3.0/src/core/element_container/GeneratorContainer.hpp +477 -0
- lightsim2grid-1.3.0/src/core/element_container/GenericContainer.hpp +588 -0
- lightsim2grid-1.3.0/src/core/element_container/HvdcLineContainer.cpp +493 -0
- lightsim2grid-1.3.0/src/core/element_container/HvdcLineContainer.hpp +561 -0
- lightsim2grid-1.3.0/src/core/element_container/OneSideContainer.hpp +771 -0
- lightsim2grid-1.3.0/src/core/element_container/ShuntContainer.cpp +329 -0
- lightsim2grid-1.3.0/src/core/element_container/ShuntContainer.hpp +270 -0
- lightsim2grid-1.3.0/src/core/element_container/SlackParticipation.hpp +423 -0
- lightsim2grid-1.3.0/src/core/element_container/StorageContainer.hpp +368 -0
- lightsim2grid-1.3.0/src/core/element_container/SvcContainer.cpp +328 -0
- lightsim2grid-1.3.0/src/core/element_container/SvcContainer.hpp +328 -0
- lightsim2grid-1.3.0/src/core/element_container/TapChangers.hpp +314 -0
- lightsim2grid-1.3.0/src/core/element_container/TrafoContainer.cpp +678 -0
- lightsim2grid-1.3.0/src/core/element_container/TrafoContainer.hpp +546 -0
- lightsim2grid-1.3.0/src/core/help_fun_msg.cpp +8714 -0
- lightsim2grid-1.3.0/src/core/help_fun_msg.hpp +945 -0
- lightsim2grid-1.3.0/src/core/light_env/protections.hpp +300 -0
- lightsim2grid-1.3.0/src/core/linear_solvers/CMakeLists.txt +16 -0
- lightsim2grid-1.3.0/src/core/linear_solvers/KLUSolver.cpp +119 -0
- lightsim2grid-1.3.0/src/core/linear_solvers/KLUSolver.hpp +197 -0
- lightsim2grid-1.3.0/src/core/linear_solvers/KLUStaticPivotSolver.cpp +301 -0
- lightsim2grid-1.3.0/src/core/linear_solvers/KLUStaticPivotSolver.hpp +248 -0
- lightsim2grid-1.3.0/src/core/linear_solvers/LinearSolverPolicy.hpp +218 -0
- lightsim2grid-1.3.0/src/core/linear_solvers/OrderingConstraints.hpp +78 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/BaseAlgo.hpp +825 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/CMakeLists.txt +23 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/NRAlgo.hpp +613 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/NRAlgo.tpp +272 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/NROuterInner.hpp +293 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/NRSystem.hpp +2454 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/NRSystem.tpp +762 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/NRSystemBranchControl.cpp +557 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/NRSystemShuntControl.cpp +277 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/NRSystemVoltageControl.cpp +69 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/OuterLoopAlgo.hpp +323 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/OuterLoopAlgo.tpp +427 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/BaseOuterLoop.hpp +324 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/DefaultOuterLoops.cpp +139 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/DefaultOuterLoops.hpp +59 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/DistributedSlackLoop.cpp +248 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/DistributedSlackLoop.hpp +121 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/HvdcAcEmulationLimitsLoop.cpp +117 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/HvdcAcEmulationLimitsLoop.hpp +65 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/OuterControlLayout.hpp +76 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/OuterControls.cpp +303 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/OuterControls.hpp +437 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/OuterLoopDriver.cpp +62 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/OuterLoopDriver.hpp +58 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/OuterRowView.cpp +338 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/OuterRowView.hpp +221 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/PhaseControlLoop.cpp +247 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/PhaseControlLoop.hpp +84 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/ReactiveLimitsLoop.cpp +601 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/ReactiveLimitsLoop.hpp +190 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/ShuntVoltageControlLoop.cpp +214 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/ShuntVoltageControlLoop.hpp +83 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/TransformerVoltageControlLoop.cpp +566 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/TransformerVoltageControlLoop.hpp +148 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/VoltageMonitoringLoop.cpp +122 -0
- lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/VoltageMonitoringLoop.hpp +76 -0
- lightsim2grid-1.3.0/utils/olf_outer_compare.py +713 -0
- lightsim2grid-1.3.0/utils/pr_diff_stats.py +97 -0
- lightsim2grid-1.3.0/utils/release.py +341 -0
- lightsim2grid-1.2.0/CHANGELOG.rst +0 -1418
- lightsim2grid-1.2.0/CLAUDE.md +0 -360
- lightsim2grid-1.2.0/PKG-INFO +0 -361
- lightsim2grid-1.2.0/README.md +0 -327
- lightsim2grid-1.2.0/lightsim2grid/__init__.py +0 -194
- lightsim2grid-1.2.0/lightsim2grid/algorithm/__init__.py +0 -95
- lightsim2grid-1.2.0/lightsim2grid/contingencyAnalysis.py +0 -1025
- lightsim2grid-1.2.0/lightsim2grid/continuationPowerflow.py +0 -378
- lightsim2grid-1.2.0/lightsim2grid/differentiable/_batch_cpu_power_flow.py +0 -516
- lightsim2grid-1.2.0/lightsim2grid/injectionSweep.py +0 -94
- lightsim2grid-1.2.0/lightsim2grid/lightEnv.py +0 -123
- lightsim2grid-1.2.0/lightsim2grid/lightSimBackend.py +0 -2477
- lightsim2grid-1.2.0/lightsim2grid/network/__init__.py +0 -60
- lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/__init__.py +0 -29
- lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_generators.py +0 -171
- lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_hvdc.py +0 -189
- lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_lines.py +0 -97
- lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_shunts.py +0 -32
- lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_slack.py +0 -401
- lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_storage.py +0 -134
- lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_svc.py +0 -222
- lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_trafos.py +0 -137
- lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_battery_apc.py +0 -228
- lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_olf_bake.py +0 -1724
- lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_olf_const.py +0 -110
- lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_olf_params.py +0 -429
- lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/initLSGrid.py +0 -418
- lightsim2grid-1.2.0/lightsim2grid/pandapower_compat/dcpf/_dcpf.py +0 -65
- lightsim2grid-1.2.0/lightsim2grid/scenarioSweep.py +0 -736
- lightsim2grid-1.2.0/lightsim2grid/tests/binary_format_fixture/case14_sandbox_format18.lsb +0 -0
- lightsim2grid-1.2.0/lightsim2grid/tests/test_BatchCPUPowerFlow.py +0 -543
- lightsim2grid-1.2.0/lightsim2grid/tests/test_CKTSOSolver.py +0 -133
- lightsim2grid-1.2.0/lightsim2grid/tests/test_KLUSolver.py +0 -184
- lightsim2grid-1.2.0/lightsim2grid/tests/test_LSGrid_out_of_bounds.py +0 -261
- lightsim2grid-1.2.0/lightsim2grid/tests/test_LightEnv.py +0 -646
- lightsim2grid-1.2.0/lightsim2grid/tests/test_NICSLUSolver.py +0 -133
- lightsim2grid-1.2.0/lightsim2grid/tests/test_binary_serialization.py +0 -661
- lightsim2grid-1.2.0/lightsim2grid/tests/test_continuation_powerflow.py +0 -438
- lightsim2grid-1.2.0/lightsim2grid/tests/test_hold_frozen_regulators.py +0 -176
- lightsim2grid-1.2.0/lightsim2grid/tests/test_main_component_slack.py +0 -570
- lightsim2grid-1.2.0/lightsim2grid/tests/test_match_with_pypowsybl/utils_for_slack.py +0 -43
- lightsim2grid-1.2.0/lightsim2grid/tests/test_pf_input_robustness.py +0 -295
- lightsim2grid-1.2.0/lightsim2grid/tests/test_physical_violations.py +0 -927
- lightsim2grid-1.2.0/lightsim2grid/tests/test_pickleable.py +0 -293
- lightsim2grid-1.2.0/lightsim2grid/tests/test_remote_voltage_control.py +0 -175
- lightsim2grid-1.2.0/lightsim2grid/tests/test_scaling_refactor_policies.py +0 -483
- lightsim2grid-1.2.0/lightsim2grid/tests/test_solver_registry.py +0 -192
- lightsim2grid-1.2.0/lightsim2grid/tests/test_sparse_getters.py +0 -280
- lightsim2grid-1.2.0/lightsim2grid/tests/test_storage_distributed_slack.py +0 -350
- lightsim2grid-1.2.0/lightsim2grid/tests/test_storage_pypowsybl.py +0 -183
- lightsim2grid-1.2.0/lightsim2grid/tests/test_svc_can_be_pv.py +0 -256
- lightsim2grid-1.2.0/lightsim2grid/tests/test_svc_standby.py +0 -431
- lightsim2grid-1.2.0/lightsim2grid/timeSerie.py +0 -594
- lightsim2grid-1.2.0/pyproject.toml +0 -199
- lightsim2grid-1.2.0/src/bindings/python/binding_batch.cpp +0 -1294
- lightsim2grid-1.2.0/src/bindings/python/binding_containers.cpp +0 -468
- lightsim2grid-1.2.0/src/bindings/python/binding_enums.cpp +0 -95
- lightsim2grid-1.2.0/src/bindings/python/binding_light_env.cpp +0 -189
- lightsim2grid-1.2.0/src/bindings/python/binding_lsgrid.cpp +0 -624
- lightsim2grid-1.2.0/src/bindings/python/binding_solvers.cpp +0 -384
- lightsim2grid-1.2.0/src/bindings/python/sparse_helpers.hpp +0 -74
- lightsim2grid-1.2.0/src/core/AlgorithmSelector.hpp +0 -501
- lightsim2grid-1.2.0/src/core/BinaryArchive.hpp +0 -469
- lightsim2grid-1.2.0/src/core/BuiltinSolversRegistration.cpp +0 -94
- lightsim2grid-1.2.0/src/core/CMakeLists.txt +0 -524
- lightsim2grid-1.2.0/src/core/HvdcDroopData.hpp +0 -119
- lightsim2grid-1.2.0/src/core/LSGrid.cpp +0 -3388
- lightsim2grid-1.2.0/src/core/LSGrid.hpp +0 -3230
- lightsim2grid-1.2.0/src/core/SolverInstantiations.cpp +0 -77
- lightsim2grid-1.2.0/src/core/Solvers.hpp +0 -142
- lightsim2grid-1.2.0/src/core/Utils.cpp +0 -77
- lightsim2grid-1.2.0/src/core/Utils.hpp +0 -464
- lightsim2grid-1.2.0/src/core/VoltageControlPlan.cpp +0 -751
- lightsim2grid-1.2.0/src/core/VoltageControlPlan.hpp +0 -387
- lightsim2grid-1.2.0/src/core/batch_algorithm/BaseBatchSolverSynch.cpp +0 -231
- lightsim2grid-1.2.0/src/core/batch_algorithm/BaseBatchSolverSynch.hpp +0 -1136
- lightsim2grid-1.2.0/src/core/batch_algorithm/BaseBatchSweep.cpp +0 -856
- lightsim2grid-1.2.0/src/core/batch_algorithm/BaseBatchSweep.hpp +0 -4506
- lightsim2grid-1.2.0/src/core/batch_algorithm/BusQCheck.hpp +0 -422
- lightsim2grid-1.2.0/src/core/batch_algorithm/ContinuationSweep.cpp +0 -371
- lightsim2grid-1.2.0/src/core/batch_algorithm/ContinuationSweep.hpp +0 -288
- lightsim2grid-1.2.0/src/core/batch_algorithm/GenPvReleaseCheck.hpp +0 -322
- lightsim2grid-1.2.0/src/core/batch_algorithm/HvdcPCheck.hpp +0 -230
- lightsim2grid-1.2.0/src/core/batch_algorithm/LimitViolation.hpp +0 -246
- lightsim2grid-1.2.0/src/core/batch_algorithm/OperationalCheck.hpp +0 -296
- lightsim2grid-1.2.0/src/core/batch_algorithm/RemoteVoltageControlCheck.hpp +0 -173
- lightsim2grid-1.2.0/src/core/batch_algorithm/SbusPolicy.cpp +0 -308
- lightsim2grid-1.2.0/src/core/batch_algorithm/SbusPolicy.hpp +0 -326
- lightsim2grid-1.2.0/src/core/batch_algorithm/SvcStandbyCheck.hpp +0 -175
- lightsim2grid-1.2.0/src/core/batch_algorithm/YbusPolicy.cpp +0 -239
- lightsim2grid-1.2.0/src/core/batch_algorithm/YbusPolicy.hpp +0 -183
- lightsim2grid-1.2.0/src/core/element_container/BranchContainer.hpp +0 -1028
- lightsim2grid-1.2.0/src/core/element_container/GeneratorContainer.hpp +0 -464
- lightsim2grid-1.2.0/src/core/element_container/GenericContainer.hpp +0 -575
- lightsim2grid-1.2.0/src/core/element_container/HvdcLineContainer.cpp +0 -483
- lightsim2grid-1.2.0/src/core/element_container/HvdcLineContainer.hpp +0 -547
- lightsim2grid-1.2.0/src/core/element_container/OneSideContainer.hpp +0 -748
- lightsim2grid-1.2.0/src/core/element_container/ShuntContainer.cpp +0 -200
- lightsim2grid-1.2.0/src/core/element_container/ShuntContainer.hpp +0 -148
- lightsim2grid-1.2.0/src/core/element_container/SlackParticipation.hpp +0 -398
- lightsim2grid-1.2.0/src/core/element_container/StorageContainer.hpp +0 -339
- lightsim2grid-1.2.0/src/core/element_container/SvcContainer.cpp +0 -238
- lightsim2grid-1.2.0/src/core/element_container/SvcContainer.hpp +0 -267
- lightsim2grid-1.2.0/src/core/element_container/TrafoContainer.cpp +0 -392
- lightsim2grid-1.2.0/src/core/element_container/TrafoContainer.hpp +0 -321
- lightsim2grid-1.2.0/src/core/help_fun_msg.cpp +0 -8291
- lightsim2grid-1.2.0/src/core/help_fun_msg.hpp +0 -897
- lightsim2grid-1.2.0/src/core/light_env/protections.hpp +0 -293
- lightsim2grid-1.2.0/src/core/linear_solvers/CMakeLists.txt +0 -15
- lightsim2grid-1.2.0/src/core/linear_solvers/KLUSolver.cpp +0 -90
- lightsim2grid-1.2.0/src/core/linear_solvers/KLUSolver.hpp +0 -157
- lightsim2grid-1.2.0/src/core/linear_solvers/LinearSolverPolicy.hpp +0 -155
- lightsim2grid-1.2.0/src/core/powerflow_algorithm/BaseAlgo.hpp +0 -775
- lightsim2grid-1.2.0/src/core/powerflow_algorithm/CMakeLists.txt +0 -10
- lightsim2grid-1.2.0/src/core/powerflow_algorithm/NRAlgo.hpp +0 -523
- lightsim2grid-1.2.0/src/core/powerflow_algorithm/NRAlgo.tpp +0 -240
- lightsim2grid-1.2.0/src/core/powerflow_algorithm/NRSystem.hpp +0 -1840
- lightsim2grid-1.2.0/src/core/powerflow_algorithm/NRSystem.tpp +0 -723
- lightsim2grid-1.2.0/src/core/powerflow_algorithm/NRSystemVoltageControl.cpp +0 -66
- lightsim2grid-1.2.0/utils/pr_diff_stats.py +0 -97
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/.clang-tidy +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/AUTHORS.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/CMakeLists.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/DISCLAIMER.md +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/LICENSE +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/LICENSE.md +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/.gitattributes +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/CMakeLists.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Config/AMD.pc.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Config/AMDConfig.cmake.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Config/amd.h.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Config/amd_version.tex.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Include/amd.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Include/amd_internal.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/README.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd.f +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_1.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_2.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_aat.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_control.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_defaults.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_dump.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_info.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l1.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l2.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_aat.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_control.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_defaults.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_dump.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_info.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_order.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_post_tree.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_postorder.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_preprocess.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_valid.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_order.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_post_tree.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_postorder.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_preprocess.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_valid.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_version.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amdbar.f +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/CMakeLists.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Config/BTF.pc.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Config/BTFConfig.cmake.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Config/btf.h.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Include/btf.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Include/btf_internal.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/README.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Source/btf_l_maxtrans.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Source/btf_l_order.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Source/btf_l_strongcomp.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Source/btf_maxtrans.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Source/btf_order.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Source/btf_strongcomp.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Source/btf_version.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CITATION.bib +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CMakeLists.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CODE_OF_CONDUCT.md +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/CMakeLists.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/Config/COLAMD.pc.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/Config/COLAMDConfig.cmake.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/Config/colamd.h.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/Include/colamd.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/README.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/Source/colamd.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/Source/colamd_l.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/Source/colamd_version.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CONTRIBUTING.md +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/CMakeLists.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Config/CXSparse.pc.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Config/CXSparseConfig.cmake.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Config/cs.h.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Include/cs.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/README.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/README.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_add.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_amd.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_chol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cholsol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_add.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_amd.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_chol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_cholsol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_compress.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_counts.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_cumsum.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_dfs.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_dmperm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_droptol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_dropzeros.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_dupl.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_entry.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_ereach.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_etree.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_fkeep.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_gaxpy.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_happly.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_house.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_ipvec.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_leaf.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_load.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_lsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_ltsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_lu.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_lusol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_malloc.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_maxtrans.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_multiply.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_norm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_permute.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_pinv.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_post.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_print.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_pvec.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_qr.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_qrsol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_randperm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_reach.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_scatter.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_scc.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_schol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_spsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_sqr.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_symperm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_tdfs.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_transpose.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_updown.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_usolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_util.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_utsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_add.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_amd.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_chol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_cholsol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_compress.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_counts.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_cumsum.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_dfs.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_dmperm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_droptol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_dropzeros.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_dupl.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_entry.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_ereach.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_etree.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_fkeep.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_gaxpy.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_happly.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_house.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_ipvec.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_leaf.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_load.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_lsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_ltsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_lu.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_lusol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_malloc.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_maxtrans.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_multiply.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_norm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_permute.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_pinv.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_post.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_print.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_pvec.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_qr.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_qrsol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_randperm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_reach.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_scatter.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_scc.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_schol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_spsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_sqr.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_symperm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_tdfs.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_transpose.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_updown.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_usolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_util.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_utsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_compress.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_convert.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_counts.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cumsum.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dfs.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_add.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_amd.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_chol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_cholsol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_compress.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_counts.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_cumsum.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_dfs.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_dmperm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_droptol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_dropzeros.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_dupl.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_entry.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_ereach.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_etree.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_fkeep.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_gaxpy.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_happly.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_house.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_ipvec.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_leaf.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_load.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_lsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_ltsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_lu.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_lusol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_malloc.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_maxtrans.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_multiply.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_norm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_permute.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_pinv.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_post.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_print.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_pvec.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_qr.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_qrsol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_randperm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_reach.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_scatter.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_scc.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_schol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_spsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_sqr.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_symperm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_tdfs.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_transpose.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_updown.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_usolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_util.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_utsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dmperm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_droptol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dropzeros.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dupl.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_entry.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ereach.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_etree.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_fkeep.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_gaxpy.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_happly.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_house.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ipvec.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_leaf.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_load.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_lsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ltsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_lu.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_lusol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_malloc.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_maxtrans.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_multiply.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_norm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_permute.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_pinv.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_post.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_print.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_pvec.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_qr.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_qrsol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_randperm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_reach.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_scatter.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_scc.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_schol.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_spsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_sqr.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_symperm.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_tdfs.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_transpose.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_updown.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_usolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_util.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_utsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cxsparse_version.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/ChangeLog +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/Contents.m +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/Contributor_License/SuiteSparse Individual Contributor License Agreement (20241011).pdf +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/CMakeLists.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Config/KLU.pc.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Config/KLUConfig.cmake.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Config/KLU_CHOLMOD.pc.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Config/KLU_CHOLMODConfig.cmake.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Config/klu.h.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Config/klu_version.tex.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Include/klu.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Include/klu_internal.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Include/klu_version.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/README.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_analyze.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_analyze_given.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_defaults.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_diagnostics.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_dump.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_extract.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_factor.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_free_numeric.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_free_symbolic.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_kernel.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_analyze.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_analyze_given.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_defaults.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_diagnostics.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_dump.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_extract.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_factor.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_free_numeric.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_free_symbolic.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_kernel.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_memory.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_refactor.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_scale.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_solve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_sort.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_tsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_memory.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_refactor.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_scale.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_solve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_sort.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_tsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_version.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_diagnostics.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_dump.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_extract.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_factor.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_free_numeric.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_kernel.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_refactor.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_scale.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_solve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_sort.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_tsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_diagnostics.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_dump.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_extract.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_factor.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_free_numeric.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_kernel.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_refactor.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_scale.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_solve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_sort.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_tsolve.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/LICENSE.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/README.md +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/CMakeLists.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/Config/README.md.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/Config/SuiteSparse_config.h.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/Config/SuiteSparse_config.pc.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/Config/SuiteSparse_configConfig.cmake.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/README.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/SuiteSparse_config.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/SuiteSparse_config.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparseBLAS.cmake +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparseBLAS32.cmake +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparseBLAS64.cmake +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparseLAPACK.cmake +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparsePolicy.cmake +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparseReport.cmake +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparse__blas_threading.cmake +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparse__thread.cmake +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/check_mkl.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/check_openblas_Apr2024.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/check_openblas_Mar2015.c +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_demo.m +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_install.m +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_paths.m +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_test.m +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/COPYING.APACHE +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/COPYING.BSD +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/COPYING.MINPACK +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/COPYING.MPL2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/COPYING.README +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/AccelerateSupport +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Cholesky +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/CholmodSupport +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Core +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Dense +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Eigen +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Eigenvalues +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Geometry +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Householder +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/IterativeLinearSolvers +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Jacobi +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/KLUSupport +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/LU +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/MetisSupport +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/OrderingMethods +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/PaStiXSupport +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/PardisoSupport +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/QR +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/QtAlignedMalloc +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/SPQRSupport +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/SVD +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Sparse +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/SparseCholesky +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/SparseCore +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/SparseLU +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/SparseQR +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/StdDeque +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/StdList +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/StdVector +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/SuperLUSupport +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/ThreadPool +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/UmfPackSupport +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Version +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/AccelerateSupport/AccelerateSupport.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/AccelerateSupport/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Cholesky/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Cholesky/LDLT.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Cholesky/LLT.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/CholmodSupport/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/ArithmeticSequence.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Array.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/ArrayBase.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/ArrayWrapper.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Assign.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/AssignEvaluator.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Assign_MKL.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/BandMatrix.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Block.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CommaInitializer.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/ConditionEstimator.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CoreEvaluators.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CoreIterators.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CwiseBinaryOp.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CwiseNullaryOp.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CwiseTernaryOp.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CwiseUnaryOp.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CwiseUnaryView.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/DenseBase.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/DenseCoeffsBase.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/DenseStorage.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/DeviceWrapper.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Diagonal.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/DiagonalMatrix.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/DiagonalProduct.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Dot.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/EigenBase.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Fill.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/FindCoeff.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/ForceAlignedAccess.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Fuzzy.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/GeneralProduct.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/GenericPacketMath.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/GlobalFunctions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/IO.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/IndexedView.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/InnerProduct.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Inverse.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Map.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/MapBase.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/MathFunctions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/MathFunctionsImpl.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Matrix.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/MatrixBase.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/NestByValue.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/NoAlias.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/NumTraits.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/PartialReduxEvaluator.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/PermutationMatrix.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/PlainObjectBase.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Product.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/ProductEvaluators.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Random.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/RandomImpl.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/RealView.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Redux.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Ref.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Replicate.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Reshaped.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/ReturnByValue.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Reverse.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Select.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/SelfAdjointView.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/SelfCwiseBinaryOp.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/SkewSymmetricMatrix3.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Solve.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/SolveTriangular.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/SolverBase.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/StableNorm.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/StlIterators.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Stride.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Swap.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Transpose.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Transpositions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/TriangularMatrix.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/VectorBlock.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/VectorwiseOp.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Visitor.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX/Complex.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX/PacketMath.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX/Reductions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/Complex.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/GemmKernel.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/MathFunctionsFP16.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/PacketMathFP16.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/Reductions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/TrsmKernel.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/TypeCastingFP16.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/Complex.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMAbfloat16.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/MatrixVectorProduct.inc +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/TypeCasting.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/Default/BFloat16.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/Default/ConjHelper.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/Default/Half.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/Default/Settings.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/GPU/Complex.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/GPU/MathFunctions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/GPU/PacketMath.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/GPU/Tuple.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/HVX/PacketMath.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/LSX/Complex.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/LSX/GeneralBlockPanelKernel.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/LSX/MathFunctions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/LSX/PacketMath.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/LSX/TypeCasting.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/MSA/Complex.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/MSA/PacketMath.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/NEON/Complex.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/NEON/PacketMath.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/NEON/UnaryFunctors.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SSE/Complex.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SSE/Reductions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SVE/PacketMath.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/ZVector/Complex.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/functors/AssignmentFunctors.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/functors/BinaryFunctors.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/functors/NullaryFunctors.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/functors/StlFunctors.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/functors/TernaryFunctors.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/functors/UnaryFunctors.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/GeneralMatrixVector.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/Parallelizer.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/SelfadjointProduct.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/SelfadjointRank2Update.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/TriangularMatrixVector.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/TriangularSolverMatrix.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/TriangularSolverVector.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/Assert.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/BlasUtil.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/ConfigureVectorization.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/Constants.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/EmulateArray.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/ForwardDeclarations.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/GpuHipCudaDefines.inc +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/GpuHipCudaUndefines.inc +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/IndexedViewHelper.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/IntegralConstant.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/MKL_support.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/Macros.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/MaxSizeVector.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/Memory.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/Meta.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/MoreMeta.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/ReshapedHelper.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/Serializer.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/StaticAssert.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/SymbolicIndex.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/XprHelper.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/EigenSolver.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/RealQZ.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/RealSchur.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/AlignedBox.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/AngleAxis.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/EulerAngles.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Homogeneous.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Hyperplane.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/OrthoMethods.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/ParametrizedLine.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Quaternion.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Rotation2D.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/RotationBase.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Scaling.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Transform.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Translation.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Umeyama.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Householder/BlockHouseholder.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Householder/Householder.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Householder/HouseholderSequence.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Householder/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Jacobi/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Jacobi/Jacobi.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/KLUSupport/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/KLUSupport/KLUSupport.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/LU/Determinant.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/LU/FullPivLU.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/LU/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/LU/InverseImpl.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/LU/PartialPivLU.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/LU/arch/InverseSize4.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/MetisSupport/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/MetisSupport/MetisSupport.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/OrderingMethods/Amd.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/OrderingMethods/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/OrderingMethods/Ordering.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/PaStiXSupport/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/PardisoSupport/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/QR/ColPivHouseholderQR.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/QR/FullPivHouseholderQR.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/QR/HouseholderQR.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/QR/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SPQRSupport/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SVD/BDCSVD.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SVD/BDCSVD_LAPACKE.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SVD/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SVD/JacobiSVD.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SVD/SVDBase.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SVD/UpperBidiagonalization.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCholesky/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/AmbiVector.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/CompressedStorage.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseAssign.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseBlock.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseColEtree.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseDot.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseFuzzy.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseMap.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseMatrix.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparsePermutation.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseProduct.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseRedux.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseRef.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseSolverBase.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseTranspose.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseTriangularView.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseUtil.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseVector.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseView.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/TriangularSolver.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLUImpl.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseQR/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseQR/SparseQR.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/StlSupport/StdDeque.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/StlSupport/StdList.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/StlSupport/StdVector.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/StlSupport/details.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SuperLUSupport/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/Barrier.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/CoreThreadPoolDevice.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/EventCount.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/ForkJoin.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/NonBlockingThreadPool.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/RunQueue.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/ThreadCancel.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/ThreadEnvironment.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/ThreadLocal.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/ThreadPoolInterface.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/ThreadYield.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/UmfPackSupport/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/Image.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/InternalHeaderCheck.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/Kernel.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/RealSvd2x2.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/blas.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/lapacke.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/lapacke_helpers.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/lapacke_mangling.h +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.inc +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.inc +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/BlockMethods.inc +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.inc +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.inc +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/IndexedViewMethods.inc +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/InternalHeaderCheck.inc +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.inc +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.inc +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/ReshapedMethods.inc +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/LICENSE +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/README.md +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/_solver_type.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/_utils/__init__.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/compilation_options/__init__.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/differentiable/__init__.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/differentiable/_flows.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/elements/__init__.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/gridmodel/__init__.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/_default_algorithms.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/compare_lsgrid.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_matpower/__init__.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_matpower/_aux_check_legit.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_matpower/_mpc_to_powermodels.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_matpower/_my_const.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_matpower/_parse_matpower_source.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_matpower/initLSGrid.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/__init__.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_dc_line.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_gen.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_line.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_load.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_sgen.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_shunt.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_slack.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_storage.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_trafo.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_check_legit.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_my_const.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_pp_bus_to_ls_bus.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/initLSGrid.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/__init__.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_add_branch.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_add_dc_line.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_add_gen.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_add_load.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_add_shunt.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_add_slack.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_add_storage.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_check_legit.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_bus_remap.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_from_pfdelta.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_my_const.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/initLSGrid.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/_aux_add_buses.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/_aux_add_loads.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/_aux_common.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/_aux_handle_slack.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/_my_const.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/_olf_compare.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/_result_network.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/pypowsybl.ipynb +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/newtonpf/__init__.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/pandapower_compat/__init__.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/pandapower_compat/dcpf/__init__.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/pandapower_compat/newtonpf/__init__.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/pandapower_compat/newtonpf/_newtonpf.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/physical_law_checker.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/rewards/__init__.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/rewards/n1ContingencyReward.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/securityAnalysis.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/solver/__init__.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/_aux_make_hvdc.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/_exotic_elements_case_ls.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/_exotic_elements_fixture.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/_gen_exotic_elements_case.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case118.zip +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case14.zip +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case1888.zip +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case30.zip +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case300.zip +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_iidm/grid copy.xiidm +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_iidm/grid.xiidm +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_matpower/config.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_matpower/grid.m +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/load_p.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/load_p_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/load_q.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/load_q_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/prod_p.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/prod_p_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/prod_v.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/prod_v_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/start_datetime.info +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/time_interval.info +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/load_p.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/load_p_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/load_q.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/load_q_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/prod_p.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/prod_p_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/prod_v.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/prod_v_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/start_datetime.info +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/time_interval.info +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/load_p.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/load_p_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/load_q.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/load_q_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/prod_p.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/prod_p_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/prod_v.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/prod_v_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/start_datetime.info +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/time_interval.info +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/load_p.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/load_p_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/load_q.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/load_q_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/prod_p.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/prod_p_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/prod_v.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/prod_v_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/start_datetime.info +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/time_interval.info +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/load_p.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/load_p_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/load_q.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/load_q_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/prod_p.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/prod_p_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/prod_v.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/prod_v_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/start_datetime.info +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/time_interval.info +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/load_p.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/load_p_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/load_q.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/load_q_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/prod_p.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/prod_p_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/prod_v.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/prod_v_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/start_datetime.info +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/time_interval.info +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/load_p.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/load_p_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/load_q.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/load_q_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/prod_p.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/prod_p_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/prod_v.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/prod_v_forecasted.csv.bz2 +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/start_datetime.info +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/time_interval.info +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/config.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/convert_from_grid2op.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/difficulty_levels.json +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/grid.xiidm +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/grid_layout.json +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/prods_charac.csv +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/storage_units_charac.csv +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/debug_gen_pf_delta_fixture.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/debug_larger_grid.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/dist_slack_test.json +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/dont_run_test_reco_deco_shunt.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/global_var_tests.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/jacobian_case14_sandbox/jacobian_io.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/jacobian_case14_sandbox/save_jacobian.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/jacobian_case14_sandbox/save_jacobian_multi.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/jacobian_case14_sandbox/saved_jacobian_multi.npz +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/jacobian_case14_sandbox/saved_jacobian_single.npz +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/no_test_disconnect_doesnt_refactor.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/save_data.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_2.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_generators.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_generators_2.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_lines.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_lines_2.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_loads.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_loads_2.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_shunts.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_shunts_2.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_storages.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_storages_2.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_substations.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_substations_2.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_trafos.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_trafos_2.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/output.out +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/output.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/pf_delta_case14.json +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/probe_olf_degenerate.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/probe_olf_qsharing.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/probe_olf_svc_slope.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/ref_trafo.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/req_oldpp.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ACPF.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_Checker.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_Computers.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ContingencyAnalysis_bindings.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ContingencyAnalysis_dc_threads.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ContingencyAnalysis_limit_violations.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ContingencyAnalysis_split.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_DCPF.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_DCSecurityAnlysis.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_DataConverter.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_Deactivatedbus.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_DoNothingACDC.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_GaussSeidelSolver.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_InjectionSweep.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_Iterators.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_J_col_converters.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_KLUBackendAction.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_KLUBackendDN.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_KLUBackendTestAgent.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_LSGrid_pandapower.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_LSGrid_pf_delta.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_LSGrid_pypowsybl.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_LightSimBackend.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_NewtonPF.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_RedispatchEnv.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_Runner.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ScenarioSweep.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ScenarioSweep_dc.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ScenarioSweep_exotic.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ScenarioSweep_gen_contingency.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ScenarioSweep_results.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ScenarioSweep_topology.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_SecurityAnlysis.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_SecurityAnlysis_cpp.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_SparseLUSolver.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_TimeSerie.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_algo_reset_copy_persistence.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_backend_matpower.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_backend_pypowsybl.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_basic_backend_api.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_basic_backend_api_noshunt.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_batch_algorithm_solver_selection.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_batch_redistribute_slack.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_bus_fusion_pypowsybl.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_cache_reuse.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_can_participate_slack.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_cap_slack_at_active_limits.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_case118.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_check_grid.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_compat_legacy_grid2op.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_correct_substation_pypowsybl.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_dc_dist_slack.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_dcline.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_deepcopy.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_detach_if_not_main_comp.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_dist_slack_backend.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_dist_slack_jacobian.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_exotic_elements_case_ls.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_fdpf.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_gen_can_be_pv.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_gen_reactive_curve_swap.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_gridmodel_change_bus.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_batch.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_can_be_pv.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_converter_stations.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_dc.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_droop.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_main_component.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_no_hvdc_bit_identical.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_pickle.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_pypowsybl.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_init_from_matpower.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_init_from_pypowsybl.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_issue_101.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_issue_30.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_issue_56.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_issue_66.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_issue_glop_360.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_jacobian.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_keep_vinit_group_controlled.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_limits_pypowsybl.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_line_disco_one_side.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_loader_default_algorithm.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_lodf.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_lsgrid_physical_violations.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_lsgrid_violations.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_match_with_pypowsybl/__init__.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_match_with_pypowsybl/example_test_case300.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_multi_slack.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_multiple_slack.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_n1contingencyrewards.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_n_busbar_per_sub.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_nr_case300.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_olf_bake.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_plugin_registration.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_pp_converter_trafo.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_pst_tap_impedance.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ptdf.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_relabel_matrix.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_remote_control_disconnected_target.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_solver_control.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_state_poisoning.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_storage_voltage_control.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_time_series_dc.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_timeseries_sbus.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_turnedoff_nopv.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_voltage_control_batch.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_voltage_control_pypowsybl.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_voltage_control_reclassify.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_voltage_control_remote_gen.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_voltage_control_svc.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/working_trafo.pickle +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/requirements_compile_ci.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/bindings/python/CMakeLists.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/bindings/python/binary_helpers.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/bindings/python/binding_declarations.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/bindings/python/binding_misc.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/bindings/python/binding_module.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/bindings/python/pickle_helpers.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/AlgoConfig.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/AlgorithmRegistry.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/AlgorithmRegistry.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/AlgorithmSelector.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/AlgorithmTypeNames.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/AlgorithmTypeNames.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/BaseConstants.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/BaseConstants.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/BinaryArchive.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/BuiltinSolversRegistration.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/BusGraph.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/CustTimer.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/DataConverter.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/DataConverter.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/IIDMConverter.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/IIDMConverter.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/Ls2gAbiTag.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/Ls2gAbiTag.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/SolverSideCache.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/SubstationContainer.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/SubstationContainer.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/TaggedIdVec.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/VoltageControlData.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/batch_algorithm/BatchAdjoint.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/batch_algorithm/BatchAdjoint.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/batch_algorithm/CMakeLists.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/batch_algorithm/GenPCheck.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/batch_algorithm/TopoPlan.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/cmake/lightsim2grid_coreConfig.cmake.in +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/BranchEndContainer.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/CMakeLists.txt +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/Container_IteratorUtils.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/ConverterStationContainer.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/ConverterStationContainer.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/GeneratorContainer.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/GenericContainer.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/LineContainer.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/LineContainer.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/LoadContainer.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/LoadContainer.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/OneSideContainer_PQ.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/SGenContainer.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/SGenContainer.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/SlackRedistribution.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/StorageContainer.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/TwoSidesContainer.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/VoltageSourceContainer.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/light_env/inj_action.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/light_env/light_env.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/light_env/light_env_utils.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/light_env/topo_action.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/CKTSOSolver.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/CKTSOSolver.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/LinearSolverStats.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/NICSLUSolver.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/NICSLUSolver.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/RefactorRetryLinearSolver.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/SparseLUSolver.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/SparseLUSolver.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/ls2g_api.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/BaseAlgo.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/BaseDCAlgo.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/BaseDCAlgo.tpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/BaseFDPFAlgo.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/BaseFDPFAlgo.tpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/GaussSeidelAlgo.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/GaussSeidelAlgo.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/GaussSeidelSynchAlgo.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/GaussSeidelSynchAlgo.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/MultiSlackNRSystem.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/NRLedger.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/NRSystemBase.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/NRSystemHvdc.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/NRSystemMultiSlack.cpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/RefactorPolicies.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/ScalingPolicies.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/ScalingPolicies.tpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/SingleSlackNRSystem.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/SlackPolicies.hpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/SlackPolicies.tpp +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/utils/Dockerfile +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/utils/Dockerfile_light +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/utils/Dockerfile_test +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/utils/build-wheels.sh +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/utils/fix_ppnet.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/utils/push_docker.py +0 -0
- {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/utils/test_buildwheel.sh +0 -0
|
@@ -0,0 +1,1618 @@
|
|
|
1
|
+
Change Log
|
|
2
|
+
===========
|
|
3
|
+
|
|
4
|
+
[TODO]
|
|
5
|
+
--------
|
|
6
|
+
- Batches with ``init_from_n_powerflow``: the "n" solve's resume point clones every outer loop, the ones
|
|
7
|
+
that did not run in that solve too, so a row needing one resumes it from what an earlier solve left in
|
|
8
|
+
it. Not reproduced: no built-in loop is idle in the base case yet needed in a row. Follow-up: carry a
|
|
9
|
+
fresh loop for those (``OuterLoopAlgo::get_outer_resume_point``).
|
|
10
|
+
- ``compute_physical_violations`` in the batches: each converged row builds its own row view, clones
|
|
11
|
+
every outer loop and builds the bus reactive plan once per loop reading it. Reusing the view the row
|
|
12
|
+
was solved with and sharing one plan did not change the timing measurably on the default loop list.
|
|
13
|
+
Follow-up: profile the per-row checks before optimising them.
|
|
14
|
+
- ``ScenarioSweep.set_topo_actions`` still refuses, each a value-level extension to write: an
|
|
15
|
+
element named in both a ``set_contingency_*`` mask and the action; moving or reactivating a
|
|
16
|
+
slack participant, a generator on a slack bus, or one in a voltage-control group (disconnecting
|
|
17
|
+
them works); a branch with one end open put back on; the DC algorithm; ``keep_jacobian``
|
|
18
|
+
with a generator moved or reactivated.
|
|
19
|
+
- ``NRSing_KLU`` (and the other plain KLU algorithms) give up on some real grid snapshots when a
|
|
20
|
+
refactorization meets a zero pivot: they have no refactorization fallback, which ``NROuter_*`` has.
|
|
21
|
+
Follow-up: decide whether the fallback (``set_refactor_fallback``) should be on by default.
|
|
22
|
+
- Without ``ReactiveLimits``, a bus' reactive power is split between its units differently from
|
|
23
|
+
OpenLoadFlow (the bus total matches). Follow-up: OpenLoadFlow's dispatch when its reactive limits are off.
|
|
24
|
+
- ``PhaseControl``: OpenLoadFlow's current-limiter one-tap move can undo itself depending on how its
|
|
25
|
+
Newton rounds the shift it writes back (see ``PhaseControlLoop.hpp``); not reproduced, so a limiter
|
|
26
|
+
can end one tap apart. Follow-up: decide whether to mirror it or leave it documented.
|
|
27
|
+
- OpenLoadFlow's outer loops in the ``NROuter_*`` algorithms: ``FreezingHvdcACEmulation``,
|
|
28
|
+
``AreaInterchangeControl``, ``SecondaryVoltageControl``, ``TransformerReactivePowerControl`` and
|
|
29
|
+
``AutomationSystem`` are not there yet, and ``PhaseControl``, ``TransformerVoltageControl`` and
|
|
30
|
+
``ShuntVoltageControl`` have one mode each, not the incremental ones (plan in
|
|
31
|
+
``docs/dev_notes/outer_loops_fixed_sparsity.md``).
|
|
32
|
+
- Control limits are **enforced** by the outer loops of the ``NROuter_*`` algorithms only
|
|
33
|
+
(``DistributedSlack``, ``ReactiveLimits``): the other algorithms still converge to a state
|
|
34
|
+
``compute_physical_violations`` then flags (``GenPCheck``, ``BusQCheck``).
|
|
35
|
+
``docs/dev_notes/nr_control_limits.md`` is a design note for enforcing them inside the Newton
|
|
36
|
+
itself, companion to
|
|
37
|
+
``docs/dev_notes/outer_loop_checks_missing_data.md``: it argues that reactive limits, slack
|
|
38
|
+
active limits, tap-ratio control, area interchange and secondary voltage control are one
|
|
39
|
+
mathematical object -- a bounded control resource complementary to a regulated quantity --
|
|
40
|
+
expressible as projection rows solved by a semismooth Newton, inside the existing
|
|
41
|
+
fixed-sparsity / value-level-masking contract, with only tap *discreteness* left needing
|
|
42
|
+
iteration around the solve. It also covers state-dependent slack weights (OLF's
|
|
43
|
+
``balanceType``) and the hydro produce / absorb mode question. Nothing of it is implemented
|
|
44
|
+
and none of its cost claims is benchmarked.
|
|
45
|
+
- The Newton-Raphson conflates two different things under one flag. "Participates in the
|
|
46
|
+
DISTRIBUTED SLACK" is a purely active statement -- this element takes a share of the
|
|
47
|
+
power imbalance, by a participation factor -- and says nothing about voltage. "Is the
|
|
48
|
+
REFERENCE slack" is much stronger: theta known, |V| known, P and Q unknown. Today an
|
|
49
|
+
element participating in the distributed slack is necessarily PV, which does not follow:
|
|
50
|
+
a load could take a share of the imbalance without controlling any voltage. Separate the
|
|
51
|
+
two roles (``SlackParticipation`` vs the voltage-control plan) so that participation can
|
|
52
|
+
be given to an element that is not a voltage source.
|
|
53
|
+
- ``lightsim2grid/network/from_pypowsybl/_olf_bake.py`` has grown past what one file should
|
|
54
|
+
hold. Split it into sub-files along what each rule bakes (taps and sections, generator
|
|
55
|
+
voltage control, reactive-limit switches, SVCs, active power and slack participation),
|
|
56
|
+
so a failing bake points at one readable module rather than at a thousand-line file.
|
|
57
|
+
- The bake rewrites the grid silently: a caller cannot tell which decision produced the
|
|
58
|
+
state it is handed. Add an opt-in, off-by-default report of every change
|
|
59
|
+
``bake_outer_loops`` made -- "gen xxx removed from the slack participants", "batt yyy
|
|
60
|
+
frozen to PQ", "tap zzz fixed at position n" -- in a machine-readable form (json), with
|
|
61
|
+
the rule that decided it.
|
|
62
|
+
- ``modify_gen_v`` can only vary a GENERATOR's voltage set-point: there is no
|
|
63
|
+
``modify_svc_v`` and no ``modify_hvdc_v``. So a generator whose regulated bus is also
|
|
64
|
+
regulated by a voltage-mode SVC or an hvdc converter station cannot be moved by a batch
|
|
65
|
+
at all -- that element keeps asking the bus for its own, fixed magnitude, and a bus has
|
|
66
|
+
only one. Such a row is refused (``_row_gen_v_conflicts``) rather than silently solved
|
|
67
|
+
at whichever set-point was written last, so the limitation is visible rather than
|
|
68
|
+
quiet, but it IS a limitation: those generators are effectively fixed for the whole
|
|
69
|
+
sweep, and their ``gen_v`` gradient is zero. Lifting it means a per-row set-point for
|
|
70
|
+
the other two families as well, and deciding what a control GROUP's set-point means
|
|
71
|
+
when its members are given different ones.
|
|
72
|
+
- Several inputs of the voltage-control plan can only be set at construction, so a caller
|
|
73
|
+
cannot change them on a live grid at all. None of them is a missing-flag bug -- there is no
|
|
74
|
+
setter to raise a flag from -- but each is a missing capability, and adding the setter means
|
|
75
|
+
adding ``tell_voltage_control_changed()`` (or, where it moves who is in a group,
|
|
76
|
+
``tell_pv_changed()``) with it:
|
|
77
|
+
|
|
78
|
+
* a generator's ``voltage_regulator_on_``: no way to take a machine out of voltage
|
|
79
|
+
regulation, or put it back, without rebuilding the container (``init_generators_full``).
|
|
80
|
+
``set_gen_regulated_bus`` exists and does raise what it must, so only the on/off is missing.
|
|
81
|
+
* an hvdc converter station's ``voltage_regulator_on_``: same, through ``init_hvdc_lines``.
|
|
82
|
+
* an SVC's ``regulation_mode_`` (OFF / VOLTAGE / REACTIVE_POWER) and its
|
|
83
|
+
``regulated_bus_id_``: neither has a setter, so an SVC cannot be switched between modes,
|
|
84
|
+
nor pointed at another bus, after ``init_svcs``.
|
|
85
|
+
* remote regulation BY an hvdc converter station is not modelled at all: the container
|
|
86
|
+
stores no regulated bus for a station, so a regulating one always regulates the bus it
|
|
87
|
+
stands on. A station only ever joins a control group somebody else created (see
|
|
88
|
+
``VoltageControlPlan::build_groups``).
|
|
89
|
+
- ``compute_physical_violations`` checks a voltage controller's reactive capability per
|
|
90
|
+
BUS, which is right for the machines that pin it locally but says nothing per element
|
|
91
|
+
where the solver DID solve each one: a generator regulating a remote bus, and the hvdc
|
|
92
|
+
stations sharing one control group, get their own reactive output back
|
|
93
|
+
(``get_controller_q``), so each could be compared against its own ``min_q_mvar`` /
|
|
94
|
+
``max_q_mvar`` on top of the bus-level check. Report both, without making the bus-level
|
|
95
|
+
one per machine: the split between machines the solver did NOT solve for stays a
|
|
96
|
+
convention (``_split_q_residual_per_bus``).
|
|
97
|
+
- ``SubstationContainer::sub_vn_kv_`` is dead state: its only writers (``init_sub()``
|
|
98
|
+
and the two-argument constructor) are called from nowhere, and nothing reads it
|
|
99
|
+
back, so it is empty on every grid every loader produces and in every binary file
|
|
100
|
+
saved so far. It is also redundant -- a substation's nominal voltage is the common
|
|
101
|
+
vn_kv of its buses, i.e. ``sub_vn_kv_[I] == bus_vn_kv_[I]`` for ``I < n_sub``, which
|
|
102
|
+
``check_valid()`` now enforces when it is present. Decide: either drop it from
|
|
103
|
+
``StateRes`` (needs a ``BINARY_FORMAT_VERSION`` bump) or have ``init_bus()`` fill it
|
|
104
|
+
and make it mandatory (changes what newly-saved files contain, and can only become
|
|
105
|
+
mandatory once no already-saved file needs to load). See the long note on the member
|
|
106
|
+
itself in ``SubstationContainer.hpp``.
|
|
107
|
+
- Remote voltage control fails on a majority of generator / bus pairs, and it looks like a bug
|
|
108
|
+
rather than a data problem. Pointing generator ``g`` at a bus one branch away, with that bus'
|
|
109
|
+
voltage FROM THE BASE SOLUTION as the target, works for some generators and not others: on
|
|
110
|
+
case9241pegase, 895 of the 1445 pairs make a system the Newton-Raphson cannot solve, while the
|
|
111
|
+
remaining 550 converge together in 19 iterations. It is the individual pairs and not the count --
|
|
112
|
+
taking 20 controllers at a time along the generator list, seven windows out of eight converge in 6
|
|
113
|
+
iterations and one does not. At scale it fails on the FIRST iteration with ``InifiniteValue`` or
|
|
114
|
+
``SolverFactor``, which points at the linear solver or at the Jacobian assembly rather than at the
|
|
115
|
+
data: the base solution satisfies KCL at every bus, so a solution demonstrably exists, and the
|
|
116
|
+
setpoint asked of each controlled bus is the magnitude that bus already holds. Neither feasible
|
|
117
|
+
setpoints nor forbidding control cycles (a strict order on ``(vn_kv, bus id)``) changes it.
|
|
118
|
+
Reproduce with ``benchmarks/make_exotic_grid.cpp``, which works around it by applying the control
|
|
119
|
+
in verified chunks and dropping the ones that do not solve.
|
|
120
|
+
- [refacto] have a structure in cpp for the buses
|
|
121
|
+
- [refacto] have the id_grid_to_solver and id_solver_to_grid etc. directly in the solver and NOT in the gridmodel.
|
|
122
|
+
- [refacto] put some method in the DataGeneric as well as some attribute (_status for example)
|
|
123
|
+
- support 3w trafo (as modeled in pandapower)
|
|
124
|
+
- improve speed by not performing internal checks
|
|
125
|
+
(keep check for boundaries and all for python API instead) [see `TODO DEBUG MODE` in c++ code]
|
|
126
|
+
- improve speed
|
|
127
|
+
- code parrallelism directly in the `Computer` and `SecurityAnalysisCPP` classes
|
|
128
|
+
- use the "multi slack hack" (see issue #50) for SecurityAnalysis or Computer for example
|
|
129
|
+
- code `helm` powerflow method
|
|
130
|
+
- interface with gridpack (to enforce q limits for example)
|
|
131
|
+
- maybe have a look at suitesparse "sliplu" tools ?
|
|
132
|
+
- pybind11's Eigen support has no ``type_caster`` for ``Eigen::Ref<const
|
|
133
|
+
Eigen::SparseMatrix<...>>`` (only for a concrete, owning ``Eigen::SparseMatrix``):
|
|
134
|
+
its generic sparse caster default-constructs a ``Type value;`` member internally,
|
|
135
|
+
which is impossible for ``Eigen::Ref`` (dense or sparse -- a ``Ref`` must be bound
|
|
136
|
+
to something at construction). pybind11 works around this for *dense* ``Eigen::Ref``
|
|
137
|
+
with a hand-written caster (delayed construction via ``std::unique_ptr``), but ships
|
|
138
|
+
no equivalent for the sparse case. Because of this, every pybind11-exported function
|
|
139
|
+
taking/returning a sparse matrix (``BaseAlgo::compute_pf_with_input_validation``'s
|
|
140
|
+
``Ybus``/``Bbus``, ``BaseFDPFAlgo::debug_get_Bp_python``/``debug_get_Bpp_python``,
|
|
141
|
+
``get_J_python``, etc.) uses a bare ``Eigen::SparseMatrix<...>`` instead of the
|
|
142
|
+
``EigenRefConstCplxSpMat``/``EigenRefConstRealSpMat`` aliases used everywhere else in
|
|
143
|
+
the C++-internal API, which costs one matrix copy per python call. Eigen's
|
|
144
|
+
``SparseRef.h`` shows the ``Ref`` *can* bind zero-copy onto an
|
|
145
|
+
``Eigen::Map<SparseMatrix<...>>`` built straight from a scipy CSR/CSC matrix's
|
|
146
|
+
``data``/``indices``/``indptr`` buffers (our aliases use ``Options=0``, so the
|
|
147
|
+
``StandardCompressedFormat``-triggered copy path in ``Ref<const SparseMatrix>``'s
|
|
148
|
+
constructor never fires). A custom pybind11 ``type_caster`` specialization for
|
|
149
|
+
``Eigen::Ref<const Eigen::SparseMatrix<Scalar,...>>`` (mirroring pybind11's own
|
|
150
|
+
dense-``Ref`` ``eigen_map_caster`` pattern: hold the three numpy buffers + a
|
|
151
|
+
``unique_ptr<Map>``/``unique_ptr<Ref>`` built in ``load()``) would remove that copy
|
|
152
|
+
on the load (python -> C++) direction, which is what matters for ``compute_pf``'s
|
|
153
|
+
hot path. The return (C++ -> python) direction would still copy either way -- python
|
|
154
|
+
needs its own owned object there regardless.
|
|
155
|
+
- `GeneratorContainer::is_pseudo_off` (used when ``turnedoff_no_pv`` /
|
|
156
|
+
``LightSimBackend(turned_off_pv=False)`` is active) is not implemented as
|
|
157
|
+
originally intended: it currently only checks ``target_p == 0`` to decide a
|
|
158
|
+
generator is "pseudo off" (and so should not pin its bus voltage). It was meant
|
|
159
|
+
to emulate PowSyBl OpenLoadFlow's own rule
|
|
160
|
+
(``generatorsWithZeroMwTargetAreNotStarted``,
|
|
161
|
+
``AbstractLfGenerator.checkIfGeneratorStartedForVoltageControl``), which
|
|
162
|
+
additionally requires ``min_p > 0`` (a generator with ``min_p <= 0`` is allowed
|
|
163
|
+
to legitimately sit at 0 MW and stays a normal voltage-controlling PV bus even
|
|
164
|
+
at ``p == 0``). ``GeneratorContainer`` now stores ``min_p`` (optional, see
|
|
165
|
+
``set_p_limits`` / ``LSGrid::set_gen_p_limits``), so what is left is to decide
|
|
166
|
+
what ``is_pseudo_off`` should do when a grid has none and then have it check
|
|
167
|
+
``target_p == 0 AND min_p > 0``, matching OLF. For
|
|
168
|
+
now this OLF-specific behavior is instead reproduced Python-side, on the
|
|
169
|
+
pypowsybl-loading path only, by ``lightsim2grid.network.from_pypowsybl.
|
|
170
|
+
bake_outer_loops`` (see ``_bake_generator_not_started`` in ``_olf_bake.py``),
|
|
171
|
+
which rewrites ``voltage_regulator_on=False`` in the IIDM network for such
|
|
172
|
+
generators before conversion, rather than relying on this C++ mechanism.
|
|
173
|
+
- ``fuse_zero_impedance_branches`` (``from_pypowsybl.init()``) deactivates a fused
|
|
174
|
+
branch and leaves its "loser" bus with no elements, so the *reduced* network
|
|
175
|
+
lightsim2grid actually solves no longer knows that bus's voltage or that
|
|
176
|
+
branch's flow. This is invisible to the C++ solve itself (the reduced problem
|
|
177
|
+
is solved correctly), but it means ``LSGrid.get_V()``/``get_lines()`` alone
|
|
178
|
+
cannot answer "what is bus X's voltage" / "what flows through branch Y" for a
|
|
179
|
+
fused-away bus or branch -- only ``LightsimResultNetwork``
|
|
180
|
+
(``_result_network.py``) currently reconstructs these (fused-bus voltage via
|
|
181
|
+
the new ``LSGrid._bus_fusion_rep``; a leaf-endpoint branch's flow via
|
|
182
|
+
Kirchhoff's current law, see ``_reconstruct_fused_branches``), so anyone
|
|
183
|
+
reading the grid directly through the C++ API (or another Python wrapper)
|
|
184
|
+
still sees ``v_mag=0`` / 0 flow. What's implemented is fine for now, but at
|
|
185
|
+
some point this should be pushed down into the C++ core itself (eg have
|
|
186
|
+
``LSGrid`` report a fused-away bus's voltage as its representative's
|
|
187
|
+
directly, and/or not deactivate a fused branch attached to only one other
|
|
188
|
+
fused branch) so every consumer benefits, not just callers that go through
|
|
189
|
+
``LightsimResultNetwork``.
|
|
190
|
+
|
|
191
|
+
TODO: speed directly update the pv, pq, Sbus and Ybus part when updating the elements
|
|
192
|
+
(less error prone and faster to recompute). Then what is passed to the solver
|
|
193
|
+
is "only" a "mask" of these data when null
|
|
194
|
+
TODO: https://github.com/haranjackson/NewtonKrylov for another type of algorithm ?
|
|
195
|
+
TODO: in ContingencyAnalysisCpp: add back the `if(!ac_solver_used)` inside the `remove_from_Ybus`
|
|
196
|
+
in order to perform the "invertibility" check
|
|
197
|
+
TODO: in `main.cpp` check the returned policy of pybind11 and also the `py::call_guard<py::gil_scoped_release>()` stuff
|
|
198
|
+
TODO: a cpp class that is able to compute (DC powerflow) ContingencyAnalysis and TimeSeries using PTDF and LODF
|
|
199
|
+
TODO: integration test with pandapower (see `pandapower/contingency/contingency.py` and import `lightsim2grid_installed` and check it's True)
|
|
200
|
+
TODO: speed: `BaseBatchSolverSynch::compute_amps_flows` / `compute_active_power_flows` build
|
|
201
|
+
`Efrom`/`Eto` via `CplxVect(_voltages.col(...))` for every line/trafo element, once per
|
|
202
|
+
call -- a full nb_steps-sized copy each time. `_voltages` is RowMajor, so a column isn't
|
|
203
|
+
contiguous and can't bind to `Eigen::Ref`, and the surrounding ternary also needs a
|
|
204
|
+
common type with `CplxVect::Zero(nb_steps)` for the open-side case. Removing the copy
|
|
205
|
+
would need a control-flow restructure (separate open-side / closed-side code paths),
|
|
206
|
+
not just a reference-type change.
|
|
207
|
+
TODO: building ``examples/dist_slack_algorithm`` against a NICSLU/CKTSO-enabled
|
|
208
|
+
``lightsim2grid_core`` fails: ``NICSLUSolver.hpp`` (pulled in transitively via
|
|
209
|
+
``Solvers.hpp``) needs NICSLU's own SDK header ``nicslu_cpp.inl`` (and, presumably,
|
|
210
|
+
CKTSO's own headers for ``CKTSOSolver.hpp``), which are a private implementation
|
|
211
|
+
detail not exposed by an installed ``lightsim2grid_core`` CMake package. The plugin's
|
|
212
|
+
``CMakeLists.txt`` only special-cases SuiteSparse/KLU's headers this way (see the
|
|
213
|
+
comment there), not NICSLU/CKTSO's. Found while verifying the ``-march=native``
|
|
214
|
+
matching fix below against a full ``env_compile_all.sh`` build; not fixed.
|
|
215
|
+
TODO: add a CI job that builds one of the example C++ algorithm plugins
|
|
216
|
+
(``examples/dist_slack_algorithm`` or ``examples/external_algorithm``) against a
|
|
217
|
+
``lightsim2grid_core`` built with ``__COMPILE_MARCHNATIVE=1``, and actually loads +
|
|
218
|
+
runs it (not just compiles it), to catch a regression of the ``-march=native``
|
|
219
|
+
matching mechanism (``lightsim2grid_core_MARCH_NATIVE`` export +
|
|
220
|
+
``examples/cmake/MatchLightsim2gridBuildFlags.cmake``, see ``docs/solver_plugin.rst``).
|
|
221
|
+
``.github/workflows/main.yml``'s ``test_march_native`` job and
|
|
222
|
+
``test_plugin_against_installed`` job each cover half of this (the former builds
|
|
223
|
+
lightsim2grid itself with the flag but does not touch a plugin; the latter builds a
|
|
224
|
+
plugin but never with the flag) -- neither exercises the combination.
|
|
225
|
+
TODO: Levenberg-Marquardt damping (a.k.a. Tikhonov-regularized Newton) : adding small decreasing
|
|
226
|
+
lambba coefficients to the diagonal of J to improve its conditionning.
|
|
227
|
+
TODO: a "combine mode" axis for ``ScenarioSweepCPP`` choosing between the current
|
|
228
|
+
row-aligned / zipped semantics (row `i`'s injection paired with row `i`'s
|
|
229
|
+
contingency) and a cartesian one ("every registered contingency x every
|
|
230
|
+
injection profile").
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
[1.3.0] 2026-11-03
|
|
234
|
+
--------------------
|
|
235
|
+
- [BREAKING] The ``*_solver`` getters of ``LSGrid`` and an algorithm's ``get_V`` / ``get_Va`` /
|
|
236
|
+
``get_Vm`` return copies (``get_Ybus_solver`` as before 1.2.0): later powerflows rebuild what
|
|
237
|
+
they viewed.
|
|
238
|
+
- [BREAKING] ``compute_pf`` / ``solve`` of the algorithms (*eg* ``NR_KLU().solve(...)``) take
|
|
239
|
+
named arguments, and their tolerance is ``tol_pu``: in per unit, unlike the ``tol`` (in MVA)
|
|
240
|
+
of ``LSGrid.ac_pf`` and the batch algorithms.
|
|
241
|
+
- [BREAKING] ``get_physical_violations`` (grid and batches) reports a bus out of its reactive range, and a
|
|
242
|
+
remote controller at an unrealistic voltage, with ``ReactiveLimits``' own test (OpenLoadFlow's tolerance,
|
|
243
|
+
limits at the target P, robust mode by the loop's parameters).
|
|
244
|
+
- [BREAKING] (C++ / plugins) ``BaseAlgo`` gains the outer-loop virtuals: ``supports_outer_loops()``,
|
|
245
|
+
``set_outer_loops()``, ``get_outer_loop_stats()``, the ``get_outer_*`` readbacks, ``set_outer_row_view()``,
|
|
246
|
+
``get_outer_resume_point()`` and ``get_outer_control_layout()``: plugins must be rebuilt.
|
|
247
|
+
- [BREAKING] New ``ViolationCategory.CONTROL``: a control the solution does not apply rather than a
|
|
248
|
+
physical limit. The PQ -> PV release, standby SVC, hvdc droop release and slack mismatch move there.
|
|
249
|
+
- [BREAKING] The hvdc droop limits and the standby SVCs of ``get_physical_violations`` /
|
|
250
|
+
``compute_physical_violations`` come from the grid's outer loops, and a saturated line reversed
|
|
251
|
+
beyond its other limit is ``HIGH_P`` on that side, as in OpenLoadFlow.
|
|
252
|
+
- [BREAKING] ``BINARY_FORMAT_VERSION`` 18 -> 22: the transformers serialize their tap changers,
|
|
253
|
+
the shunts their sections, the SVCs their standby set-points and ``b0`` (and see the
|
|
254
|
+
``save_binary`` fix above). Files of format 18 no longer load.
|
|
255
|
+
- [BREAKING] ``LSGrid.set_remote_voltage_control_vm_range`` is removed, and ``init_from_pypowsybl``'s
|
|
256
|
+
``remote_voltage_control_vm_range`` deprecated (ignored, with a warning): a remote controller at an
|
|
257
|
+
unrealistic voltage is checked against ``ReactiveLimits``' own realistic range.
|
|
258
|
+
- [FIXED] The result arrays of the batch classes read freed memory after the next ``compute`` or ``clear``.
|
|
259
|
+
They are now read-only snapshots that co-own their buffer, still without a copy.
|
|
260
|
+
- [FIXED] ``pandapower_compat.dcpf`` always raised: it sized the slack weights per slack bus,
|
|
261
|
+
and called the AC entry point. It now calls the new ``compute_pf_dc`` of the DC solvers.
|
|
262
|
+
- [FIXED] Loading a pickle or binary file whose tap changer or shunt section tables are inconsistent
|
|
263
|
+
raises instead of crashing; ``check_grid`` checks the bus they regulate.
|
|
264
|
+
- [FIXED] ``get_violations`` after a transformer's tap table was shortened raises instead of reading
|
|
265
|
+
past it.
|
|
266
|
+
- [FIXED] ``get_violations`` / ``get_physical_violations`` after ``init_trafo`` replaced the transformers
|
|
267
|
+
of an ``NROuter_*`` solve raise instead of reading their freed tap tables.
|
|
268
|
+
- [FIXED] The arrays of ``LSGrid``'s result getters (``get_gen_res``...) and of the hvdc lines'
|
|
269
|
+
``get_bus_id_side_1`` / ``_2`` keep the grid alive: once the grid was gone, they read freed memory.
|
|
270
|
+
- [FIXED] A diverged powerflow resets the element results to NaN in place; it freed the buffers
|
|
271
|
+
the result arrays read.
|
|
272
|
+
- [FIXED] ``set_config`` of the ``NR*`` algorithms: a config refused for one value no longer leaves
|
|
273
|
+
the values checked before it applied.
|
|
274
|
+
- [FIXED] ``ContingencyAnalysis``: a contingency naming its lines out of order or twice
|
|
275
|
+
(``add_single_contingency(7, 3)``) made ``run()`` and ``get_flows()`` raise ``KeyError``.
|
|
276
|
+
- [FIXED] ``ContingencyPropagator``: a branch alone behind an opened breaker, but not right behind it, stays
|
|
277
|
+
in service, as in OpenLoadFlow. ``ContingencyPropagator.dead_ends`` gives them.
|
|
278
|
+
- [FIXED] ``BatchCPUPowerFlow``: a generator a row disconnects no longer gets a ``gen_p`` gradient in that row.
|
|
279
|
+
- [FIXED] ``ContingencyAnalysis.get_flows`` after ``run`` raised (the flows were never computed).
|
|
280
|
+
- [FIXED] ``ContingencyAnalysis`` with a remote voltage regulator: connected rows failed after one
|
|
281
|
+
iteration. A KLU refactorization with a zero or collapsed pivot now re-pivots (no new ``analyze``).
|
|
282
|
+
- [FIXED] ``ContinuationSweep``: the correctors read ``tol`` in per unit, not in MVA like the base
|
|
283
|
+
case: they accepted points ``sn_mva`` times less converged than asked.
|
|
284
|
+
- [FIXED] documentation: the ``tol`` of ``LightSimBackend``, ``LSGrid.ac_pf`` and the batch
|
|
285
|
+
algorithms is in MVA (divided by ``sn_mva`` internally), and a solver plugin receives it in
|
|
286
|
+
per unit; neither was stated.
|
|
287
|
+
- [FIXED] the wheel and the sdist ship the licenses of the bundled SuiteSparse and Eigen code.
|
|
288
|
+
- [FIXED] ``save_binary`` / pickle dropped grid settings the outer loops read (capability curves,
|
|
289
|
+
OpenLoadFlow's reactive data, the reference slack bus, a few flags): a grid read back solved to
|
|
290
|
+
another state. Binary format 22.
|
|
291
|
+
- [FIXED] ``init_from_pypowsybl``: a battery with a capability curve was left without reactive limits (the
|
|
292
|
+
curve at target P was not read); with ``olf_rules`` the curve is extrapolated as OpenLoadFlow's.
|
|
293
|
+
- [FIXED] ``consider_only_main_component`` keeps the largest component, as OpenLoadFlow, not the slack's;
|
|
294
|
+
one that lost every slack unit gets one on its highest-voltage, most connected producing bus.
|
|
295
|
+
- [FIXED] (C++) ``LSGrid::generator_results`` refuses a ``storage_no_slack_share`` mask of the wrong size.
|
|
296
|
+
- [FIXED] ``assign_slack_to_most_connected`` counted the loads' consumption as production, and left out
|
|
297
|
+
the storage units, which can hold the slack.
|
|
298
|
+
- [FIXED] ``init_from_pypowsybl`` failed with "output array is read-only" under pandas' copy-on-write
|
|
299
|
+
(pandas 3): ratio tap changers, hvdc and battery reactive limits.
|
|
300
|
+
- [FIXED] ``init_from_pypowsybl``: a ratio tap step's r, x, g and b corrections, and a phase step's g and b,
|
|
301
|
+
were ignored.
|
|
302
|
+
- [FIXED] With the refactor fallback on (``NROuter_*``, ``NRRefactorRetry_*``, the batch algorithms),
|
|
303
|
+
a KLU refactorization with too small a pivot growth is factorized again, as OpenLoadFlow does.
|
|
304
|
+
- [FIXED] ``bake_outer_loops``: a generator is "not started" below 0.01 MW, not 1e-4 MW
|
|
305
|
+
(OpenLoadFlow compares per-unit values), and a condenser or fictitious one never is.
|
|
306
|
+
- [FIXED] the default distributed slack of ``init_from_pypowsybl`` follows OpenLoadFlow's
|
|
307
|
+
participation rule for generators as for batteries: a negative target takes part, a
|
|
308
|
+
target outside the unit's range or an implausible ``max_p`` does not.
|
|
309
|
+
- [FIXED] documentation: the Sphinx build has no warning left; a pull request into ``master``
|
|
310
|
+
now fails if it has one (see ``RELEASE.md``).
|
|
311
|
+
- [FIXED] building with a recent CKTSO (20261027): its libraries moved to ``rocky8_x64_gcc850`` /
|
|
312
|
+
``win7_x64``, so CKTSO was silently disabled. The older folders are still found.
|
|
313
|
+
- [ADDED] ``compute_pf_dc`` on the python solvers: the DC powerflow entry point, with its inputs checked.
|
|
314
|
+
- [ADDED] light environment: a NaN or infinite thermal limit leaves that side of the line out of
|
|
315
|
+
``rho``. The benchmark limits the origin side only, like grid2op, so both play the same episodes.
|
|
316
|
+
- [ADDED] An ``_internal`` twin of each, and of ``get_J_solver`` / ``get_J``: the view, without the
|
|
317
|
+
copy. At the caller's risk: misused, it can corrupt memory (``docs/security.rst``).
|
|
318
|
+
- [ADDED] ``ContingencyAnalysis.add_contingency(branch_ids_side1=, branch_ids_side2=)``: a branch opened at one
|
|
319
|
+
end only keeps its charging from the other, as OpenLoadFlow. ``ContingencyPropagator.opened_sides`` gives them.
|
|
320
|
+
- [ADDED] ``redistribute_slack`` with outer loops (``NROuter_*``): the ``DistributedSlack`` loop shares
|
|
321
|
+
what a contingency loses before its first solve, as OpenLoadFlow's security analysis does.
|
|
322
|
+
- [ADDED] contingencies tripping shunts, loads and generators: ``add_contingency`` /
|
|
323
|
+
``add_contingency_shunt`` / ``_load`` / ``_gen`` (``ContingencyAnalysis``), ``set_contingency_shunts`` /
|
|
324
|
+
``set_contingency_loads`` (``ScenarioSweep``), ``shunt_status`` / ``load_status`` (``BatchCPUPowerFlow``).
|
|
325
|
+
- [ADDED] ``ContingencyPropagator`` (pypowsybl): adds to each contingency the equipment powsybl
|
|
326
|
+
trips with it on a node-breaker topology (up to the breakers), and groups the ones ending in the
|
|
327
|
+
same tripped set. ``propagate_contingencies`` / ``group_equivalent_contingencies`` as shortcuts.
|
|
328
|
+
- [ADDED] (C++ / plugins) the wheel ships the KLU headers (``include/suitesparse/``, on
|
|
329
|
+
``lightsim2grid::core``'s include path): plugins no longer need a SuiteSparse checkout.
|
|
330
|
+
- [ADDED] ``get_algo().get_outer_control_layout()``: the J rows / columns of the phase shifters, ratio
|
|
331
|
+
groups and shunt controllers, for solvers that pose the same system (gpusim2grid).
|
|
332
|
+
- [ADDED] ``NR_KLUStaticPivot``, ``NRSing_KLUStaticPivot``, ``NROuter_KLUStaticPivot``: KLU with a
|
|
333
|
+
static-pivot refactorization (Gilbert & Peierls 1988, https://doi.org/10.1137/0909058; KLU,
|
|
334
|
+
Davis & Palamadai Natarajan 2010, https://doi.org/10.1145/1824801.1824814). Opt-in. Rows the
|
|
335
|
+
outer loops switch by value are ordered after the Vm columns that keep their pivot valid.
|
|
336
|
+
- [ADDED] ``constrained_ordering`` (``NR*_KLU``, off by default): the same ordering for KLU, which
|
|
337
|
+
then keeps its pivots when the outer loops switch rows. Fifth Newton ``int_params`` entry, before
|
|
338
|
+
``resume_outer_state``.
|
|
339
|
+
- [ADDED] The batch classes run the outer loops: with an ``NROuter_*`` algorithm each row is solved with
|
|
340
|
+
the grid's loops, as a single solve of the row's grid, still with one symbolic analysis per thread.
|
|
341
|
+
``get_outer_results()`` tells what they did per row. A TimeSeries row resumes from the previous
|
|
342
|
+
row's loops (frozen buses, held controllers, switched SVCs, hvdc regimes, taps, sections).
|
|
343
|
+
- [ADDED] ``resume_outer_state`` (``NROuter_*``): a solve starts its loops from where the last one
|
|
344
|
+
left them, for a sequence of solves of a time series.
|
|
345
|
+
- [ADDED] With ``init_from_n_powerflow``, a row of ``ContingencyAnalysis``, ``InjectionSweep`` and
|
|
346
|
+
``ScenarioSweep`` starts its outer loops from where the "n" solve's ended, not from the grid: fewer
|
|
347
|
+
outer iterations.
|
|
348
|
+
- [ADDED] ``OuterRowResult.converged``: whether the row converged, which ``status`` (the loops' own) does not tell.
|
|
349
|
+
- [ADDED] ``init_from_pypowsybl`` gives the grid the outer loops and driver parameters of the installed
|
|
350
|
+
OpenLoadFlow (or of ``olf_parameters``), read by ``olf_outer_loops``; elsewhere OpenLoadFlow's own defaults.
|
|
351
|
+
- [ADDED] ``LSGrid.set_outer_loop_driver_params``: the driver's parameters are the grid's; its loops and
|
|
352
|
+
driver parameters survive a copy, a pickle and ``save_binary``.
|
|
353
|
+
- [ADDED] ``OuterLoopStats.decisions``: every decision of the outer loops, with the values it compared.
|
|
354
|
+
- [ADDED] With ``olf_rules``, a line or transformer with both ends on the same bus is disconnected,
|
|
355
|
+
as OpenLoadFlow discards it (a phase shifter there carried a flow around itself).
|
|
356
|
+
- [ADDED] ``NROuter_*`` algorithms: a single-slack Newton-Raphson run inside OpenLoadFlow's
|
|
357
|
+
outer-loop driver (``LSGrid.add_outer_loop``), one symbolic analysis per solve.
|
|
358
|
+
- [ADDED] ``ErrorType.OuterLoopFailed`` and ``ErrorType.UnrealisticState``.
|
|
359
|
+
- [ADDED] ``DistributedSlack`` outer loop (``lightsim2grid.algorithm``): OpenLoadFlow's,
|
|
360
|
+
sharing the slack bus' mismatch on the units flagged "can participate", within their limits.
|
|
361
|
+
The units' new P is in the results only, their targets are not modified.
|
|
362
|
+
- [ADDED] ``HvdcAcEmulationLimits`` outer loop: OpenLoadFlow's, saturating an AC-emulation hvdc
|
|
363
|
+
line at the limit its droop flow exceeds and releasing it. In the results only.
|
|
364
|
+
- [ADDED] ``ShuntVoltageControl`` outer loop (OpenLoadFlow's WITH_GENERATOR_VOLTAGE_CONTROL; not in the
|
|
365
|
+
default list): a bus' regulating shunts solved for their susceptance, then rounded to sections.
|
|
366
|
+
- [ADDED] ``LimitViolationType.SHUNT_VOLTAGE_CONTROL``, ``ShuntInfo.res_section_count``.
|
|
367
|
+
- [ADDED] ``TransformerVoltageControl`` outer loop (OpenLoadFlow's AFTER_GENERATOR_VOLTAGE_CONTROL; not in
|
|
368
|
+
the default list): ratios solved, then rounded to a tap, low voltage generators frozen meanwhile.
|
|
369
|
+
- [ADDED] ``LimitViolationType.TRANSFORMER_VOLTAGE_DEADBAND``, ``TrafoInfo.res_ratio_tap_position``.
|
|
370
|
+
- [ADDED] ``PhaseControl`` outer loop (OpenLoadFlow's, continuous then rounded; not in the default list):
|
|
371
|
+
active power phase shifters solved for their shift, current limiters moved tap by tap.
|
|
372
|
+
- [ADDED] ``LimitViolationType.PHASE_CONTROL_P`` / ``PHASE_LIMITER_CURRENT`` (``ViolationCategory.CONTROL``),
|
|
373
|
+
``TrafoInfo.res_phase_tap_position``.
|
|
374
|
+
- [ADDED] Tap changers on transformers (``LSGrid.set_trafo_ratio_tap_changer`` / ``..._phase_...``,
|
|
375
|
+
``change_trafo_ratio_tap``): the pi model at the taps, as OpenLoadFlow's, read by ``init_from_pypowsybl``.
|
|
376
|
+
- [ADDED] Shunt sections (``LSGrid.set_shunt_sections``, ``change_shunt_section_count``) and their voltage
|
|
377
|
+
regulation, read by ``init_from_pypowsybl``.
|
|
378
|
+
- [ADDED] ``VoltageMonitoring`` outer loop: OpenLoadFlow's, switching an idle standby SVC on at its
|
|
379
|
+
automaton's set-point when the voltage it monitors leaves the thresholds.
|
|
380
|
+
- [ADDED] ``ReactiveLimits`` outer loop: OpenLoadFlow's, freezing a bus PQ at its units' reactive
|
|
381
|
+
limit and releasing it, remote voltage control, the robust mode and switched-on monitors included.
|
|
382
|
+
- [ADDED] ``LSGrid.set_gen_capability_curves`` / ``gen_limits_at``: reactive limits that follow the
|
|
383
|
+
target P ``DistributedSlack`` moved, in ``ReactiveLimits`` and the results.
|
|
384
|
+
- [ADDED] ``LSGrid.set_gen_raw_target_q``: a non-regulating unit's target Q follows its limits at the
|
|
385
|
+
target P ``DistributedSlack`` moved (OpenLoadFlow's ``forceTargetQInReactiveLimits``).
|
|
386
|
+
- [ADDED] With ``set_reactive_dispatch_olf``, VSC stations share a bus by their widest reactive range
|
|
387
|
+
over their curve, as generators (``set_station_reactive_range_max``).
|
|
388
|
+
- [ADDED] ``LSGrid.set_reactive_dispatch_olf``: a bus' reactive power split between its units as
|
|
389
|
+
OpenLoadFlow does (results only; on with ``init_from_pypowsybl(olf_rules=...)``).
|
|
390
|
+
- [ADDED] With ``olf_rules``, reactive limits are OpenLoadFlow's: a generator's capability curve
|
|
391
|
+
extrapolated at its target P (crossed limits are their mean, no float32 rounding), a VSC station's
|
|
392
|
+
read at the power it injects once the hvdc losses are counted.
|
|
393
|
+
- [ADDED] ``LSGrid.set_svc_standby`` takes the automaton's set-points, ``LSGrid.set_svc_b0`` its fixed
|
|
394
|
+
susceptance, a shunt carried by the SVC as in OpenLoadFlow.
|
|
395
|
+
- [ADDED] ``LimitViolationType.SLACK_MISMATCH``: a single slack absorbing more than the
|
|
396
|
+
``DistributedSlack`` loop's threshold, on a grid with units off the slack bus flagged to share it.
|
|
397
|
+
- [ADDED] ``LSGrid.set_dc_distribute_slack_on_can_participate`` (off by default): ``dc_pf``
|
|
398
|
+
shares the imbalance on the units flagged "can participate" (in their results), as
|
|
399
|
+
OpenLoadFlow's DC start does.
|
|
400
|
+
- [ADDED] ``init_from_pypowsybl(olf_rules=True)``: OpenLoadFlow's loading rules (which
|
|
401
|
+
generators may regulate a voltage, target Q clamped into the limits, who shares the slack
|
|
402
|
+
and within what range), shared with ``bake_outer_loops``.
|
|
403
|
+
- [ADDED] ``init_from_pypowsybl(olf_rules=...)``: OpenLoadFlow's voltage-control rules for SVCs,
|
|
404
|
+
VSC stations and batteries too, all units of a bus judged together (``_olf_rules.voltage_controllers``).
|
|
405
|
+
- [ADDED] With ``olf_rules``, a standby SVC is an idle voltage monitor (``svc_voltage_monitoring``,
|
|
406
|
+
on by default as in OpenLoadFlow), and an SVC's slope is ignored as OpenLoadFlow does by default.
|
|
407
|
+
- [ADDED] ``LSGrid.get_algo_name()``: the registry name of the AC algorithm, which also names the
|
|
408
|
+
algorithms without an ``AlgorithmType`` value (``get_algo_type`` reads ``Custom`` for them).
|
|
409
|
+
- [IMPROVED] ``TimeSerie``, ``ScenarioSweep`` and ``ContingencyAnalysis`` no longer copy the voltages
|
|
410
|
+
and the active power flows they return; those arrays are now read-only.
|
|
411
|
+
- [IMPROVED] light environment: ``LightEnv.assign_time_series`` takes keywords, ``None`` keeping a
|
|
412
|
+
quantity unchanged (eg ``gen_v`` for an environment without ``prod_v``, which crashed the benchmark).
|
|
413
|
+
- [IMPROVED] the macOS wheels target macOS 11.0: the Intel ones (macOS 15 before) and the Apple
|
|
414
|
+
Silicon ones (macOS 14 before) now install on macOS 11 and later.
|
|
415
|
+
|
|
416
|
+
[1.2.0] 2026-10-12
|
|
417
|
+
--------------------
|
|
418
|
+
- [BREAKING] (C++ / plugins) ``BaseAlgo`` gains the virtual ``distributes_slack()`` (false unless
|
|
419
|
+
overridden, which ``redistribute_slack`` requires) and ``set_voltage_control_v_set`` takes an
|
|
420
|
+
``Eigen::Ref``: plugins must be rebuilt, and update their overrides.
|
|
421
|
+
- [FIXED] ``ScenarioSweep.set_contingency_gens``: masking every generator of a bus a
|
|
422
|
+
voltage-regulating storage unit also holds turned that bus PQ.
|
|
423
|
+
- [FIXED] ``ScenarioSweep.modify_gen_v``: a generator a row disconnects no longer has to agree
|
|
424
|
+
with the set-point of the generators left on its bus.
|
|
425
|
+
- [ADDED] a documentation page for the light environment (``docs/light_env.rst``) and a
|
|
426
|
+
benchmark against grid2op (``benchmarks/light_env.py``).
|
|
427
|
+
- [FIXED] light environment: the ``Protections`` setters accept float32 and read-only arrays.
|
|
428
|
+
- [ADDED] ``ScenarioSweep.set_topo_actions``: one topological action per row (disconnections,
|
|
429
|
+
reconnections, a bus split or merged), still on one symbolic analysis. Refusals under [TODO].
|
|
430
|
+
- [ADDED] light environment: ``LightEnv.init_actions`` registers checked topological actions,
|
|
431
|
+
which ``step(act_id)`` plays with grid2op-like cooldowns.
|
|
432
|
+
- [FIXED] light environment: the protections looped for ever after an overflow disconnection,
|
|
433
|
+
and never reset the overflow counter of a line back in its limits.
|
|
434
|
+
- [ADDED] light environment: ``LightEnvObservation``, read-only views on the env's state with no
|
|
435
|
+
copy, returned by ``reset`` / ``step``.
|
|
436
|
+
- [ADDED] light environment: ``LightEnv`` can be copied cheaply (``copy`` / ``deepcopy``), and
|
|
437
|
+
moved in C++.
|
|
438
|
+
- [FIXED] light environment: the reward and ``info["survival_time"]`` were integer divisions.
|
|
439
|
+
- [BREAKING] ``BINARY_FORMAT_VERSION`` 11 -> 18: ``SvcContainer`` serializes the standby automaton
|
|
440
|
+
and the ``can_be_pv`` flag of each SVC, the generators and storage units their "can participate
|
|
441
|
+
in the slack" weight and overshoot, the converter stations their ``can_be_pv`` flag, the hvdc
|
|
442
|
+
lines their AC-emulation frozen flag, the grid its remote voltage control range. Files of
|
|
443
|
+
format 11 no longer load.
|
|
444
|
+
- [BREAKING] Operational limit checks ignore a value on its limit up to ``violation_rel_tol``
|
|
445
|
+
(new, default ``1e-9``; ``rel_tol`` of ``LSGrid.get_violations``). They used ``>=`` /
|
|
446
|
+
``<=``, so the last bit of rounding decided.
|
|
447
|
+
- [BREAKING] ``LSGrid.consider_only_main_component()`` now redistributes by default the
|
|
448
|
+
set-points the islanding takes out on the remaining slack units (``redistribute_slack=True``)
|
|
449
|
+
and returns a ``SlackRedistributionReport``. Pass ``False`` for the previous behaviour, as the
|
|
450
|
+
grid2op backend and ``init_from_pypowsybl`` do.
|
|
451
|
+
- [BREAKING] ``BINARY_FORMAT_VERSION`` 10 -> 11: ``GeneratorContainer`` serializes the
|
|
452
|
+
``can_be_pv`` flag. A file saved with format 10 must be re-exported.
|
|
453
|
+
- [BREAKING] ``LSGrid.get_Ybus_solver()`` / ``get_dcYbus_solver()`` return a read-only view of the
|
|
454
|
+
grid's matrix, not a copy, valid until a powerflow rebuilds it. Use ``.copy()`` to keep it or
|
|
455
|
+
to pass it to an algorithm's ``compute_pf``.
|
|
456
|
+
- [ADDED] Batch classes: ``compute_branch_results()``, P and Q at both ends of every branch per
|
|
457
|
+
row, ``(nb_rows, nb_branch, 4)``; ``get_row_solve_times()`` / ``get_row_nb_iter()``.
|
|
458
|
+
- [IMPROVED] The ``init_from_*`` loaders select ``NR_KLU`` / ``DC_KLU`` when KLU is compiled in
|
|
459
|
+
(``NR_SparseLU`` / ``DC_SparseLU`` before); batch classes built from the grid follow.
|
|
460
|
+
- [ADDED] Docs: reusing one ``ScenarioSweep`` across scenarios, and threads vs processes.
|
|
461
|
+
- [ADDED] Batch classes: ``compute_gen_results`` / ``get_gen_results()``, generator P and Q per row
|
|
462
|
+
by the rules of ``get_gen_res`` (shared with ``LSGrid.compute_results``, not reimplemented).
|
|
463
|
+
- [ADDED] ``LSGrid.get_gen_slack_shares()``: each generator's share of the distributed slack.
|
|
464
|
+
- [ADDED] ``ScenarioSweepCPP`` / ``ContingencyAnalysisCPP``: ``get_Ybus(row)`` / ``get_dcYbus(row)``,
|
|
465
|
+
the admittance matrix a row was solved with.
|
|
466
|
+
- [FIXED] ``compute_branch_results`` / ``get_gen_results`` with ``set_topo_actions``: a branch or
|
|
467
|
+
generator the row moves, reconnects or reactivates was reported on its base bus, or as off.
|
|
468
|
+
- [FIXED] DC batch: disconnecting a half-open branch edited Bbus, where DC never stamped it.
|
|
469
|
+
- [FIXED] DC batch: a bus whose regulating generators a row disconnects kept their voltage
|
|
470
|
+
setpoint as its magnitude (``dc_pf`` gives the starting one), which skewed the currents.
|
|
471
|
+
- [FIXED] A DC batch row that edits no admittance, right after one that did, was solved on the
|
|
472
|
+
previous row's matrix: adding the branches back did not ask for a refactorization.
|
|
473
|
+
- [FIXED] DC flows of a phase shifter in the batch flows and in the current-limit checks (batch and
|
|
474
|
+
``LSGrid.get_violations``): the shift term had the wrong sign and no ``sn_mva`` scaling.
|
|
475
|
+
- [FIXED] A DC batch row disconnecting a phase shifter kept its shift injections in Pbus.
|
|
476
|
+
- [FIXED] DC ``ContingencyAnalysis`` / ``ScenarioSweep`` with ``nb_thread > 1`` crashed (segfault):
|
|
477
|
+
a fresh worker's solver had no internal Bbus yet when the first outage edited it.
|
|
478
|
+
- [FIXED] DC batch with ``handle_disconnected_grid``: rows were solved with a stale Pbus (the base
|
|
479
|
+
case's, or the first row's), ignoring per-row injections and the slack pre-pass.
|
|
480
|
+
- [FIXED] ``LSGrid`` pickling converts its state one element at a time: the single huge tuple cast
|
|
481
|
+
overflowed MSVC (C1067) and OOM-killed gcc 8 on ``binding_lsgrid.cpp``.
|
|
482
|
+
- [FIXED] ``bake_outer_loops`` no longer freezes a unit at its reactive limit whose bus still has a
|
|
483
|
+
regulating unit with headroom (OpenLoadFlow switches buses, not units).
|
|
484
|
+
- [FIXED] The controllers holding a remote bus share it with the other generators of their bus counted
|
|
485
|
+
in that bus' key, as OpenLoadFlow does.
|
|
486
|
+
- [FIXED] A unit OpenLoadFlow capped well beyond its active limit stays there in the slack pre-pass
|
|
487
|
+
until the shift has used that up (``set_gen_can_participate_slack_overshoot``, from the bake).
|
|
488
|
+
- [FIXED] An SVC carrying a standby automaton has its susceptance range shifted by the automaton's
|
|
489
|
+
``b0`` (``init_from_pypowsybl`` and ``bake_outer_loops``), as OpenLoadFlow holds that ``b0`` apart.
|
|
490
|
+
- [FIXED] ``bake_outer_loops`` freezes a generator with too small a reactive range sharing its
|
|
491
|
+
regulated bus with a controller OpenLoadFlow keeps; it was left regulating.
|
|
492
|
+
- [FIXED] ``init_from_pypowsybl`` reads an hvdc line's ``hvdcOperatorActivePowerRange`` as its
|
|
493
|
+
active power limit per direction, like OpenLoadFlow, instead of ``max_p``.
|
|
494
|
+
- [FIXED] ``init_from_pypowsybl`` reads the reactive limits of a VSC converter station with a
|
|
495
|
+
capability curve at its target P; it was left unlimited.
|
|
496
|
+
- [FIXED] ``bake_saturated_voltage_control`` no longer freezes a unit OpenLoadFlow still regulates
|
|
497
|
+
with some reactive headroom left, only one at its limit.
|
|
498
|
+
- [FIXED] ``bake_outer_loops`` applied the standby automaton to non-regulating SVCs and checked the
|
|
499
|
+
SVC's own bus: OpenLoadFlow arms it on voltage-mode SVCs only and monitors their regulated bus.
|
|
500
|
+
- [FIXED] ``bake_outer_loops`` froze a voltage-mode SVC within the saturation tolerance of its limit
|
|
501
|
+
even when OpenLoadFlow held its target: SVCs now follow the generators' rule.
|
|
502
|
+
- [FIXED] The PQ -> PV release check skipped a ``can_be_pv`` generator frozen a hair inside its
|
|
503
|
+
reactive limit (the bake keeps the output it had): it required its setpoint within ``tol_mva``
|
|
504
|
+
of the limit. A flagged generator is now pinned at the nearer of its limits.
|
|
505
|
+
- [FIXED] ``bake_outer_loops`` took a standby SVC OpenLoadFlow switched on for an idle one (its bus
|
|
506
|
+
sits at the setpoint, inside the thresholds). It is read off the SVC's output now, and marked as
|
|
507
|
+
no longer standby.
|
|
508
|
+
- [FIXED] ``bake_outer_loops``: a unit dispatched at ``max_p`` / ``min_p`` got a ``target_p`` a
|
|
509
|
+
round-off outside it, so OpenLoadFlow left it out of the slack of the baked grid.
|
|
510
|
+
- [FIXED] ``handle_disconnected_grid``: the PQ -> PV release check (``LOW_VOLTAGE_AT_MIN_Q`` /
|
|
511
|
+
``HIGH_VOLTAGE_AT_MAX_Q``) reported a ``can_be_pv`` generator stranded outside the main
|
|
512
|
+
component when the bus it regulates stayed in it. A stranded machine is now skipped, as when
|
|
513
|
+
the contingency disconnects it (one contingency at a time).
|
|
514
|
+
- [FIXED] ``handle_disconnected_grid``: a contingency stranding the bus a voltage-control group
|
|
515
|
+
regulates while some of its controllers stay in the main component ran every Newton iteration
|
|
516
|
+
before being reported as ``DIVERGENCE`` (the frozen magnitude of the stranded bus cannot reach
|
|
517
|
+
the set-point). It is now skipped before the solve (``NOT_SIMULATED``), as the one contingency
|
|
518
|
+
at a time path refuses it ("regulates a disconnected bus"). A group with only some of its
|
|
519
|
+
controllers stranded is still solved: the live ones hold the bus and share among themselves.
|
|
520
|
+
- [FIXED] ``handle_disconnected_grid`` diverged on a contingency stranding every controller of a
|
|
521
|
+
voltage-control group of several controllers (*eg* two generators of a plant behind its
|
|
522
|
+
step-up transformer, both regulating its high voltage bus remotely): only a group of one
|
|
523
|
+
controller was handled. Such a group now leaves the solve (its controllers produce no
|
|
524
|
+
reactive power) and its regulated bus, still in the main component, becomes a plain PQ bus,
|
|
525
|
+
as when the controllers are disconnected. Same Jacobian structure for every row.
|
|
526
|
+
- [FIXED] ``handle_disconnected_grid`` (``ContingencyAnalysis`` / ``ScenarioSweep``) chose its
|
|
527
|
+
reference slack bus mixing the grid and the solver bus numberings, and the choice never
|
|
528
|
+
reached the solver. On a grid where they differ (disconnected or fused buses), a contingency
|
|
529
|
+
islanding a slack-participating generator could be skipped (``NOT_SIMULATED``) for no reason,
|
|
530
|
+
and one stranding the solver's real reference was not. The reference is now chosen in solver
|
|
531
|
+
numbering and is the one the solver uses; ``pick_reference_slack`` returns a slack bus
|
|
532
|
+
(gridmodel id) and has no effect on the next ``compute``.
|
|
533
|
+
- [FIXED] a reference slack bus forced with ``LSGrid.set_reference_slack_bus`` was lost by
|
|
534
|
+
``LSGrid.copy()``, so by the batch algorithms, which work on a copy of the grid. The batch
|
|
535
|
+
now always keeps it as its reference (the contingencies that strand it are skipped);
|
|
536
|
+
``pick_reference_slack`` still suggests the automatic choice.
|
|
537
|
+
- [FIXED] ``LSGrid.consider_only_main_component`` left the generators / storage units stranded
|
|
538
|
+
outside the main component in the distributed slack: the next powerflow raised
|
|
539
|
+
"One of the slack bus is disconnected". A disconnected slack unit now takes no share until it is
|
|
540
|
+
reconnected (and a forced reference slack bus outside the main component is cleared), as
|
|
541
|
+
OpenLoadFlow only distributes the slack on the main component.
|
|
542
|
+
- [FIXED] the DC algorithms' ``get_error()`` stayed ``NotInitError`` after a converged ``dc_pf``
|
|
543
|
+
(the status was only written on failure): it now reports ``NoError``, as the AC ones do.
|
|
544
|
+
- [FIXED] the DC active-power imbalance handed to the generator p-limit check
|
|
545
|
+
(``compute_physical_violations``) was summed over every bus, the ones masked by
|
|
546
|
+
``handle_disconnected_grid`` included; it is now summed over the solved buses only, as the
|
|
547
|
+
DC solver does.
|
|
548
|
+
- [FIXED] the OLF-style slack redistribution (``LSGrid.redistribute_active_power``,
|
|
549
|
+
``consider_only_main_component(redistribute_slack=True)``, the batch algorithms'
|
|
550
|
+
``redistribute_slack``) could push a unit across 0 MW: a discharging storage unit, or a
|
|
551
|
+
generator with ``min_p < 0``, was driven to a negative injection by a negative mismatch
|
|
552
|
+
(and a charging one to a positive injection by a positive mismatch). OpenLoadFlow never
|
|
553
|
+
changes the sign of a unit's injection: 0 MW is now a bound on the side the unit is not on.
|
|
554
|
+
- [FIXED] the power an islanding takes out (``consider_only_main_component``, and the batch
|
|
555
|
+
algorithms with ``handle_disconnected_grid``) did not count the HVDC converter stations
|
|
556
|
+
stranded outside the main component: a contingency islanding the converter of a large
|
|
557
|
+
export left its whole consumption to the unbounded distributed slack of the powerflow, past
|
|
558
|
+
every ``[min_p, max_p]`` and 0 MW bound. The stranded stations' setpoints are now part of
|
|
559
|
+
``mismatch_mw`` and redistributed like a stranded load / generator (the line's converter
|
|
560
|
+
that stays in the main component keeps injecting, as before).
|
|
561
|
+
- [FIXED] ``ContingencyAnalysis``: changing ``handle_disconnected_grid`` or
|
|
562
|
+
``redistribute_slack`` after a computation returned the previous results.
|
|
563
|
+
- [ADDED] ``LSGrid.set_hvdc_ac_emulation_frozen``: an hvdc line frozen at its AC-emulation limit is
|
|
564
|
+
reported (``HVDC_AC_EMULATION_RELEASE``) when its droop asks for less (from the bake).
|
|
565
|
+
- [ADDED] ``LSGrid.set_remote_voltage_control_vm_range``: a generator holding a remote bus from an
|
|
566
|
+
unrealistic own-bus voltage is reported (``LOW_VOLTAGE_REMOTE_CONTROL`` /
|
|
567
|
+
``HIGH_VOLTAGE_REMOTE_CONTROL``), as OpenLoadFlow's robust remote voltage control switches it to
|
|
568
|
+
PQ; ``init_from_pypowsybl`` sets the range of the installed OpenLoadFlow (it differs by version).
|
|
569
|
+
- [ADDED] ``bake_outer_loops(bake_hvdc_ac_emulation_limits=True)`` freezes an AC-emulation hvdc line
|
|
570
|
+
OpenLoadFlow saturated to a fixed setpoint at its limit.
|
|
571
|
+
- [ADDED] ``LSGrid.cap_slack_at_active_limits``: OpenLoadFlow's slack rule on a solved grid -- a unit
|
|
572
|
+
the solve pushes past an active limit leaves the slack there, and the grid is re-solved.
|
|
573
|
+
- [ADDED] ``LSGrid.set_hold_frozen_regulators``: a frozen (``can_be_pv``) remote regulator keeps
|
|
574
|
+
its seat in its voltage-control group, held at its frozen output -- same solution, releasable by
|
|
575
|
+
value.
|
|
576
|
+
- [ADDED] Physical check of the idle SVCs under a standby automaton (``LSGrid.set_svc_standby``):
|
|
577
|
+
a regulated bus outside the automaton's thresholds, which OpenLoadFlow's
|
|
578
|
+
``MonitoringVoltageOuterLoop`` answers by switching the SVC on, is reported as
|
|
579
|
+
``LOW_VOLTAGE_SVC_STANDBY`` / ``HIGH_VOLTAGE_SVC_STANDBY`` on the new ``ViolationElementType.SVC``.
|
|
580
|
+
- [ADDED] ``bake_outer_loops`` also returns the standby SVCs it left idle, and
|
|
581
|
+
``init_from_pypowsybl(can_be_pv=...)`` flags them with their thresholds.
|
|
582
|
+
- [ADDED] The PQ -> PV release check for the SVCs: ``LSGrid.set_svc_can_be_pv`` flags a fixed-Q SVC
|
|
583
|
+
an outer loop froze at a reactive limit, reported as ``LOW_VOLTAGE_AT_MIN_Q`` /
|
|
584
|
+
``HIGH_VOLTAGE_AT_MAX_Q`` on the SVC. ``bake_outer_loops`` returns the SVCs it froze at a limit.
|
|
585
|
+
- [ADDED] ``LSGrid.set_gen_can_participate_slack`` / ``set_storage_can_participate_slack``: a unit
|
|
586
|
+
left out of the slack only because it sat at an active limit takes part in the redistribution
|
|
587
|
+
pre-pass, away from that limit, as OpenLoadFlow lets it. ``bake_outer_loops(...,
|
|
588
|
+
return_details=True)`` returns the units OLF capped, for ``init_from_pypowsybl(can_participate_slack=...)``.
|
|
589
|
+
- [ADDED] a unit flagged ``can_participate_slack`` (every slack unit is) and out of the slack
|
|
590
|
+
because it sat at an active limit goes back into it once its set-point moves off that limit.
|
|
591
|
+
- [ADDED] The PQ -> PV release check for the VSC converter stations: ``LSGrid.set_hvdc_can_be_pv``
|
|
592
|
+
(``ConverterStationInfo.can_be_pv``), reported on the HVDC line, ``side`` the station's end.
|
|
593
|
+
``bake_outer_loops`` returns the stations it froze at a reactive limit, in ``can_be_pv``.
|
|
594
|
+
- [ADDED] ``LSGrid.set_keep_vinit_at_group_controlled_buses`` (and the batch algorithms'
|
|
595
|
+
``keep_vinit_at_group_controlled_buses``), off by default: a bus regulated remotely or by an
|
|
596
|
+
SVC keeps its starting magnitude instead of its set-point, so step damping can reach it gradually.
|
|
597
|
+
- [ADDED] ``LSGrid.redistribute_active_power(mismatch_mw)``: shares a known active-power
|
|
598
|
+
imbalance on the generators and storage units of the distributed slack as OpenLoadFlow's
|
|
599
|
+
``DistributedSlack`` outer loop does, with their ``[min_p, max_p]`` bounds (a saturated unit
|
|
600
|
+
leaves the pool, and the distributed slack).
|
|
601
|
+
- [ADDED] ``redistribute_slack`` (off by default) on ``ContingencyAnalysis`` and
|
|
602
|
+
``ScenarioSweep``: the same OLF-style bounded redistribution of the power a row loses (a
|
|
603
|
+
generator contingency, or an island cut off with ``handle_disconnected_grid``) before its
|
|
604
|
+
powerflow, the saturated units leaving that row's distributed slack.
|
|
605
|
+
- [ADDED] ``LSGrid.get_physical_violations(ac=True, tol_mva=1e-4)``: the physical-limit checks of
|
|
606
|
+
the batch algorithms (``compute_physical_violations``: reactive capability of the voltage
|
|
607
|
+
controllers, hvdc max power, generators / storage units pushed past their p limits by the
|
|
608
|
+
slack) on the grid's own last ``ac_pf`` / ``dc_pf``.
|
|
609
|
+
- [ADDED] ``LSGrid.get_violations(threshold=1., ac=True)``: the operational limit checks of the
|
|
610
|
+
batch algorithms (``compute_limit_violations``: bus voltages against ``[vmin, vmax]``, branch
|
|
611
|
+
currents on both sides against their thermal limits) on the grid's own last ``ac_pf`` /
|
|
612
|
+
``dc_pf``. The checks moved to ``batch_algorithm/OperationalCheck.hpp`` (same code, same
|
|
613
|
+
namespace).
|
|
614
|
+
- [ADDED] ``LSGrid.set_gen_can_be_pv`` / ``GenInfo.can_be_pv``: a per-generator flag (False by
|
|
615
|
+
default, never read by a powerflow) saying that a PQ machine is one an outer loop pinned at
|
|
616
|
+
a reactive limit, so that its PQ -> PV release can be checked. Kept by ``copy``, pickle and
|
|
617
|
+
the binary format.
|
|
618
|
+
- [ADDED] the PQ -> PV direction of OpenLoadFlow's ``ReactiveLimits`` loop as a physical
|
|
619
|
+
check: a PQ generator flagged ``can_be_pv``, sitting at its ``min_q`` (resp. ``max_q``),
|
|
620
|
+
whose regulated bus is below (resp. above) its target voltage would regulate again. Reported
|
|
621
|
+
as ``LOW_VOLTAGE_AT_MIN_Q`` / ``HIGH_VOLTAGE_AT_MAX_Q`` on the ``GENERATOR`` (``value`` and
|
|
622
|
+
``limit`` in kV) by ``LSGrid.get_physical_violations`` (new ``tol_vm_pu`` argument) and by
|
|
623
|
+
the batch algorithms' ``compute_physical_violations`` (new ``physical_violation_tol_vm_pu``
|
|
624
|
+
property); AC only, never enforced.
|
|
625
|
+
- [ADDED] ``bake_outer_loops`` returns the ids of the generators it froze at a reactive
|
|
626
|
+
limit, and ``init_from_pypowsybl(can_be_pv=...)`` flags them (``LightsimResultNetwork.
|
|
627
|
+
get_generators`` shows the flag in a ``can_be_pv`` column), so that a lightsim2grid solve
|
|
628
|
+
of the baked grid reports the ones an outer loop would release again.
|
|
629
|
+
- [IMPROVED] ``bake_outer_loops`` is faster on large grids: the capability-curve extrapolation is
|
|
630
|
+
vectorised and the bus frame is read once per bake instead of once per step. Same result.
|
|
631
|
+
- [IMPROVED] reading the batteries' ``activePowerControl`` extension (pypowsybl <= 1.16.1) goes
|
|
632
|
+
through a JIIDM export restricted to it: ``bake_outer_loops`` and ``init_from_pypowsybl``
|
|
633
|
+
are much faster on large grids with batteries. Same result.
|
|
634
|
+
- [IMPROVED] ``ScenarioSweep.redistribute_slack`` also shares, before each row's powerflow, the
|
|
635
|
+
active imbalance its ``modify_gen_p`` / ``modify_sgen_p`` / ``modify_load_p`` create against
|
|
636
|
+
the grid's own targets.
|
|
637
|
+
- [IMPROVED] ``LSGrid.get_Ybus()``, ``get_dcYbus()`` and ``get_Bf()`` relabel the solver matrix in
|
|
638
|
+
one pass instead of sorting it again: several times faster on large grids.
|
|
639
|
+
- [IMPROVED] The sparse matrices a getter builds (``get_Ybus``, ``get_dcYbus``, ``get_Bf``,
|
|
640
|
+
``get_Bf_solver``, the batch ``get_Ybus(row)`` / ``get_dcYbus(row)``) reach python without a copy.
|
|
641
|
+
|
|
642
|
+
|
|
643
|
+
[1.1.0] 2026-09-21
|
|
644
|
+
--------------------
|
|
645
|
+
- [BREAKING] ``BINARY_FORMAT_VERSION`` 4 -> 10: bus connectivity is no longer serialized (it is
|
|
646
|
+
recounted from the elements), and generators and storage units carry new state. Files written
|
|
647
|
+
by an earlier version no longer load.
|
|
648
|
+
- [BREAKING] a grid where several elements regulate the same bus with different voltage
|
|
649
|
+
setpoints is now refused, instead of silently keeping whichever was written last.
|
|
650
|
+
- [BREAKING] [DEPRECATED] ``LSGrid.deactivate_bus`` / ``reactivate_bus`` are no-ops: a bus is in
|
|
651
|
+
the powerflow iff an active element sits on it. Disconnect its elements instead.
|
|
652
|
+
- [BREAKING] ``LSGrid.get_bus_status()`` returns a new list (a copy) instead of a reference to
|
|
653
|
+
an internal vector.
|
|
654
|
+
- [BREAKING] (C++) everything a solver family caches now lives in one ``SolverSideCache``. This
|
|
655
|
+
changes ``LSGrid``'s layout: plugins using it across modules (*eg* gpusim2grid) must be rebuilt.
|
|
656
|
+
- [FIXED] the fast-decoupled algorithms kept the distributed slack at its initial guess; it is
|
|
657
|
+
re-solved at every iteration now, and FDPF lands on the Newton-Raphson answer.
|
|
658
|
+
- [FIXED] fast-decoupled and Gauss-Seidel solved grids with remote or shared voltage control, or
|
|
659
|
+
voltage-mode SVCs, to a wrong answer. ``ac_pf`` now refuses such a grid for these algorithms.
|
|
660
|
+
- [FIXED] selecting a fast-decoupled algorithm by name (rather than by enum) failed on the first
|
|
661
|
+
powerflow.
|
|
662
|
+
- [FIXED] the active power of generators sharing the distributed slack with storage units (the
|
|
663
|
+
batteries were left out of the participation total).
|
|
664
|
+
- [FIXED] a slack bus held by a voltage-regulating storage unit got a free voltage magnitude.
|
|
665
|
+
- [FIXED] batch ``modify_gen_v`` ignored the setpoint of a remote-regulating generator.
|
|
666
|
+
- [FIXED] hvdc angle droop: the Jacobian now includes the derivative of the dc-line losses. The
|
|
667
|
+
solution was right, but the batch gradients (``solve_JT``) were slightly off.
|
|
668
|
+
- [FIXED] the reactive power published for elements sharing a bus could be NaN (converter
|
|
669
|
+
stations with unbounded limits) or counted twice (stations, generators in a control group).
|
|
670
|
+
- [FIXED] a converged Newton-Raphson now reports angles in [-pi, pi], as fast-decoupled does.
|
|
671
|
+
- [FIXED] a non-converged ``ac_pf`` / ``dc_pf`` no longer resets the algorithm: its last iterate
|
|
672
|
+
stays readable (``max_iter=0`` returned nothing and could crash an external solver).
|
|
673
|
+
- [FIXED] a powerflow that throws part-way no longer leaves the grid claiming its solver cache
|
|
674
|
+
is up to date; the next one rebuilds from scratch.
|
|
675
|
+
- [FIXED] ``LSGrid.unset_changes()`` called with an unsolved modification made the next
|
|
676
|
+
powerflow solve the old grid. It now leaves that cache invalid.
|
|
677
|
+
- [FIXED] ``consider_only_main_component()`` and ``update_topo()`` did not always report buses
|
|
678
|
+
leaving the system, which broke grid2op's ``automatically_disconnect=True``.
|
|
679
|
+
- [FIXED] the per-bus connectivity could drift from the elements: after a refused ``change_bus``,
|
|
680
|
+
for a bus holding only an SVC, for an SVC outside the main component, and in
|
|
681
|
+
``get_bus_status()`` / ``nb_connected_bus()`` before the first powerflow.
|
|
682
|
+
- [FIXED] opening one end of a phase-shifting transformer did not invalidate the DC ``Sbus``.
|
|
683
|
+
- [FIXED] the batch algorithms wrote part of their solver input into the grid's own cache, and
|
|
684
|
+
reset the grid's own solver.
|
|
685
|
+
- [FIXED] the ``ContingencyAnalysisCPP`` binding lacked what the other batch classes gained since
|
|
686
|
+
1.0.0 (``reuse_base_case``, solver stats, ``keep_jacobian`` / ``solve_JT``).
|
|
687
|
+
- [FIXED] ``ContingencyAnalysis`` / ``ScenarioSweep`` with ``handle_disconnected_grid``: a
|
|
688
|
+
contingency stranding a lone remote voltage regulator (*eg* behind a tripped transformer) was
|
|
689
|
+
reported as diverged, in particular with KLU.
|
|
690
|
+
- [FIXED] ``ContingencyAnalysis``: registering a contingency after a computation left stale
|
|
691
|
+
results, and ``get_flows()`` raised.
|
|
692
|
+
- [FIXED] the "n" solve of a ``ScenarioSweep`` with generator contingencies solved its
|
|
693
|
+
switchable buses as PQ.
|
|
694
|
+
- [FIXED] the KLU / NICSLU / CKTSO headers could not be included twice in a translation unit.
|
|
695
|
+
- [FIXED] ``remove_outer_loops`` could switch ``component_mode`` depending on the process's hash
|
|
696
|
+
seed (pypowsybl >= 1.16).
|
|
697
|
+
- [FIXED] ``bake_outer_loops`` follows OpenLoadFlow more closely: voltage controls kept or frozen
|
|
698
|
+
from what the reference solve did, reactive limits (clamping, capability curve extrapolation,
|
|
699
|
+
shared controls) and the default distributed slack (no zero-droop or P-capped units).
|
|
700
|
+
- [ADDED] optional active power limits for generators (``set_gen_p_limits``, ``GenInfo.min_p_mw``
|
|
701
|
+
/ ``max_p_mw``) and storage units (``set_storage_p_limits``), read by every loader that has them.
|
|
702
|
+
- [ADDED] storage units can take part in the distributed slack (``add_storage_slackbus``) and
|
|
703
|
+
regulate the voltage of their bus (``init_storages_full``, ``change_v_storage``), both read from
|
|
704
|
+
pypowsybl as OpenLoadFlow does.
|
|
705
|
+
- [ADDED] a reactive sharing key per generator (``set_gen_reactive_key``), read from pypowsybl's
|
|
706
|
+
``coordinatedReactiveControl``; ``bake_outer_loops(bake_saturated_voltage_control=True)``.
|
|
707
|
+
- [ADDED] ``compute_physical_violations``: detection of the limits the solution cannot physically
|
|
708
|
+
reach (a bus' reactive capability, an hvdc line's max power, a generator or battery pushed past
|
|
709
|
+
its P limits by the slack), on the batch algorithms and their python wrappers.
|
|
710
|
+
- [ADDED] ``ViolationCategory`` on every ``LimitViolation``: OPERATIONAL, PHYSICAL or SOLVER.
|
|
711
|
+
- [ADDED] ``lightsim2grid.differentiable.BatchCPUPowerFlow``: a batch of powerflows as a pytorch
|
|
712
|
+
operation, differentiable with respect to injections and generator voltage setpoints
|
|
713
|
+
(``pip install lightsim2grid[torch]``).
|
|
714
|
+
- [ADDED] ``keep_jacobian`` / ``solve_JT`` on the batch algorithms (the adjoint of a sweep), and
|
|
715
|
+
``solve_transpose`` on the linear solvers.
|
|
716
|
+
- [ADDED] ``ContinuationPowerFlow`` / ``run_cpf`` and ``ContinuationSweepCPP``: a continuation
|
|
717
|
+
powerflow tracing the PV curve up to the voltage-collapse nose, with per-element
|
|
718
|
+
``load_steering`` / ``gen_steering``.
|
|
719
|
+
- [ADDED] ``LightSimBackend(loader_method="matpower")``: a grid2op environment can ship a
|
|
720
|
+
MATPOWER case as its powergrid.
|
|
721
|
+
- [ADDED] ``ScenarioSweep.set_contingency_gens(mask)``: per-step generator contingencies (only for
|
|
722
|
+
generators regulating their own bus for now).
|
|
723
|
+
- [ADDED] ``get_linear_solver_stats()`` / ``get_linear_solver_stats_per_algo()`` on the batch
|
|
724
|
+
classes, and ``set_refactor_fallback`` on every linear solver.
|
|
725
|
+
- [ADDED] the batch algorithms' cache as three levels: ``clear_grid_results()``,
|
|
726
|
+
``clear_batch_inputs()`` and ``clear_batch_outputs()``.
|
|
727
|
+
- [ADDED] ``AlgoControl.nothing_changed()`` and ``LSGrid.tell_bus_counts_maybe_poisoned()``.
|
|
728
|
+
- [ADDED] (C++) ``VoltageControlPlan``, ``BaseAlgo::get_bus_mismatch()`` /
|
|
729
|
+
``fills_bus_mismatch()``, ``NRSystem::mismatch_into()`` and new ``AlgoControl`` flags for the
|
|
730
|
+
pv/pq split and voltage setpoints.
|
|
731
|
+
- [ADDED] ``benchmarks/cache_profiling/`` (instruction-count audit of the cached powerflow and of
|
|
732
|
+
the batch algorithms) and ``benchmarks/make_exotic_grid.cpp``.
|
|
733
|
+
- [ADDED] C++ tests for the fast-decoupled algorithms, the voltage-control plan cache and
|
|
734
|
+
Kirchhoff's law on the published results.
|
|
735
|
+
- [IMPROVED] the batch algorithms keep their base case (and their per-thread algorithms) between
|
|
736
|
+
two ``compute()`` calls (``reuse_base_case``, on by default).
|
|
737
|
+
- [IMPROVED] ``ContingencyAnalysis`` / ``ScenarioSweep`` decide the connectivity of every N-1 with
|
|
738
|
+
a single graph search instead of one per contingency.
|
|
739
|
+
- [IMPROVED] a generator contingency switching a bus PV -> PQ costs no extra symbolic
|
|
740
|
+
factorization (the slot is reserved up front and masked).
|
|
741
|
+
- [IMPROVED] faster batch rows: fewer copies, injections built row by row, cached polar form of
|
|
742
|
+
the starting voltage, ``add_all_n1_contingencies`` in one call.
|
|
743
|
+
- [IMPROVED] faster Newton-Raphson: cheaper Jacobian assembly and sparsity build, fewer
|
|
744
|
+
allocations per iteration, a better initial distributed slack.
|
|
745
|
+
- [IMPROVED] faster fast-decoupled, much faster Gauss-Seidel, and a faster DC matrix build, for
|
|
746
|
+
the same results.
|
|
747
|
+
- [IMPROVED] faster result computation (branch flows, currents, shunts, per-bus mismatch read
|
|
748
|
+
off the algorithm).
|
|
749
|
+
- [IMPROVED] the voltage-control plan is built once per powerflow, and not at all for
|
|
750
|
+
algorithms that do not use it; fewer spurious cache invalidations.
|
|
751
|
+
- [IMPROVED] internal consistency checks on ids produced by the library itself are debug-only;
|
|
752
|
+
every check on a user-supplied id is kept.
|
|
753
|
+
- [IMPROVED] bus connectivity is tracked incrementally with per-bus element counts instead of
|
|
754
|
+
being recomputed on every powerflow.
|
|
755
|
+
- [IMPROVED] ``-march=native`` (``__COMPILE_MARCHNATIVE=1``) also compiles KLU and SuiteSparse.
|
|
756
|
+
- [IMPROVED] every loader tells the ``LSGrid`` which substation each element belongs to;
|
|
757
|
+
a matpower case with ``BASE_KV`` 0 everywhere is read at 1 kV with a warning.
|
|
758
|
+
- [IMPROVED] (C++) the element containers share one interface (``BranchContainer``,
|
|
759
|
+
``BranchEndContainer``, ``VoltageSourceContainer``); ``fillpv_pq`` and ``init_q_vector`` removed.
|
|
760
|
+
|
|
761
|
+
[1.0.0] 2026-08-28
|
|
762
|
+
--------------------
|
|
763
|
+
- [BREAKING] solver cache reuse is automatic and on by default, per solver family: a powerflow
|
|
764
|
+
only re-stamps what changed since the previous one, and ``unset_changes()`` is a no-op. Code
|
|
765
|
+
modifying the C++ containers directly must call ``prevent_cache_reuse()``.
|
|
766
|
+
- [BREAKING] the AC and DC solver families no longer share any solver-side data (slack weights,
|
|
767
|
+
pv / pq split), see ``get_ac_pv_solver`` / ``get_dc_pv_solver`` and friends.
|
|
768
|
+
- [BREAKING] ``LightSimBackend``'s private ``_last_dc`` workaround is removed (no longer needed).
|
|
769
|
+
- [BREAKING] ``ContingencyAnalysisCPP.compute()`` raises if the "n" powerflow does not converge,
|
|
770
|
+
instead of returning all-zero voltages.
|
|
771
|
+
- [BREAKING] ``TimeSeriesCPP.nb_thread`` > 1 raises (its steps are chained): use
|
|
772
|
+
``InjectionSweepCPP`` instead.
|
|
773
|
+
- [BREAKING] ``BINARY_FORMAT_VERSION`` 1 -> 4 (the solver is stored by name), and pickles of a
|
|
774
|
+
previous version cannot be loaded (new storage and hvdc containers).
|
|
775
|
+
- [BREAKING] solver names must match ``[A-Za-z_][A-Za-z0-9_.]{0,63}``.
|
|
776
|
+
- [BREAKING] ``load_algorithm_plugin()`` raises ``RuntimeError`` (was ``OSError``) and refuses a
|
|
777
|
+
solver name already registered.
|
|
778
|
+
- [BREAKING] drop python 3.8 support.
|
|
779
|
+
- [BREAKING] ``lightsim2grid.SolverType`` is no longer exported at the top level: use
|
|
780
|
+
``lightsim2grid.solver.SolverType`` (pending deprecation) or ``AlgorithmType``.
|
|
781
|
+
- [BREAKING] the Newton-Raphson Jacobian rows / columns no longer follow the pandapower ordering
|
|
782
|
+
(see ``get_theta_to_J_col()`` and friends).
|
|
783
|
+
- [BREAKING] ``get_timers_jacobian()`` returns 13 elements (prefer the named ``TimerJac``);
|
|
784
|
+
``LSGrid.get_solver_control()`` is removed (use ``get_ac_algo_controler()`` /
|
|
785
|
+
``get_dc_algo_controler()``).
|
|
786
|
+
- [BREAKING] (C++ / plugins) plugins register through ``LS2G_PLUGIN_ENTRY`` instead of a static
|
|
787
|
+
registrar; ``set_gridmodel`` is now ``set_lsgrid``; ``compute_pf`` takes ``Eigen::Ref`` inputs;
|
|
788
|
+
the linear solvers have ``analyze`` / ``factorize`` / ``refactorize`` and are wrapped in
|
|
789
|
+
``LinearSolverPolicy``.
|
|
790
|
+
- [BREAKING] (C++) the batch algorithms are one template, ``BaseBatchSweep`` in
|
|
791
|
+
``batch_algorithm/BaseBatchSweep.hpp``: update the includes (python is unchanged).
|
|
792
|
+
- [DEPRECATED] ``LightSimBackend``'s ``solver_type`` / ``set_solver_type``, in favour of
|
|
793
|
+
``algo_type`` / ``set_algo_type``.
|
|
794
|
+
- [DEPRECATION PENDING] "solver" is renamed "algorithm" (``lightsim2grid.algorithm``,
|
|
795
|
+
``NR_KLU`` instead of ``KLU``, ``available_algorithms()``, ``algo_controler``), ``GridModel``
|
|
796
|
+
is renamed ``LSGrid`` (``lightsim2grid.network``) and ``DCLineContainer`` is renamed
|
|
797
|
+
``HvdcLineContainer``. The old names still work.
|
|
798
|
+
- [FIXED] the batch algorithms passed slack bus ids in the wrong numbering to the solver, which
|
|
799
|
+
could make the "n" powerflow diverge (or crash) on grids with disconnected buses.
|
|
800
|
+
- [FIXED] the batch algorithms ignored the algorithm and ``AlgoConfig`` of the grid they were
|
|
801
|
+
built from, and could not use a plugin or a name-only solver.
|
|
802
|
+
- [FIXED] the "n" powerflow of the batch algorithms used a tolerance ``sn_mva`` times too loose.
|
|
803
|
+
- [FIXED] ``TimeSeriesCPP`` dropped part of the injections (storage units, SVCs in reactive
|
|
804
|
+
mode, non-regulating generators' Q, static generators' Q, DC phase shifters).
|
|
805
|
+
- [FIXED] the batch algorithms silently ignored remote voltage control and the free voltage of
|
|
806
|
+
distributed-slack participants.
|
|
807
|
+
- [FIXED] the batch algorithms reported NaN or wrong flows for half-open lines, and ``get_lodf()``
|
|
808
|
+
could crash on them.
|
|
809
|
+
- [FIXED] ``InjectionSweepCPP`` and ``ScenarioSweepCPP`` abandoned every row after the first one
|
|
810
|
+
that failed; ``ScenarioSweep.run()`` raised instead of reporting it.
|
|
811
|
+
- [FIXED] ``ScenarioSweepCPP`` flows computed after a ``modify_*`` without a new ``compute()``
|
|
812
|
+
mixed new inputs with stale voltages; they now raise.
|
|
813
|
+
- [FIXED] ``LSGrid.unset_changes()`` could make the next powerflow segfault, and ``set_sn_mva()``
|
|
814
|
+
did not invalidate the cached solver input.
|
|
815
|
+
- [FIXED] ``dc_pf()`` returned the voltage magnitudes of a previous call.
|
|
816
|
+
- [FIXED] a diverging powerflow left the algorithm's state in place for the next call.
|
|
817
|
+
- [FIXED] a generator could not remotely regulate a bus another generator regulates locally
|
|
818
|
+
(the two now form a control group, hvdc converter stations included).
|
|
819
|
+
- [FIXED] ``KLULinearSolver`` never called ``klu_defaults()``: KLU ran without pivoting safety,
|
|
820
|
+
scaling nor singularity detection, and ``NR_KLU`` could diverge where ``NR_SparseLU`` converged.
|
|
821
|
+
- [FIXED] ``init_from_pypowsybl``: tap-changer r / x / g / b corrections were ignored (wrong flows
|
|
822
|
+
through phase shifters), batteries had the wrong sign, a cross-border hvdc line was dropped
|
|
823
|
+
entirely by ``consider_only_main_component``, and it crashed on an inverted reactive capability
|
|
824
|
+
point or a remote regulation target that is disconnected.
|
|
825
|
+
- [FIXED] ``LightsimResultNetwork`` reported 0 voltage and flow for buses and branches fused by
|
|
826
|
+
``fuse_zero_impedance_branches``.
|
|
827
|
+
- [FIXED] out-of-bounds reads and writes (crash or memory corruption) on out-of-range ids or
|
|
828
|
+
mis-shaped arrays in the python-exposed methods, now ``IndexError`` / ``RuntimeError``.
|
|
829
|
+
- [FIXED] loading a crafted pickle or binary file could corrupt memory (unchecked sizes of
|
|
830
|
+
substations, trafo tables, statuses, mappings...); ``sn_mva``, ``init_vm_pu`` and nominal
|
|
831
|
+
voltages must be finite and positive; overflow and division by zero in the bus count.
|
|
832
|
+
- [FIXED] pickling or ``save_binary`` a grid with an ``_ls_to_orig`` mapping failed to restore,
|
|
833
|
+
and the ``AlgoConfig`` was not saved.
|
|
834
|
+
- [FIXED] a grid using a plugin solver could not be saved, loaded or copied.
|
|
835
|
+
- [FIXED] ``load_algorithm_plugin()`` could abort the interpreter; registration is now atomic
|
|
836
|
+
and raises a python exception on failure.
|
|
837
|
+
- [FIXED] built-in ``NRRefactorRetry_*`` solvers paid for the output check meant for plugins.
|
|
838
|
+
- [FIXED] ``LSGrid.id_me_to_ac_solver()`` returned the reverse mapping, and ``set_orig_to_ls``
|
|
839
|
+
did not build a true inverse.
|
|
840
|
+
- [FIXED] ``ContingencyAnalysisCPP.is_grid_connected_after_contingency()`` could segfault.
|
|
841
|
+
- [FIXED] ``init_bus`` never checked that the buses of a substation share a nominal voltage.
|
|
842
|
+
- [FIXED] ``get_substations()`` crashed on grids without substation names.
|
|
843
|
+
- [FIXED] ``LightSimBackend.set_algo_type`` accepts a solver name, and it survives
|
|
844
|
+
``env.reset()`` / ``backend.copy()``.
|
|
845
|
+
- [FIXED] a ``__COMPILE_MARCHNATIVE=1`` build corrupted the heap (Eigen alignment mismatch
|
|
846
|
+
between the core and the bindings); ``compilation_options`` misreported the flags.
|
|
847
|
+
- [FIXED] ``PhysicalLawChecker`` failed on recent grid2op versions.
|
|
848
|
+
- [FIXED] ``import lightsim2grid`` printed a deprecation warning.
|
|
849
|
+
- [FIXED] ``ContingencyAnalysis`` and ``TimeSerie`` had no API documentation.
|
|
850
|
+
- [FIXED] the documentation: wrong or deprecated API in examples, stale statements, broken
|
|
851
|
+
links, Sphinx warnings; plugins built from source missed ``-O3``.
|
|
852
|
+
- [FIXED] build and CI: consistent C++ standard detection, compiler warnings, old gcc job.
|
|
853
|
+
- [ADDED] ``InjectionSweepCPP`` / ``InjectionSweep``: like ``TimeSeriesCPP`` but every row starts
|
|
854
|
+
from the same voltage, so rows are independent and can run on several threads.
|
|
855
|
+
- [ADDED] ``ScenarioSweepCPP`` / ``ScenarioSweep``: both the injections and a line / trafo
|
|
856
|
+
contingency vary per row.
|
|
857
|
+
- [ADDED] a setter-based API on the batch algorithms (``modify_gen_p``, ``modify_load_p``,
|
|
858
|
+
``modify_gen_v``, ... then ``compute()``); an unset axis keeps the grid's own value.
|
|
859
|
+
- [ADDED] multi-threaded batches (``nb_thread``), ``nb_converged()``, string-based
|
|
860
|
+
``change_algorithm`` and ``get_algo_config`` / ``set_algo_config`` on the batch algorithms.
|
|
861
|
+
- [ADDED] ``handle_disconnected_grid`` for ``ContingencyAnalysis``: a contingency splitting the
|
|
862
|
+
grid solves its main component, without any extra symbolic factorization (AC and DC).
|
|
863
|
+
- [ADDED] limit violations: ``violation_threshold``, ``LimitViolation.name``, and ``GRID`` /
|
|
864
|
+
``NOT_SIMULATED`` / ``DIVERGENCE`` entries for contingencies that did not converge.
|
|
865
|
+
- [ADDED] HVDC lines in the AC and DC powerflow, with VSC / LCC converter stations and angle
|
|
866
|
+
droop, read from pypowsybl.
|
|
867
|
+
- [ADDED] static var compensators (``SvcContainer``), and remote voltage control for generators
|
|
868
|
+
and SVCs, read from pypowsybl.
|
|
869
|
+
- [ADDED] a dedicated ``StorageContainer``, and ``get_storages()`` / ``get_dclines()`` /
|
|
870
|
+
``get_svcs()`` / ``get_voltage_levels()``.
|
|
871
|
+
- [ADDED] ``init_from_powermodels`` and ``init_from_pf_delta`` loaders.
|
|
872
|
+
- [ADDED] ``init_from_pypowsybl``: voltage and thermal limits, and
|
|
873
|
+
``fuse_zero_impedance_branches`` (as OpenLoadFlow's low impedance branch mode).
|
|
874
|
+
- [ADDED] ``LightsimResultNetwork``: a solved grid seen as a pypowsybl ``Network``.
|
|
875
|
+
- [ADDED] ``bake_outer_loops``, ``get_pypowsybl_loopfree_parameters`` and ``compare_baked``, to
|
|
876
|
+
compare lightsim2grid against OpenLoadFlow on identical inputs.
|
|
877
|
+
- [ADDED] ``LSGrid.save_binary`` / ``load_binary``: a fast binary format, validated on load
|
|
878
|
+
(atomic write, versioned format), and ``load_binary_without_algorithm``.
|
|
879
|
+
- [ADDED] ``LSGrid.check_grid()``, run automatically by every loader and on unpickling.
|
|
880
|
+
- [ADDED] ``allow_cache_reuse`` / ``prevent_cache_reuse`` (and their AC / DC variants).
|
|
881
|
+
- [ADDED] ``AlgorithmRegistry``: external solvers loaded as plugins, with an ABI check.
|
|
882
|
+
- [ADDED] ``RefactorRetryLinearSolver`` (``NRRefactorRetry_KLU`` / ``_NICSLU`` / ``_CKTSO``)
|
|
883
|
+
and ``LinearSolverStats``.
|
|
884
|
+
- [ADDED] ``get_theta_to_J_col()`` / ``get_vm_to_J_col()`` / ``get_q_to_J_col()`` to read the
|
|
885
|
+
Jacobian layout.
|
|
886
|
+
- [ADDED] ``LightSimBackend.set_ac_algo_config`` / ``set_dc_algo_config``, kept across
|
|
887
|
+
``reset()`` and ``copy()``.
|
|
888
|
+
- [ADDED] the ``lightsim2grid_core`` C++ library and its headers ship with the package
|
|
889
|
+
(``docs/cpp_library.rst``).
|
|
890
|
+
- [ADDED] a C++ test suite (Catch2), sanitizer and C++14 / C++26 CI jobs, and a "Security"
|
|
891
|
+
documentation page.
|
|
892
|
+
- [IMPROVED] the Newton-Raphson Jacobian is built from a central ``NRLedger``, which is what
|
|
893
|
+
allows the hvdc and voltage control extensions.
|
|
894
|
+
- [IMPROVED] faster DC algorithms, especially in the batch algorithms; DC is fully separate
|
|
895
|
+
from AC.
|
|
896
|
+
- [IMPROVED] input validation of ``ac_pf`` / ``dc_pf`` and of the python-facing solvers.
|
|
897
|
+
- [IMPROVED] the linear solvers manage their memory with RAII.
|
|
898
|
+
- [IMPROVED] solver enum names match the solver names (*eg* ``AlgorithmType.NR_KLU``).
|
|
899
|
+
- [IMPROVED] the benchmarks generate the comments of their documentation pages.
|
|
900
|
+
- [IMPROVED] documentation of the bus labelling conventions, loaders, PTDF / LODF, OpenLoadFlow
|
|
901
|
+
outer loops and algorithm tuning.
|
|
902
|
+
|
|
903
|
+
[0.13.1] 2026-04-21
|
|
904
|
+
--------------------
|
|
905
|
+
- [BREAKING] when loading a powergrid from pypowsybl with "use_buses_for_sub" tagged
|
|
906
|
+
and disconnected element on the grid will now raise a RuntimeError. Before there were
|
|
907
|
+
some "automatic" bahaviour to try to find a possible bus which could lead to
|
|
908
|
+
error afterwards.
|
|
909
|
+
- [BREAKING] adding a more precise information about linear solvers. The "refactor" timings
|
|
910
|
+
are now also available in solver.get_timers_jacobian() which now returns a tuple of size 10
|
|
911
|
+
- [FIXED] an issue where disconnected powerlines could be tagged as "fakely connected"
|
|
912
|
+
- [FIXED] some issues when loading a grid from pypowsybl in case of disconnected elements.
|
|
913
|
+
- [FIXED] remove the undefined behaviour while maintaining compile time check to prevent
|
|
914
|
+
wrong conversion from different bus labelling.
|
|
915
|
+
- [IMPROVED] the CI to allow automatic push on pypi on new version tag (introduced in version 0.12.0)
|
|
916
|
+
- [IMPROVED] reduce code duplication between ContingencyAnalysis and TimeSerie (cpp side)
|
|
917
|
+
- [IMPROVED] handling of branches disconnected at only one side: less code duplication and
|
|
918
|
+
it should be working with TimeSeries and ContingencyAnalysis
|
|
919
|
+
- [IMPROVED] speed (DC mode): avoid the systematic call to "refactor" when Ybus is not changed
|
|
920
|
+
when using DC approximation.
|
|
921
|
+
- [IMPROVED] simplify the future integration of other linear solvers and the logic when linear_solvers
|
|
922
|
+
are called by decoupling "refactor" steps from "solve" steps (they used to be all under the same
|
|
923
|
+
"solve" method).
|
|
924
|
+
- [IMPROVED] added "final" and "override" key-words on some methods in src/element_container
|
|
925
|
+
|
|
926
|
+
[0.13.0] 2026-04-15
|
|
927
|
+
--------------------
|
|
928
|
+
- [PENDING DEPRECATION] the cpp module (lightsim2grid_cpp) will not be usable directly anymore.
|
|
929
|
+
This means that calls like "from lightsim2grid_cpp import XXX" will not work. To replace them
|
|
930
|
+
you need to perform "from lightsim2grid.lightsim2grid_cpp import XXX"
|
|
931
|
+
- [FIXED] some compilation issues on some systems (*eg* windows when using c++23 standard)
|
|
932
|
+
- [FIXED] some issues with "copy on write" and pandas 3 when init from pandapower grid.
|
|
933
|
+
- [IMPROVED] cleaner `cktso_lib` (`from lightsim2grid.compilation_options import cktso_lib`) : the file name and extension are omitted
|
|
934
|
+
- [IMPROVED] easier build by relying on cmake and scikit_build_core to build the cpp part
|
|
935
|
+
- [IMPROVED] SuiteSparse to version 7.12.2 (2026-02-05)
|
|
936
|
+
|
|
937
|
+
[0.12.2] 2026-02-05
|
|
938
|
+
----------------------
|
|
939
|
+
- [FIXED] an issue with shunt buses (was set to 1 even if they were disconnected)
|
|
940
|
+
- [FIXED] a warning when applying actions on generator voltage setpoints (due to NaN)
|
|
941
|
+
- [FIXED] pandapower grid could be modified when importing a grid from pandapower.
|
|
942
|
+
- [IMPROVED] add a test to make sure generator types are available if using
|
|
943
|
+
`dist_slack_non_renew` information.
|
|
944
|
+
- [IMPROVED] test coverage on shunts (a test needed to be skipped due to float comparison in grid2op)
|
|
945
|
+
|
|
946
|
+
[0.12.1] 2026-01-09
|
|
947
|
+
---------------------
|
|
948
|
+
- [FIXED] phase shift transformers are now properly modeled
|
|
949
|
+
for both pandapower (new in this version) and pypowsybl (already
|
|
950
|
+
the case in previous version)
|
|
951
|
+
- [FIXED] a performance issue for all "XXXSingleSlack" (*eg* KLUSingleSlack) algorithm (filling of the initial
|
|
952
|
+
Jacobian matrix was extremly slow due to the massive 'insert' of data in the eigen sparse matrix instead
|
|
953
|
+
of relying on the "setFromTriplets" method)
|
|
954
|
+
- [FIXED] an normal "exception" was not catched in the `close()` method of LightSimBackend in case the
|
|
955
|
+
backend was closed before any grid was loaded.
|
|
956
|
+
- [ADDED] possibility to pickle independantly all part of the grid (*eg* gridmodel.get_lines()
|
|
957
|
+
can be pickled independantly from anything else) **NB** pickling and un-pickling
|
|
958
|
+
lightsim2grid objects can only be used for the same lightsim2grid version.
|
|
959
|
+
- [ADDED] the `init_from_n_powerflow` property for ContingencyAnalysis (and
|
|
960
|
+
ContingencyAnalysisCPP). It allows to chose if the computation of the contingencies
|
|
961
|
+
are initialized with the complex voltages resulting of the powerflow in N
|
|
962
|
+
(`init_from_n_powerflow=True`) or if they are initialized from the
|
|
963
|
+
given input vector (`init_from_n_powerflow=False`). Defaults to `False`
|
|
964
|
+
|
|
965
|
+
[0.12.0] 2026-01-06
|
|
966
|
+
--------------------
|
|
967
|
+
- [BREAKING] for better consistency, and following pypowsybl convention, trafo and lines "side"
|
|
968
|
+
are now called "1" and "2" instead of "hv" / "lv" (for trafo) or "or" / "ex" for powerlines.
|
|
969
|
+
For example, what used to be accessible with `gridmodel.change_bus_powerline_or(...)` is now called
|
|
970
|
+
`gridmodel.change_bus1_powerline()`. This affects powerlines, transformers and dc powerlines but also
|
|
971
|
+
"LineInfo", "TrafoInfo" and "DCPowerlineInfo". See below for a (should-be exhaustive) list of changes.
|
|
972
|
+
- [BREAKING] the `init_pp_backend` public attribute is now private (called now `_init_pp_backend`) and
|
|
973
|
+
optional, meaning it's `None` when the grid is initialized from pypowsybl (for example).
|
|
974
|
+
- [FIXED] some issues with the "load_grid_from_pypowsybl" function (and making sure the graph of the structure
|
|
975
|
+
of the lightsim2grid gridmodel matches the one of the pypowsybl grid).
|
|
976
|
+
- [FIXED] an issue with the handling of the slack due to a not correct implementation
|
|
977
|
+
of `update_slack_weights_by_id` cpp side (previous slacks were not removed, slacks get_slack_weights
|
|
978
|
+
were prop to target_p which caused issues when all slacks had targetp==0.)
|
|
979
|
+
- [FIXED] an issue with serialization / de serialization caused by an error in serializing the solver types.
|
|
980
|
+
- [ADDED] in all "xxxInfo" (*eg* "LoadInfo") information about subtation and position in the topology
|
|
981
|
+
vector, with the `sub_id` / `pos_topo_vect` (for `LoadInfo`, `SGenInfo`, `GenInfo`, `StorageInfo`, `ShuntInfo`)
|
|
982
|
+
and `sub1_id` / `sub2_id` / `pos1_topo_vect` / `pos2_topo_vect` (for `LineInfo`, `TrafoInfo` and `DCLineInfo`)
|
|
983
|
+
- [ADDED] possibility to load the pypowsybl grid with extra key-words arguments (by using `pypowsybl_load_kwargs` in the
|
|
984
|
+
`loader_kwargs` of LightSimBackend)
|
|
985
|
+
- [ADDED] possibility to initialize LightSimBackend with an already loaded grid (by using the `grid` key of the
|
|
986
|
+
`loader_kwargs` of LightSimBackend when loading it with pypowsybl)
|
|
987
|
+
- [ADDED] possibility to change the ratio (`rho`) of transformers (`gridmodel.change_ratio_trafo(trafo_id, new_rho)`)
|
|
988
|
+
- [ADDED] possibility to change the phase shift (`alpha`) of transformers (`gridmodel.change_shift_trafo(trafo_id, new_alpha)`)
|
|
989
|
+
- [ADDED] more consistency checkings to avoid "negative buses" cpp side.
|
|
990
|
+
- [ADDED] information about the coefficients assigned on the Ybus matrix for `LineInfo` and `TrafoInfo`: `yac_11`, `yac_12`,
|
|
991
|
+
`yac_21`, `yac_22`, `ydc_11`, `ydc_12`, `ydc_21`, and `ydc_22`
|
|
992
|
+
- [ADDED] possibility to have a powerline / transformer connected on only one side (for DC and Newton-Raphson algorithm, not implemented
|
|
993
|
+
for fast-decoupled yet). This means that powerlines / transformers have 3 statuses: one for each side and one "global".
|
|
994
|
+
- [ADDED] possibility to choose the way lightsim2grid will internally treat the powerlines status:
|
|
995
|
+
|
|
996
|
+
- `ignore_status_global` (`gridmodel.set_ignore_status_global(True)` or `gridmodel.set_ignore_status_global(False)`). If set
|
|
997
|
+
to `False` (default) the the "global" status is synch with all the others. For example you can deactivate both sides of a line by
|
|
998
|
+
deactivating `status_global` and conversely if you deactivate both side of a given line, then its "status_global" is set
|
|
999
|
+
to "activated". If `ignore_status_global` is set to `True` then `global_status` is not updated at all and ignored (*NB* in
|
|
1000
|
+
this case, calling `gridmodel.deactivate_line(...)` will deactivate both sides but not the "global status")
|
|
1001
|
+
- `synch_status_both_side` (`self.model.set_synch_status_both_side(XXX)`). If set to `True` (default) then the status of each
|
|
1002
|
+
side of any given line will be synched. Meaning that if an action disconnects one side, it will also disconnect the "status_global"
|
|
1003
|
+
and the other side (*NB* in this case if the same actions both connects one side and disconnect another, then the outcome is "undefined").
|
|
1004
|
+
If `synch_status_both_side` is `False` then each side of the powerline is independant from the other (which can lead to powerline /
|
|
1005
|
+
transformer being connected at only one side).
|
|
1006
|
+
- The complete bahviour is tested in `tests/test_line_disco_one_side.py`. Feel free to have a look if you need more information.
|
|
1007
|
+
|
|
1008
|
+
- [IMPROVED] Eigen to version 5.0.1 (2025/11/11)
|
|
1009
|
+
- [IMPROVED] rename all ".h" file to ".hpp" for cpp headers (cpp side).
|
|
1010
|
+
- [IMPROVED] consistency of "bus labelling" cpp side (implement compile time check to prevent accidental conversion from
|
|
1011
|
+
`LocalBusId`, `GlobalBusId` / `GridModelBusId` and / or `SolverBusId`)
|
|
1012
|
+
|
|
1013
|
+
Table to upgrade the names:
|
|
1014
|
+
|
|
1015
|
+
============================= ======================= =======================
|
|
1016
|
+
Class Name Old Attribute Name New Attribute Name
|
|
1017
|
+
============================= ======================= =======================
|
|
1018
|
+
TrafoContainer get_bus_from get_bus_id_side_1
|
|
1019
|
+
TrafoContainer get_bus_to get_bus_id_side_2
|
|
1020
|
+
TrafoInfo bus_hv_id bus1_id
|
|
1021
|
+
TrafoInfo bus_lv_id bus2_id
|
|
1022
|
+
TrafoInfo connected connected_global
|
|
1023
|
+
TrafoInfo h_pu h1_pu or h2_pu
|
|
1024
|
+
TrafoInfo is_tap_hv_side is_tap_side_1
|
|
1025
|
+
TrafoInfo res_p_hv_mw res_p1_mw
|
|
1026
|
+
TrafoInfo res_q_hv_mvar res_q1_mvar
|
|
1027
|
+
TrafoInfo res_v_hv_kv res_v1_kv
|
|
1028
|
+
TrafoInfo res_a_hv_ka res_a1_ka
|
|
1029
|
+
TrafoInfo res_p_lv_mw res_p2_mw
|
|
1030
|
+
TrafoInfo res_q_lv_mvar res_q2_mvar
|
|
1031
|
+
TrafoInfo res_v_lv_kv res_v2_kv
|
|
1032
|
+
TrafoInfo res_a_lv_ka res_a2_ka
|
|
1033
|
+
TrafoInfo res_theta_hv_deg res_theta1_deg
|
|
1034
|
+
TrafoInfo res_theta_lv_deg res_theta2_deg
|
|
1035
|
+
LineContainer get_bus_from get_bus_id_side_1
|
|
1036
|
+
LineContainer get_bus_to get_bus_id_side_2
|
|
1037
|
+
LineInfo connected connected_global
|
|
1038
|
+
LineInfo bus_or_id bus1_id
|
|
1039
|
+
LineInfo bus_ex_id bus2_id
|
|
1040
|
+
LineInfo h_pu removed
|
|
1041
|
+
LineInfo h_or_pu h1_pu
|
|
1042
|
+
LineInfo h_ex_pu h2_pu
|
|
1043
|
+
LineInfo res_p_or_mw res_p1_mw
|
|
1044
|
+
LineInfo res_q_or_mvar res_q1_mvar
|
|
1045
|
+
LineInfo res_v_or_kv res_v1_kv
|
|
1046
|
+
LineInfo res_a_or_ka res_a1_ka
|
|
1047
|
+
LineInfo res_p_ex_mw res_p2_mw
|
|
1048
|
+
LineInfo res_q_ex_mvar res_q2_mvar
|
|
1049
|
+
LineInfo res_v_ex_kv res_v2_kv
|
|
1050
|
+
LineInfo res_a_ex_ka res_a2_ka
|
|
1051
|
+
LineInfo res_theta_or_deg res_theta1_deg
|
|
1052
|
+
LineInfo res_theta_ex_deg res_theta2_deg
|
|
1053
|
+
DCLineContainer get_bus_from get_bus_id_side_1
|
|
1054
|
+
DCLineContainer get_bus_to get_bus_id_side_2
|
|
1055
|
+
DCLineInfo connected connected_global
|
|
1056
|
+
DCLineInfo bus_or_id bus1_id
|
|
1057
|
+
DCLineInfo bus_ex_id bus2_id
|
|
1058
|
+
DCLineInfo target_vm_or_pu target_vm1_pu
|
|
1059
|
+
DCLineInfo target_vm_ex_pu target_vm2_pu
|
|
1060
|
+
DCLineInfo gen_or gen1
|
|
1061
|
+
DCLineInfo gen_ex gen2
|
|
1062
|
+
DCLineInfo res_p_or_mw res_p1_mw
|
|
1063
|
+
DCLineInfo res_q_or_mvar res_q1_mvar
|
|
1064
|
+
DCLineInfo res_v_or_kv res_v1_kv
|
|
1065
|
+
DCLineInfo res_p_ex_mw res_p2_mw
|
|
1066
|
+
DCLineInfo res_q_ex_mvar res_q2_mvar
|
|
1067
|
+
DCLineInfo res_v_ex_kv res_v2_kv
|
|
1068
|
+
DCLineInfo res_theta_or_deg res_theta1_deg
|
|
1069
|
+
DCLineInfo res_theta_ex_deg res_theta2_deg
|
|
1070
|
+
============================= ======================= =======================
|
|
1071
|
+
|
|
1072
|
+
|
|
1073
|
+
[0.11.0] 2025-12-09
|
|
1074
|
+
----------------------
|
|
1075
|
+
- [DEPRECATED] python 3.7 builds will no longer be available
|
|
1076
|
+
- [FIXED] a bug in the import of the grid from pypowsybl
|
|
1077
|
+
- [FIXED] a bug with phase shifters in case the tap was on the low voltage side
|
|
1078
|
+
- [FIXED] a bug with active shunt values (wrong sign in the cpp part) and wrong Ybus diagonal coeff
|
|
1079
|
+
- [FIXED] a bug in DC computation with shunt active values (wrong sign)
|
|
1080
|
+
- [FIXED] a bug in DC computation with some phase shifters (when tap was not tagged on correct side)
|
|
1081
|
+
- [FIXED] a bug in FDPF when phase tap changer was not on high voltage side
|
|
1082
|
+
- [FIXED] a lots of bug in the conversion of pypowsybl grid when using
|
|
1083
|
+
"old" pypowysbl versions.
|
|
1084
|
+
- [ADDED] compatibility with python 3.14 and python 3.14 build
|
|
1085
|
+
- [ADDED] compatibility with pandapower >= 3 version when loading a grid
|
|
1086
|
+
(pandapower changed the way it initilizes the transformers model parameters)
|
|
1087
|
+
- [ADDED] more kwargs arguments are possible in the LightSimBackend `loader_kwargs`
|
|
1088
|
+
- [ADDED] name of the substations are now read from the grid when initializing from
|
|
1089
|
+
pypowsybl.
|
|
1090
|
+
- [ADDED] support for multiple slack when reading a grid from pypowsybl.
|
|
1091
|
+
- [IMPROVED] the way to initialize the transformers from pypowsybl
|
|
1092
|
+
- [IMPROVED] possibility to load grid with phase shifters from pypowsybl
|
|
1093
|
+
- [IMPROVED] function to initialize the grid from pypowsybl has now a
|
|
1094
|
+
basic documentation.
|
|
1095
|
+
|
|
1096
|
+
[0.10.3] 2025-04-28
|
|
1097
|
+
----------------------
|
|
1098
|
+
- [FIXED] remove deprecated use of numpy<2 function in LightSimBackend
|
|
1099
|
+
- [FIXED] the "copy.deepcopy" of a lightsim2grid backend does not crash anymore
|
|
1100
|
+
(see issues #36 and #97)
|
|
1101
|
+
- [FIXED] an issue that could lead to a "segfault" if the "runpf" method of
|
|
1102
|
+
`LightSimBackend` was called first with is_dc=True and then with is_dc=False
|
|
1103
|
+
- [IMPROVED] compat with grid2op 1.11.0
|
|
1104
|
+
- [IMPROVED] now test proper compilation on clang 20 (was limited to clang 18 before)
|
|
1105
|
+
|
|
1106
|
+
[0.10.2] 2025-03-07
|
|
1107
|
+
----------------------
|
|
1108
|
+
- [FIXED] an error when changing of bus one of the slack (did not trigger the
|
|
1109
|
+
recompute of pv bus ids)
|
|
1110
|
+
- [FIXED] an issue when turning off a generator: it was still declared as "slack"
|
|
1111
|
+
if it was one.
|
|
1112
|
+
- [FIXED] could not disconnect a generator when it was a slack bus
|
|
1113
|
+
- [FIXED] voltage was -1 instead of 0 for disconnected elements (load, generator, storage units etc.)
|
|
1114
|
+
- [ADDED] an option in `LightSimBackend` automatically disconnect load and generators
|
|
1115
|
+
if they are not in the main connected component.
|
|
1116
|
+
- [IMPROVED] refactoring of the c++ side container element to reduce
|
|
1117
|
+
code (for "one end" elements such as loads, generators, static generators and shunts)
|
|
1118
|
+
|
|
1119
|
+
[0.10.1.post1] 2025-02-xx
|
|
1120
|
+
----------------------------
|
|
1121
|
+
- [FIXED] compatibility issue with pypowsybl 1.10.0 version
|
|
1122
|
+
("rho" attribute is now computed directly by pypowsybl in the trafo dataframe).
|
|
1123
|
+
|
|
1124
|
+
[0.10.1] 2025-01-04
|
|
1125
|
+
----------------------------
|
|
1126
|
+
- [FIXED] some timings on the benchmarks were not measured at the right time
|
|
1127
|
+
- [ADDED] more benchmarks especially for DC powerflow
|
|
1128
|
+
- [ADDED] a `dcpf` function that can replace the pandapower `dcpf` interal function
|
|
1129
|
+
- [IMPROVED] benchmark on the documentation
|
|
1130
|
+
(clarity of what is done)
|
|
1131
|
+
- [IMPROVED] consistency of the names and measured times accross the different benchmarks
|
|
1132
|
+
|
|
1133
|
+
[0.10.0] 2024-12-17
|
|
1134
|
+
-------------------
|
|
1135
|
+
- [BREAKING] disconnected storage now raises errors if some power is produced / absorbed, when using legacy grid2op version,
|
|
1136
|
+
you can retrieve the previous behaviour by initializing the `LightSimBackend` with
|
|
1137
|
+
`backend = LightSimBackend(..., stop_if_storage_disco=False)`
|
|
1138
|
+
- [BREAKING] with the new `detachment_is_allowed` feature in grid2op, the kwargs `stop_if_load_disco`,
|
|
1139
|
+
`stop_if_gen_disco` (and `stop_if_storage_disco`) are now optional. They are set up from the
|
|
1140
|
+
call to `grid2op.make(...)` and are erased by the `allow_detachment` kwargs. In other words,
|
|
1141
|
+
you don't need to set `stop_if_load_disco`, `stop_if_gen_disco` or `stop_if_storage_disco`. It is
|
|
1142
|
+
automatically set by `grid2op.make(..., allow_detachment=XXX)` to have the correct bahaviour.
|
|
1143
|
+
- [FIXED] an issue with the storage units (when asking it to produce / consume
|
|
1144
|
+
but deactivating them with the same action the grid did not diverge)
|
|
1145
|
+
- [IMPROVED] add the grid2op "detachement" support (loads and generators are allowed
|
|
1146
|
+
to be disconnected from the grid)
|
|
1147
|
+
- [ADDED] a kwargs `stop_if_storage_disco` to control (in legacy grid2op version) the behaviour
|
|
1148
|
+
of the backend when a storage unit is disconnected.
|
|
1149
|
+
|
|
1150
|
+
[0.9.2.post2] 2024-11-29
|
|
1151
|
+
--------------------------
|
|
1152
|
+
- [FIXED] The attribute `can_output_theta` (of base `Backend` class)
|
|
1153
|
+
was not set to `True` if using the pypowsybl loader.
|
|
1154
|
+
- [FIXED] the github CI to work properly on many linux buit image
|
|
1155
|
+
- [IMPROVED] build on python 3.13
|
|
1156
|
+
|
|
1157
|
+
[0.9.2.post1] 2024-11-28
|
|
1158
|
+
--------------------------
|
|
1159
|
+
- [FIXED] There is still a bug with the pypowsybl 1.8.1 version with the
|
|
1160
|
+
tap changer ratio (unconsistency between what needs to be done and the
|
|
1161
|
+
actual documentation). The fix is to set the const variable `PP_BUG_RATIO_TAP_CHANGER`
|
|
1162
|
+
to be at least 1.9.0, otherwise results are wrong.
|
|
1163
|
+
|
|
1164
|
+
[0.9.2] 2024-10-18
|
|
1165
|
+
--------------------------
|
|
1166
|
+
- [ADDED] support loading a grid when everything is NOT on the same bus
|
|
1167
|
+
(`topo_vect` used to be wrong in this case). This is especially usefull
|
|
1168
|
+
for grid loaded with `pypowsybl`
|
|
1169
|
+
- [ADDED] a file benchmarking the timings for running powerflow on different
|
|
1170
|
+
grid sizes.
|
|
1171
|
+
- [UPDATED] urls to match the new repo location
|
|
1172
|
+
- [UPDATED] urls to match new grid2op location
|
|
1173
|
+
|
|
1174
|
+
[0.9.1] 2024-09-30
|
|
1175
|
+
--------------------------
|
|
1176
|
+
- [FIXED] a bug due to wrong type (in a numpy array) for the element name which lead in turn
|
|
1177
|
+
to a fail assertion (equality between two numpy arrays returning a bool and not an array)
|
|
1178
|
+
- [FIXED] a bug when init a grid from pypowsybl: the wrong value was used for trafos `h` (double)
|
|
1179
|
+
- [FIXED] a bug when init a grid from pypowsybl: wrong values for `_ls_to_orig` and `_orig_to_ls`
|
|
1180
|
+
was set (and later used)
|
|
1181
|
+
- [FIXED] yet another bug when init a grid from pypowsybl: the voltage in kV (not in pu)
|
|
1182
|
+
could be set due to "wrong" labelling of the bus ids
|
|
1183
|
+
- [FIXED] yet another bug when init a grid from pypowsybl: the ratio of the transformers
|
|
1184
|
+
sent in lightsim2grid did not take into account the "`rated_u1` `rated_u2`" on both side
|
|
1185
|
+
(only used on one side)
|
|
1186
|
+
- [FIXED] yet another bug when init a grid from pypowsybl: the ratio of the transformers
|
|
1187
|
+
sent in lightsim2grid did not take into account the ratio in the `pypow_net.get_ratio_tap_changers()`
|
|
1188
|
+
- [ADDED] a method for the `ContingencyAnalysisCPP` class that returns, for all contingencies
|
|
1189
|
+
in the contingency list, which will be simulated and which causes the grid to be disconnected.
|
|
1190
|
+
- [ADDED] it is now possible to use "one substation" (voltage level) pypowsybl side is
|
|
1191
|
+
one substation in lightsim2grid.
|
|
1192
|
+
- [IMPROVED] removing a weird `1j * h_` when initializing powerlines and transformers. This was
|
|
1193
|
+
part of a pandapower "hack" which is not present anymore (see
|
|
1194
|
+
https://github.com/Grid2Op/lightsim2grid/issues/88#issue-2443299039)
|
|
1195
|
+
|
|
1196
|
+
[0.9.0] 2024-07-29
|
|
1197
|
+
--------------------------
|
|
1198
|
+
- [BREAKING] installing pandapower lightsim2grid does not require anymore to install
|
|
1199
|
+
pandapower (you can initialize `GridModel` with pypowsybl or pandapower if you want). To make it both
|
|
1200
|
+
cleaner and clearer the function `lightsim2grid.gridmodel.init` has been removed.
|
|
1201
|
+
Please use `lightsim2grid.gridmodel.init_from_pandapower` or
|
|
1202
|
+
`lightsim2grid.gridmodel.init_from_pypowsybl` from now on
|
|
1203
|
+
- [BREAKING] the previous `gridmodel.get_ptdf()` function was wrongly labelled with the
|
|
1204
|
+
"solver" bus id and not the `gridmodel` bus id which could cause issue when it was computed
|
|
1205
|
+
on some grid configuration. It has now been fixed (so the `gridmodel.get_ptdf` returns the
|
|
1206
|
+
proper things). If you want the previous behaviour, you need to use `gridmodel.get_ptdf_solver()`
|
|
1207
|
+
- [BREAKING] similarly, `gridmodel.get_Ybus()`, `gridmodel.get_dcYbus()`, `gridmodel.get_Sbus()`
|
|
1208
|
+
and `gridmodel.get_dcSbus()` now return things in the `gridmodel` bus ordering. For the previous
|
|
1209
|
+
behaviour you can use `gridmodel.get_Ybus_solver()`, `gridmodel.get_dcYbus_solver()`,
|
|
1210
|
+
`gridmodel.get_Sbus_solver()` and `gridmodel.get_dcSbus_solver()`
|
|
1211
|
+
- [BREAKING] the more rational logic above also extends to all the functions listed in the
|
|
1212
|
+
table below:
|
|
1213
|
+
|
|
1214
|
+
=============================== ===================================================
|
|
1215
|
+
Function with behaviour change Name of the new function having the same behaviour
|
|
1216
|
+
=============================== ===================================================
|
|
1217
|
+
gridmodel.get_ptdf() gridmodel.get_ptdf_solver()
|
|
1218
|
+
gridmodel.get_Ybus() gridmodel.get_Ybus_solver()
|
|
1219
|
+
gridmodel.get_dcYbus() gridmodel.get_dcYbus_solver()
|
|
1220
|
+
gridmodel.get_Sbus() gridmodel.get_Sbus_solver()
|
|
1221
|
+
gridmodel.get_dcSbus() gridmodel.get_dcSbus_solver()
|
|
1222
|
+
gridmodel.get_pv() gridmodel.get_pv_solver()
|
|
1223
|
+
gridmodel.get_pq() gridmodel.get_pq_solver()
|
|
1224
|
+
gridmodel.get_slack_ids() gridmodel.get_slack_ids_solver()
|
|
1225
|
+
gridmodel.get_slack_ids_dc() gridmodel.get_slack_ids_dc_solver()
|
|
1226
|
+
gridmodel.get_slack_weights() gridmodel.get_slack_weights_solver()
|
|
1227
|
+
gridmodel.get_V() gridmodel.get_V_solver()
|
|
1228
|
+
gridmodel.get_Va() gridmodel.get_Va_solver()
|
|
1229
|
+
gridmodel.get_Vm() gridmodel.get_Vm_solver()
|
|
1230
|
+
gridmodel.get_J() gridmodel.get_J_solver()
|
|
1231
|
+
gridmodel.get_Bf() gridmodel.get_Bf_solver()
|
|
1232
|
+
=============================== ==================================================
|
|
1233
|
+
|
|
1234
|
+
- [FIXED] the `change_solver` in the `ContingencyAnalysis` did not work correctly.
|
|
1235
|
+
More specifically the solver type used might not be correct if changed which could
|
|
1236
|
+
lead to wrong Ybus being passed to the solver.
|
|
1237
|
+
- [FIXED] some compatibility mode with python `3.7`
|
|
1238
|
+
- [FIXED] a bug when "turned off" generator were not PV (slack was
|
|
1239
|
+
"turned off" when its target P was 0. But still the slack so ends up producing something...)
|
|
1240
|
+
- [FIXED] (consistency with pandapower) when an intial powerflow is run
|
|
1241
|
+
to initialized an AC powerflow, the initial voltages are 1 pu (and
|
|
1242
|
+
not `gridmodel.get_init_vm_pu()` as previously).
|
|
1243
|
+
- [FIXED] `gridmodel.get_ptdf()` now have the
|
|
1244
|
+
normal "gridmodel" bus id representation and not the "solver" bus ordering.
|
|
1245
|
+
- [FIXED] `gridmodel.get_lodf()` issue wrong results in case of some
|
|
1246
|
+
topological modification
|
|
1247
|
+
- [FIXED] calls to methods such as `gridmodel.get_pv` or `gridmodel.get_V`
|
|
1248
|
+
or `gridmodel.get_Ybus` could lead to severe crashes (segmentation fault)
|
|
1249
|
+
on some (rare) cases. Now an exceptions should be thrown in these cases.
|
|
1250
|
+
- [FIXED] basic backward compatibility is ensured and tested for legacy grid2op >= 0.9.1.post1
|
|
1251
|
+
Not all features are tested and only 1.x versions are tested
|
|
1252
|
+
(ie 1.1 or 1.2 but not 1.2.1, 1.2.2, 1.2.3 etc.) and only for python 3.11
|
|
1253
|
+
- [FIXED] a bug when using `LightSimBackend` with some old (but not too old) grid2op
|
|
1254
|
+
versions.
|
|
1255
|
+
- [FIXED] various compatibility bugs when using old grid2op versions.
|
|
1256
|
+
- [ADDED] it is now possible to deactivate the support for shunts by
|
|
1257
|
+
subclassing the LightSimBackend class and setting the `shunts_data_available`
|
|
1258
|
+
to `False`
|
|
1259
|
+
- [IMPROVED] in the `ContingencyAnalysis` class, the underlying cpp model will now
|
|
1260
|
+
perform an initial powerflow.
|
|
1261
|
+
- [IMPROVED] distributed wheels are now compiled (whenever possible) with numpy 2.
|
|
1262
|
+
This makes them compatible with both numpy 1.x.y and numpy 2.z.t versions.
|
|
1263
|
+
- [IMPROVED] tests are now performed when lightsim2grid is compiled with
|
|
1264
|
+
the latest clang (18) and gcc (14) versions on the CI using python 3.11
|
|
1265
|
+
|
|
1266
|
+
[0.8.2.post1] 2024-04-xx
|
|
1267
|
+
--------------------------
|
|
1268
|
+
- [FIXED] a "forward compatibility" issue with grid2op 1.10.2
|
|
1269
|
+
(due to wrong usage of some internal classes when loading a pandapower grid)
|
|
1270
|
+
|
|
1271
|
+
[0.8.2] 2024-04-22
|
|
1272
|
+
--------------------
|
|
1273
|
+
- [FIXED] CI was broken after migration to artifact v4, set it back to v3
|
|
1274
|
+
(and make the names of the folder clearer)
|
|
1275
|
+
- [FIXED] CI when using latest pandapower version (2.14) which broke some previous tests
|
|
1276
|
+
- [ADDED] the computation of the LODF (line outage distribution factor) in
|
|
1277
|
+
lightsim2grid
|
|
1278
|
+
- [ADDED] some convenience functions to retrieve in a vectorized way the
|
|
1279
|
+
buses to which each elements of a given container is connected
|
|
1280
|
+
(*eg* `gridmodel.get_lines().get_bus_from()`)
|
|
1281
|
+
- [ADDED] more binaries (windows `arm64` and macos `arm64`)
|
|
1282
|
+
- [IMPROVED] remove some compilation warnings for clang
|
|
1283
|
+
- [IMPROVED] possibility to specify generator used as slack by its name when initializing
|
|
1284
|
+
from `pypowsybl`.
|
|
1285
|
+
- [IMPROVED] removing some warnings when grid2op is not installed
|
|
1286
|
+
(it should not raise any warning as lightsim2grid does not require grid2op)
|
|
1287
|
+
|
|
1288
|
+
[0.8.1] 2024-03-26
|
|
1289
|
+
--------------------
|
|
1290
|
+
- [FIXED] a bug with shunts when `nb_busbar_per_sub` >= 2
|
|
1291
|
+
- [FIXED] some bugs preventing backward compatibility
|
|
1292
|
+
- [FIXED] an issue in the computation of gen_q when intialized with pypowsybl
|
|
1293
|
+
(some overflow cpp side leading to infinite number in gen_q)
|
|
1294
|
+
- [FIXED] a bug in the "containers" cpp side (wrong bus was assigned)
|
|
1295
|
+
when elements was disconnected, which lead to wrong computations for
|
|
1296
|
+
time series or contingency analysis.
|
|
1297
|
+
- [FIXED] another bug in ContingencyAnalysis (cpp side) leading to wrong computation
|
|
1298
|
+
when a powerline was disconnected
|
|
1299
|
+
- [FIXED] some broken imports when grid2op was not installed
|
|
1300
|
+
- [FIXED] missing "typing_extension" as required when installation
|
|
1301
|
+
- [ADDED] some information of compilation directly in the cpp module
|
|
1302
|
+
- [ADDED] some information of compilation available in the python `compilation_options`
|
|
1303
|
+
module python side
|
|
1304
|
+
- [ADDED] some convenient methods for `ContingencyAnalysis` python side (most
|
|
1305
|
+
notably the possibility to initialize it from a `LightSimBackend` and to
|
|
1306
|
+
change the topology of the grid)
|
|
1307
|
+
- [ADDED] a "reward" module in lightsim2grid with custom reward
|
|
1308
|
+
based on lightsim2grid.
|
|
1309
|
+
- [ADDED] a class `N1ContingencyReward` that can leverage lightsim2grid to
|
|
1310
|
+
assess the number of safe / unsafe N-1.
|
|
1311
|
+
- [IMPROVED] time measurments in python and c++
|
|
1312
|
+
- [IMPROVED] now test lightsim2grid with oldest grid2op version
|
|
1313
|
+
- [IMPROVED] speed, by accelerating the reading back of the data (now read only once and then
|
|
1314
|
+
pointers are re used)
|
|
1315
|
+
- [IMPROVED] c++ side avoid allocating memory (which allow to gain speed python side too)
|
|
1316
|
+
- [IMPROVED] type hinting in `LightSimBackend` for all 'public' methods (most
|
|
1317
|
+
notably the one used by grid2op)
|
|
1318
|
+
- [IMPROVED] now the benchmarks are more verbose (detailing some compilation options)
|
|
1319
|
+
|
|
1320
|
+
[0.8.0] 2024-03-18
|
|
1321
|
+
--------------------
|
|
1322
|
+
- [BREAKING] now able to retrieve `dcSbus` with a dedicated method (and not with the old `get_Sbus`).
|
|
1323
|
+
If you previously used `gridmodel.get_Sbus()` to retrieve the Sbus used for DC powerflow, please use
|
|
1324
|
+
`gridmodel.get_dcSbus()` instead.
|
|
1325
|
+
- [DEPRECATED] in the cpp class: the old `SecurityAnalysisCPP` has been renamed `ContingencyAnalysisCPP`
|
|
1326
|
+
(you should not import it, but it you do you can `from lightsim2grid.securityAnalysis import ContingencyAnalysisCPP` now)
|
|
1327
|
+
- [DEPRECATED] in the cpp class: the old `Computers` has been renamed `TimeSerieCPP`
|
|
1328
|
+
(you should not import it, but it you do you can `from lightsim2grid.time_serie import TimeSerieCPP` now)
|
|
1329
|
+
- [FIXED] now voltage is properly set to 0. when shunts are disconnected
|
|
1330
|
+
- [FIXED] now voltage is properly set to 0. when storage units are disconnected
|
|
1331
|
+
- [FIXED] a bug where non connected grid were not spotted in DC
|
|
1332
|
+
- [FIXED] a bug when trying to set the slack for a non existing genererator
|
|
1333
|
+
- [FIXED] a bug in init from pypowsybl when some object were disconnected. It raises
|
|
1334
|
+
an error (because they are not connected to a bus): now this function properly handles
|
|
1335
|
+
these cases.
|
|
1336
|
+
- [FIXED] a bug leading to not propagate correctly the "compute_results" flag when the
|
|
1337
|
+
environment was copied (for example)
|
|
1338
|
+
- [FIXED] a bug where copying a lightsim2grid `GridModel` did not fully copy it
|
|
1339
|
+
- [FIXED] a bug in the "topo_vect" comprehension cpp side (sometimes some buses
|
|
1340
|
+
might not be activated / deactivated correctly)
|
|
1341
|
+
- [FIXED] a bug when reading a grid initialize from pypowsybl (trafo names where put in place
|
|
1342
|
+
of shunt names)
|
|
1343
|
+
- [FIXED] read the docs was broken
|
|
1344
|
+
- [FIXED] a bug when reading a grid from pandapower for multiple slacks when slack
|
|
1345
|
+
are given by the "ext_grid" information.
|
|
1346
|
+
- [FIXED] a bug in "gridmodel.assign_slack_to_most_connected()" that could throw an error if a
|
|
1347
|
+
generator with "target_p" == 0. was connected to the most connected bus on the grid
|
|
1348
|
+
- [FIXED] backward compat with "future" grid2op version with a
|
|
1349
|
+
better way to copy `LightSimBackend`
|
|
1350
|
+
- [ADDED] sets of methods to extract the main component of a grid and perform powerflow only on this
|
|
1351
|
+
one.
|
|
1352
|
+
- [ADDED] possibility to set / retrieve the names of each elements of the grid.
|
|
1353
|
+
- [ADDED] embed in the generator models the "non pv" behaviour. (TODO need to be able to change Q from python side)
|
|
1354
|
+
- [ADDED] computation of PTPF (Power Transfer Distribution Factor) is now possible
|
|
1355
|
+
- [ADDED] (not tested) support for more than 2 busbars per substation
|
|
1356
|
+
- [ADDED] a timer to get the time spent in the gridmodel for the powerflow (env.backend.timer_gridmodel_xx_pf)
|
|
1357
|
+
which also include the time
|
|
1358
|
+
- [ADDED] support for more than 2 busbars per substation (requires grid2op >= 1.10.0)
|
|
1359
|
+
- [ADDED] possibility to retrieve the bus id of the original iidm when initializing from pypowsybl
|
|
1360
|
+
(`return_sub_id` kwargs). This is a "beta" feature and will be adressed in a better way
|
|
1361
|
+
in a near future.
|
|
1362
|
+
- [ADDED] possibility to continue the grid2op 'step' when the solver converges but a load or a
|
|
1363
|
+
generator is disconnected from the grid.
|
|
1364
|
+
- [IMPROVED] now performing the new grid2op `create_test_suite`
|
|
1365
|
+
- [IMPROVED] now lightsim2grid properly throw `BackendError`
|
|
1366
|
+
- [IMPROVED] clean ce cpp side by refactoring: making clearer the difference (linear) solver
|
|
1367
|
+
vs powerflow algorithm and move same type of files in the same directory. This change
|
|
1368
|
+
does not really affect python side at the moment (but will in future versions)
|
|
1369
|
+
- [IMPROVED] CI to test on gcc 13 and clang 18 (latest versions to date)
|
|
1370
|
+
- [IMPROVED] computation speed: grid is not read another time in some cases.
|
|
1371
|
+
For example, if load and generators do not change, then Sbus is not
|
|
1372
|
+
recomputed. Likewise, if the topology does not change, then the Ybus
|
|
1373
|
+
is not recomputed either see https://github.com/Grid2Op/lightsim2grid/issues/72
|
|
1374
|
+
|
|
1375
|
+
[0.7.5.post1] 2024-03-14
|
|
1376
|
+
-------------------------
|
|
1377
|
+
- [FIXED] backward compat with "future" grid2op version with a
|
|
1378
|
+
better way to copy `LightSimBackend`
|
|
1379
|
+
|
|
1380
|
+
[0.7.5] 2023-10-05
|
|
1381
|
+
--------------------
|
|
1382
|
+
- [FIXED] a bug in DC powerflow when asking for computation time: it was not reset to 0. when
|
|
1383
|
+
multiple powerflows used the same solver
|
|
1384
|
+
- [FIXED] a bug in AC and DC powerflow when shunts had active values
|
|
1385
|
+
- [ADDED] possibility to initialize a powergrid based on pypowsybl
|
|
1386
|
+
see https://github.com/Grid2Op/lightsim2grid/issues/53
|
|
1387
|
+
- [ADDED] some more algorithm to perform powerflow: Fast Decoupled Powerflow (in BX and XB variant)
|
|
1388
|
+
see https://github.com/Grid2Op/lightsim2grid/issues/63
|
|
1389
|
+
- [ADDED] build lightsim2grid for python 3.12
|
|
1390
|
+
- [ADDED] support for non distributed slack but multiple slack buses
|
|
1391
|
+
see https://github.com/Grid2Op/lightsim2grid/issues/50 (ONLY FOR AC powerflow)
|
|
1392
|
+
- [IMPROVED] now shipping `src` and `eigen` directory in the source of
|
|
1393
|
+
lightsim2grid to allow their installation if wheels are not provided.
|
|
1394
|
+
- [IMPROVED] in the underlying cpp GridModel powerlines can now have 2
|
|
1395
|
+
different values for the `h` parameters (`h_or` and `h_ex`).
|
|
1396
|
+
- [IMPROVED] now lightsim2grid is able to load a pandapower network with non
|
|
1397
|
+
contiguous non starting at 0 bus index
|
|
1398
|
+
|
|
1399
|
+
[0.7.3/4] 2023-08-24
|
|
1400
|
+
--------------------
|
|
1401
|
+
- [FIXED] a bug where, when you disconnect a load (or gen), the next action cannot be performed
|
|
1402
|
+
if it modifies the load (or gen), because you "cannot change the value of a disconnected load (or gen)"
|
|
1403
|
+
- [FIXED] read-the-docs template is not compatible with latest sphinx version (7.0.0)
|
|
1404
|
+
see https://github.com/readthedocs/sphinx_rtd_theme/issues/1463
|
|
1405
|
+
- [IMPROVED] initialize the underlying "PandaPowerBackend" without numba
|
|
1406
|
+
- [IMPROVED] grid2op import to be more compliant with renaming of uppercased file names
|
|
1407
|
+
- [IMPROVED] decoupling of the PandapowerBackend class and the class "internally" used by LightSimBackend
|
|
1408
|
+
when loading the grid. This caused some issue, *eg* https://github.com/Grid2Op/grid2op/issues/508
|
|
1409
|
+
|
|
1410
|
+
[0.7.2] 2023-06-06
|
|
1411
|
+
--------------------
|
|
1412
|
+
- [FIXED] a bug in the `init` function that caused issue when importing a grid with multiple slack
|
|
1413
|
+
on some cases
|
|
1414
|
+
- [FIXED] some bugs in the "SecurityAnalysis" and "TimeSerie" modules especially in DC mode.
|
|
1415
|
+
- [FIXED] a bug in the DC comptuation: some "divergence" were not catched
|
|
1416
|
+
- [FIXED] a bug in the "Computer" (cpp) class where the intial voltage could lead to generator not
|
|
1417
|
+
participating correctly to the voltage regulation (wrong output voltage level).
|
|
1418
|
+
- [FIXED] a bug in the "set_bus" of shunt (wrong bus was assigned cpp side)
|
|
1419
|
+
- [FIXED] an issue when slack bus is added from ext grid (wrong active power value - sign issue)
|
|
1420
|
+
- [ADDED] support for the CKTSO linear solver (on linux), which is slightly faster than SparseLU, KLU and NICSLU
|
|
1421
|
+
(this requires a compilation from source)
|
|
1422
|
+
- [ADDED] support for distributed slack bus in `LightSimBackend`
|
|
1423
|
+
- [ADDED] support for "generator with p=0. do not participate in voltage regulation" in `LightSimBackend`
|
|
1424
|
+
- [ADDED] support for the DC computation for "SecurityAnalysis" and "TimeSerie" modules
|
|
1425
|
+
- [ADDED] support for DC powerline (in lightsim, they are still not handled in grid2op)
|
|
1426
|
+
- [IMPROVED] now that multiple slacks is fully supported, the warnings when importing a grid with multiple slacks
|
|
1427
|
+
are irrelevant. They have been removed.
|
|
1428
|
+
- [IMPROVED] the documentation on the "sovlers" part
|
|
1429
|
+
- [IMPROVED] move the "how to compile" section of the readme in the documentation
|
|
1430
|
+
- [IMPROVED] `SuiteSparse` is upgraded to version 5.13 (issue with build system based on cmake and BLAS for SuiteSparse >= 6.0)
|
|
1431
|
+
- [IMPROVED] upgrade to eigen `3.4.0` (stable release)
|
|
1432
|
+
|
|
1433
|
+
[0.7.1] 2023-01-11
|
|
1434
|
+
---------------------
|
|
1435
|
+
- [BREAKING] drop support for numpy version < 1.20 (to be consistent with grid2op)
|
|
1436
|
+
- [FIXED] a compatibility issue with grid2op 1.7.2 (missing another backend attribute
|
|
1437
|
+
when the environment is copied) see https://github.com/rte-france/Grid2Op/issues/360
|
|
1438
|
+
- [FIXED] now an error if thrown if the bus indexes in the pandapower grid are not contiguous
|
|
1439
|
+
or do not start at 0 (thanks Roman Bolgaryn for spotting this issue)
|
|
1440
|
+
- [ADDED] automatic build for python 3.11
|
|
1441
|
+
- [ADDED] support for numpy >= 1.24 (some deprecation *eg** np.str and np.bool are removed)
|
|
1442
|
+
|
|
1443
|
+
[0.7.0.post1] 2022-06-20
|
|
1444
|
+
-------------------------
|
|
1445
|
+
- [FIXED] a compatibility issue with grid2op 1.7.1 (missing a backend attribute
|
|
1446
|
+
when environment is copied)
|
|
1447
|
+
|
|
1448
|
+
[0.7.0] 2022-05-30
|
|
1449
|
+
---------------------
|
|
1450
|
+
- [ADDED] improved time measurments
|
|
1451
|
+
- [ADDED] Possibility to set, at creation time, the type of solver used, number
|
|
1452
|
+
of iterations and precisions with
|
|
1453
|
+
`LightSimBackend(max_iter=..., tol=..., solver_type=...)`
|
|
1454
|
+
- [IMPROVED] scripts to load the pandapower grid (json format)
|
|
1455
|
+
- [IMPROVED] update the automatic tests on more recent compilers.
|
|
1456
|
+
|
|
1457
|
+
[0.6.1.post2] 2022-02-08
|
|
1458
|
+
-------------------------
|
|
1459
|
+
- [FIXED] add support for python 3.10 now that scipy does (and add proper tests in CI)
|
|
1460
|
+
|
|
1461
|
+
[0.6.1.post1] 2022-02-02
|
|
1462
|
+
-------------------------
|
|
1463
|
+
- [FIXED] support for python3.7 (and add proper tests in CI)
|
|
1464
|
+
|
|
1465
|
+
[0.6.1] 2022-02-01
|
|
1466
|
+
--------------------
|
|
1467
|
+
- [BREAKING] the behaviour of the `newton_pf` function is not
|
|
1468
|
+
consistent with pandapower default concerning distributed slack.
|
|
1469
|
+
- [FIXED] an issue in the distributed slack case spotted by pandapower team
|
|
1470
|
+
thanks to them (see https://github.com/e2nIEE/pandapower/pull/1455)
|
|
1471
|
+
- [IMPROVED] lightsim2grid will now use the single slack algorithm if the
|
|
1472
|
+
grids counts only one slack bus (performance increase)
|
|
1473
|
+
|
|
1474
|
+
[0.6.0] 2021-12-17
|
|
1475
|
+
-------------------
|
|
1476
|
+
- [BREAKING] change the interface of the `newton_pf` function to reflect pandapower change in their
|
|
1477
|
+
latest version (arguments `ref` has been added). You can still use the old `newton_pf` function, with the
|
|
1478
|
+
old signature by importing `newtonpf_old` instead or explicitly importing the new one by importing `newtonpf_new`
|
|
1479
|
+
- [BREAKING] `SecurityAnalysis` now also returns the active flows when calling `security_analysis.get_flows()`
|
|
1480
|
+
- [BREAKING] change the file names (python side) to be compliant with pep 8. You can no longer
|
|
1481
|
+
do things like `from lightsim2grid.LightSimBackend import LightSimBackend` change it to
|
|
1482
|
+
`from lightsim2grid import LightSimBackend` (preferred method)
|
|
1483
|
+
- [BREAKING] change the file names (python side) to be compliant with pep 8. You can no longer
|
|
1484
|
+
do things like `from lightsim2grid.initGridModel import init` change it to
|
|
1485
|
+
`from lightsim2grid.gridmodel import init` (preferred method) (same for `GridModel` class)
|
|
1486
|
+
- [FIXED] a bug that lead to the wrong computation of the dc powerflow in case of `sn_mva != 1.` and phase shifters.
|
|
1487
|
+
- [FIXED] bug preventing to use the NICSLU linear solver in the `GridModel`
|
|
1488
|
+
- [FIXED] compilation warnings on clang (missing virtual destructor, unused variables, etc.)
|
|
1489
|
+
- [FIXED] a bug in the `SecurityAnalysisCPP`: when it diverges for some contingencies, the others were not simulated properly.
|
|
1490
|
+
- [FIXED] `LightSimBackend` now contains members for `shunts` and `***_theta` as it does for the other quantities. This improves the consistency, but most importantly
|
|
1491
|
+
fixes some bugs when used in earlier grid2op versions
|
|
1492
|
+
- [ADDED] possibility to compute the active flows using the `BaseMultiplePower`
|
|
1493
|
+
- [ADDED] possibility to change linear solver used when performing a DC solver
|
|
1494
|
+
- [ADDED] possibility to make powerflow with distributed slack bus (only for newton raphson at the moment)
|
|
1495
|
+
- [ADDED] access (read only) to the element of a lightsim2grid grid with the `get_XXX` (*eg* `get_loads()`) methods (see documentation)
|
|
1496
|
+
- [ADDED] direct access to the solver used in the grid model python side
|
|
1497
|
+
- [ADDED] unittest in circleci.
|
|
1498
|
+
- [ADDED] all kind of solvers based on different linear solvers (Eigen sparse LU, KLU or NICSLU) for Newton Raphson and
|
|
1499
|
+
DC approximation (9 solvers in total)
|
|
1500
|
+
- [IMPROVED] use of `steady_clock` to retrieve the ellapse time c++ side
|
|
1501
|
+
- [IMPROVED] refactoring of the c++ part to use template mecanism instead of inheritance for the
|
|
1502
|
+
Newton Raphson and DC solvers.
|
|
1503
|
+
- [IMPROVED] `GridModel` now contains two different solvers, one for AC powerflow and one for DC powerflow.
|
|
1504
|
+
- [IMPROVED] error message in the solver are now embedded in an Enum instead of being integers, for better readibility.
|
|
1505
|
+
- [IMPROVED] error message when the powerflow diverge (error are read from c++ now)
|
|
1506
|
+
|
|
1507
|
+
[0.5.5] 2021-11-10
|
|
1508
|
+
-------------------
|
|
1509
|
+
- [ADDED] possibility to perform dc powerflow
|
|
1510
|
+
- [ADDED] a class to compute flows on whole time series when the Ybus does not change (see `TimeSerie`)
|
|
1511
|
+
- [ADDED] a class to compute flows on multiple contingencies, when Sbus does not change (see `SecurityAnalysis`).
|
|
1512
|
+
- [IMPROVED] running speed of Newton Raphson solvers with better filling of sparse matrices
|
|
1513
|
+
- [IMPROVED] upgrade to SuiteSparse `v5.10.1`
|
|
1514
|
+
- [IMPROVED] upgrade to eigen `3.4.0` (stable release)
|
|
1515
|
+
- [IMPROVED] clean the compilation warnings on microsoft windows (force the conversion from
|
|
1516
|
+
`Eigen::EigenBase<Derived>::Index` to `int` using `static_cast`)
|
|
1517
|
+
- [IMPROVED] add the proper optimization flag for windows (`/O2` instead of `-03` on linux / macos)
|
|
1518
|
+
- [IMPROVED] high performance gain when topology is not changed between steps (gain obtained by
|
|
1519
|
+
reusing the previous Ybus)
|
|
1520
|
+
|
|
1521
|
+
[0.5.4] 2021-08-20
|
|
1522
|
+
------------------
|
|
1523
|
+
- [FIXED] a bug for static generator (wrong signed convention were used in some part of the c++ code). This has
|
|
1524
|
+
no impact at all for provided grid2op environments.
|
|
1525
|
+
- [FIXED] An issue where the backend could get "stuck" in a wrong state because of the way the Vinit was computed (see
|
|
1526
|
+
`Issue 30 <https://github.com/Grid2Op/lightsim2grid/issues/30>`_)
|
|
1527
|
+
- [ADDED] experimental support for the `NICSLU` linear solver (requires a proper license and library, see
|
|
1528
|
+
https://github.com/chenxm1986/nicslu for more information. Support does not include multi threaded at the moment).
|
|
1529
|
+
- [IMPROVED] minor performance improvements for the solvers based on Newton Raphson (faster filling of the Jacobian
|
|
1530
|
+
matrix after the first iteration)
|
|
1531
|
+
|
|
1532
|
+
[0.5.3] 2021-08-11
|
|
1533
|
+
-------------------
|
|
1534
|
+
- [FIXED] minor issues in the benchmark (some time measurments were wrong)
|
|
1535
|
+
- [ADDED] lightsim2grid package now can be distributed on pypi
|
|
1536
|
+
- [ADDED] compilation of SuiteSparse using cmake
|
|
1537
|
+
- [ADDED] compatibility with the KLU linear solver on windows based systems.
|
|
1538
|
+
- [IMPROVED] the package should now be available on pypi
|
|
1539
|
+
|
|
1540
|
+
[0.5.2] 2021-07-26
|
|
1541
|
+
-------------------
|
|
1542
|
+
- [FIXED] `GridModel` now properly throw "out_of_range" exception when trying to change the bus of non existing
|
|
1543
|
+
elements
|
|
1544
|
+
- [FIXED] wrong units were displayed for the iterators for lines and transformers.
|
|
1545
|
+
- [ADDED] now able to retrieve the powerlines parameters python side.
|
|
1546
|
+
- [IMPROVED] more explicit error messages when the building of the `Ybus` matrix fails.
|
|
1547
|
+
- [IMPROVED] now the solver is not reset when using the `backend._grid.check_solution`
|
|
1548
|
+
- [IMPROVED] upgrade SuiteSparse to version `v5.10.1`
|
|
1549
|
+
- [IMPROVED] upgrade eigen to version `3.4-rc1`
|
|
1550
|
+
|
|
1551
|
+
[0.5.1] 2021-04-09
|
|
1552
|
+
-------------------
|
|
1553
|
+
- [FIXED] yet another compilation issue with clang (see
|
|
1554
|
+
`Issue 22 <https://github.com/Grid2Op/lightsim2grid/issues/22>`_)
|
|
1555
|
+
- [ADDED] circleci to check compilation for gcc
|
|
1556
|
+
- [ADDED] circleci to check compilation for clang
|
|
1557
|
+
- [ADDED] circleci to check compilation for msvc
|
|
1558
|
+
- [ADDED] function to read the voltage angle from the backend
|
|
1559
|
+
- [ADDED] compatibility with grid2op 1.5.0 (up to an issue with the storage units)
|
|
1560
|
+
|
|
1561
|
+
[0.5.0] 2021-03-01
|
|
1562
|
+
-------------------
|
|
1563
|
+
- [FIXED] a compilation issue on macos
|
|
1564
|
+
- [FIXED] a compilation issue on windows (missing import of vector in `DataConverter.h`)
|
|
1565
|
+
- [FIXED] an import issue (with `lightsim2grid.SolverType`)
|
|
1566
|
+
- [FIXED] a bug that lead to the wrong computation of the ratio of the trafo when the tap on hv side.
|
|
1567
|
+
- [FIXED] wrong timing was measured in the "solver powerflow time" of pandapower in the benchmarks
|
|
1568
|
+
- [FIXED] a broken handling of shunt modification (wrong bus was assigned)
|
|
1569
|
+
- [FIXED] an issue in `LightSimBackend.copy` that prevent the copied environment from being reset.
|
|
1570
|
+
- [FIXED] errors are now raised when pandapower grid cannot be converted in lightsim2grid (*eg.* when
|
|
1571
|
+
unsupported elements are present)
|
|
1572
|
+
- [ADDED] a variant of the Gauss Seidel method which does the update in a "synchronous" fashion
|
|
1573
|
+
- [ADDED] a function that, given a complex vector is able to check kicchoff's law violation.
|
|
1574
|
+
- [ADDED] Support for phase shifter (modeled as trafo with an extra parameter `shift`)
|
|
1575
|
+
- [ADDED] Experimental support for `sn_mva` pandapower parameter.
|
|
1576
|
+
- [UPDATED] github issue template
|
|
1577
|
+
- [IMPROVED] warnings are issued when some of the pandapowergrid attributes have been automatically replaced
|
|
1578
|
+
when converting to / from pandapower
|
|
1579
|
+
|
|
1580
|
+
[0.4.0] - 2020-10-26
|
|
1581
|
+
---------------------
|
|
1582
|
+
- [ADDED] the Gauss Seidel method for AC powerflow is now available
|
|
1583
|
+
- [ADDED] possibility to change easily the solver types from python side
|
|
1584
|
+
|
|
1585
|
+
[0.3.0] - 2020-10-06
|
|
1586
|
+
-------------------------
|
|
1587
|
+
- [ADDED] Support for pickle for the lightsim Backend.
|
|
1588
|
+
- [ADDED] LightSim should now be compatible with windows (implementation of a powerflow mode without
|
|
1589
|
+
using the SuiteSparse KLU linear solver but rather the Eigen SparseLU one)
|
|
1590
|
+
- [ADDED] start of the documentation.
|
|
1591
|
+
|
|
1592
|
+
[0.2.4] - 2020-08-20
|
|
1593
|
+
--------------------
|
|
1594
|
+
- [FIXED] issue for copying environment
|
|
1595
|
+
|
|
1596
|
+
[0.2.3] - 2020-08-03
|
|
1597
|
+
--------------------
|
|
1598
|
+
- [UPDATED] consistent behaviour between grid2op.PandaPowerBackend and LightSimBackend for action that
|
|
1599
|
+
set the bus of only one extremity of a powerline.
|
|
1600
|
+
- [ADDED] compatibility with grid2op 1.2.0
|
|
1601
|
+
|
|
1602
|
+
[0.2.2] - 2020-06-25
|
|
1603
|
+
---------------------
|
|
1604
|
+
- [UPDATED] removing the `-march=native` that causes some difficulty for some compilers
|
|
1605
|
+
- [ADDED] compatibility with grid2op 1.0.0
|
|
1606
|
+
|
|
1607
|
+
[0.2.1] - 2020-06-xx
|
|
1608
|
+
--------------------
|
|
1609
|
+
- [FIXED] update of the `topo_vect` attribute in class `LightSimBackend` when reset.
|
|
1610
|
+
- [ADDED] a github issue template
|
|
1611
|
+
|
|
1612
|
+
[0.2.0] - 2020-06-15
|
|
1613
|
+
--------------------
|
|
1614
|
+
- [ADDED] the changelog
|
|
1615
|
+
- [FIXED] the import of files when elements where not in service
|
|
1616
|
+
- [FIXED] a bad catch of a divergence in the solver
|
|
1617
|
+
- [IMPROVED] the speed to apply the actions
|
|
1618
|
+
- [FIXED] tests for the backend in grid2op and here are not identical without (too much) duplicates
|