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.
Files changed (1500) hide show
  1. lightsim2grid-1.3.0/CHANGELOG.rst +1618 -0
  2. lightsim2grid-1.3.0/CLAUDE.md +369 -0
  3. lightsim2grid-1.3.0/PKG-INFO +363 -0
  4. lightsim2grid-1.3.0/README.md +329 -0
  5. lightsim2grid-1.3.0/RELEASE.md +106 -0
  6. lightsim2grid-1.3.0/SuiteSparse/AMD/Doc/License.txt +35 -0
  7. lightsim2grid-1.3.0/SuiteSparse/BTF/Doc/License.txt +20 -0
  8. lightsim2grid-1.3.0/SuiteSparse/BTF/Doc/lesser.txt +504 -0
  9. lightsim2grid-1.3.0/SuiteSparse/COLAMD/Doc/License.txt +30 -0
  10. lightsim2grid-1.3.0/SuiteSparse/CXSparse/Doc/License.txt +19 -0
  11. lightsim2grid-1.3.0/SuiteSparse/CXSparse/Doc/lesser.txt +504 -0
  12. lightsim2grid-1.3.0/SuiteSparse/KLU/Doc/License.txt +22 -0
  13. lightsim2grid-1.3.0/SuiteSparse/KLU/Doc/lesser.txt +504 -0
  14. lightsim2grid-1.3.0/lightsim2grid/__init__.py +194 -0
  15. lightsim2grid-1.3.0/lightsim2grid/_batch_defaults.py +22 -0
  16. lightsim2grid-1.3.0/lightsim2grid/algorithm/__init__.py +131 -0
  17. lightsim2grid-1.3.0/lightsim2grid/contingencyAnalysis.py +1152 -0
  18. lightsim2grid-1.3.0/lightsim2grid/continuationPowerflow.py +386 -0
  19. lightsim2grid-1.3.0/lightsim2grid/differentiable/_batch_cpu_power_flow.py +539 -0
  20. lightsim2grid-1.3.0/lightsim2grid/injectionSweep.py +97 -0
  21. lightsim2grid-1.3.0/lightsim2grid/lightEnv.py +162 -0
  22. lightsim2grid-1.3.0/lightsim2grid/lightSimBackend.py +2479 -0
  23. lightsim2grid-1.3.0/lightsim2grid/network/__init__.py +69 -0
  24. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/__init__.py +39 -0
  25. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_generators.py +211 -0
  26. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_hvdc.py +212 -0
  27. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_lines.py +106 -0
  28. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_shunts.py +80 -0
  29. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_slack.py +405 -0
  30. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_storage.py +154 -0
  31. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_svc.py +262 -0
  32. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_add_trafos.py +229 -0
  33. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_aux_battery_apc.py +197 -0
  34. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_olf_bake.py +1653 -0
  35. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_olf_const.py +112 -0
  36. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_olf_outer_loops.py +320 -0
  37. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_olf_params.py +397 -0
  38. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_olf_rules.py +643 -0
  39. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/_propagate_contingencies.py +544 -0
  40. lightsim2grid-1.3.0/lightsim2grid/network/from_pypowsybl/initLSGrid.py +464 -0
  41. lightsim2grid-1.3.0/lightsim2grid/pandapower_compat/dcpf/_dcpf.py +65 -0
  42. lightsim2grid-1.3.0/lightsim2grid/scenarioSweep.py +789 -0
  43. lightsim2grid-1.3.0/lightsim2grid/tests/_olf_reference.py +52 -0
  44. lightsim2grid-1.3.0/lightsim2grid/tests/binary_format_fixture/case14_sandbox_format22.lsb +0 -0
  45. lightsim2grid-1.3.0/lightsim2grid/tests/test_BatchCPUPowerFlow.py +593 -0
  46. lightsim2grid-1.3.0/lightsim2grid/tests/test_CKTSOSolver.py +139 -0
  47. lightsim2grid-1.3.0/lightsim2grid/tests/test_ContingencyAnalysis_remote_regulator.py +96 -0
  48. lightsim2grid-1.3.0/lightsim2grid/tests/test_KLUSolver.py +199 -0
  49. lightsim2grid-1.3.0/lightsim2grid/tests/test_LSGrid_out_of_bounds.py +787 -0
  50. lightsim2grid-1.3.0/lightsim2grid/tests/test_LightEnv.py +723 -0
  51. lightsim2grid-1.3.0/lightsim2grid/tests/test_NICSLUSolver.py +139 -0
  52. lightsim2grid-1.3.0/lightsim2grid/tests/test_batch_result_views.py +194 -0
  53. lightsim2grid-1.3.0/lightsim2grid/tests/test_binary_serialization.py +661 -0
  54. lightsim2grid-1.3.0/lightsim2grid/tests/test_constrained_ordering.py +123 -0
  55. lightsim2grid-1.3.0/lightsim2grid/tests/test_contingency_injections.py +307 -0
  56. lightsim2grid-1.3.0/lightsim2grid/tests/test_continuation_powerflow.py +498 -0
  57. lightsim2grid-1.3.0/lightsim2grid/tests/test_hold_frozen_regulators.py +178 -0
  58. lightsim2grid-1.3.0/lightsim2grid/tests/test_main_component_slack.py +644 -0
  59. lightsim2grid-1.3.0/lightsim2grid/tests/test_match_with_pypowsybl/utils_for_slack.py +54 -0
  60. lightsim2grid-1.3.0/lightsim2grid/tests/test_olf_outer_loops.py +183 -0
  61. lightsim2grid-1.3.0/lightsim2grid/tests/test_olf_rules.py +427 -0
  62. lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_batch.py +683 -0
  63. lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_batch_static_pivot.py +82 -0
  64. lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_control_layout.py +148 -0
  65. lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_detection.py +125 -0
  66. lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_islanded_controls.py +97 -0
  67. lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_islanded_rows.py +141 -0
  68. lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_loop_inputs.py +433 -0
  69. lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_loops.py +784 -0
  70. lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_redistribute_slack.py +174 -0
  71. lightsim2grid-1.3.0/lightsim2grid/tests/test_outer_tap_violations.py +86 -0
  72. lightsim2grid-1.3.0/lightsim2grid/tests/test_pandapower_compat_dcpf.py +61 -0
  73. lightsim2grid-1.3.0/lightsim2grid/tests/test_pf_input_robustness.py +309 -0
  74. lightsim2grid-1.3.0/lightsim2grid/tests/test_phase_control.py +154 -0
  75. lightsim2grid-1.3.0/lightsim2grid/tests/test_physical_violations.py +974 -0
  76. lightsim2grid-1.3.0/lightsim2grid/tests/test_pickleable.py +293 -0
  77. lightsim2grid-1.3.0/lightsim2grid/tests/test_propagate_contingencies_pypowsybl.py +405 -0
  78. lightsim2grid-1.3.0/lightsim2grid/tests/test_pypowsybl_copy_on_write.py +80 -0
  79. lightsim2grid-1.3.0/lightsim2grid/tests/test_remote_voltage_control.py +207 -0
  80. lightsim2grid-1.3.0/lightsim2grid/tests/test_scaling_refactor_policies.py +484 -0
  81. lightsim2grid-1.3.0/lightsim2grid/tests/test_shunt_voltage_control.py +173 -0
  82. lightsim2grid-1.3.0/lightsim2grid/tests/test_solver_registry.py +223 -0
  83. lightsim2grid-1.3.0/lightsim2grid/tests/test_sparse_getters.py +237 -0
  84. lightsim2grid-1.3.0/lightsim2grid/tests/test_storage_distributed_slack.py +364 -0
  85. lightsim2grid-1.3.0/lightsim2grid/tests/test_storage_pypowsybl.py +195 -0
  86. lightsim2grid-1.3.0/lightsim2grid/tests/test_svc_can_be_pv.py +256 -0
  87. lightsim2grid-1.3.0/lightsim2grid/tests/test_svc_standby.py +431 -0
  88. lightsim2grid-1.3.0/lightsim2grid/tests/test_tap_changers_pypowsybl.py +157 -0
  89. lightsim2grid-1.3.0/lightsim2grid/tests/test_transformer_voltage_control.py +153 -0
  90. lightsim2grid-1.3.0/lightsim2grid/timeSerie.py +606 -0
  91. lightsim2grid-1.3.0/pyproject.toml +230 -0
  92. lightsim2grid-1.3.0/src/bindings/python/binding_batch.cpp +1434 -0
  93. lightsim2grid-1.3.0/src/bindings/python/binding_containers.cpp +529 -0
  94. lightsim2grid-1.3.0/src/bindings/python/binding_enums.cpp +97 -0
  95. lightsim2grid-1.3.0/src/bindings/python/binding_light_env.cpp +191 -0
  96. lightsim2grid-1.3.0/src/bindings/python/binding_lsgrid.cpp +797 -0
  97. lightsim2grid-1.3.0/src/bindings/python/binding_solvers.cpp +788 -0
  98. lightsim2grid-1.3.0/src/bindings/python/shared_array.hpp +52 -0
  99. lightsim2grid-1.3.0/src/bindings/python/sparse_helpers.hpp +80 -0
  100. lightsim2grid-1.3.0/src/core/AlgorithmSelector.hpp +537 -0
  101. lightsim2grid-1.3.0/src/core/BinaryArchive.hpp +487 -0
  102. lightsim2grid-1.3.0/src/core/BuiltinSolversRegistration.cpp +108 -0
  103. lightsim2grid-1.3.0/src/core/CMakeLists.txt +594 -0
  104. lightsim2grid-1.3.0/src/core/HvdcDroopData.hpp +121 -0
  105. lightsim2grid-1.3.0/src/core/LSGrid.cpp +3968 -0
  106. lightsim2grid-1.3.0/src/core/LSGrid.hpp +3601 -0
  107. lightsim2grid-1.3.0/src/core/SolverInstantiations.cpp +84 -0
  108. lightsim2grid-1.3.0/src/core/Solvers.hpp +169 -0
  109. lightsim2grid-1.3.0/src/core/Utils.cpp +83 -0
  110. lightsim2grid-1.3.0/src/core/Utils.hpp +468 -0
  111. lightsim2grid-1.3.0/src/core/VoltageControlPlan.cpp +788 -0
  112. lightsim2grid-1.3.0/src/core/VoltageControlPlan.hpp +401 -0
  113. lightsim2grid-1.3.0/src/core/batch_algorithm/BaseBatchSolverSynch.cpp +234 -0
  114. lightsim2grid-1.3.0/src/core/batch_algorithm/BaseBatchSolverSynch.hpp +1204 -0
  115. lightsim2grid-1.3.0/src/core/batch_algorithm/BaseBatchSweep.cpp +916 -0
  116. lightsim2grid-1.3.0/src/core/batch_algorithm/BaseBatchSweep.hpp +5089 -0
  117. lightsim2grid-1.3.0/src/core/batch_algorithm/BusQCheck.hpp +264 -0
  118. lightsim2grid-1.3.0/src/core/batch_algorithm/BusQPlan.hpp +61 -0
  119. lightsim2grid-1.3.0/src/core/batch_algorithm/ContinuationSweep.cpp +387 -0
  120. lightsim2grid-1.3.0/src/core/batch_algorithm/ContinuationSweep.hpp +288 -0
  121. lightsim2grid-1.3.0/src/core/batch_algorithm/GenPvReleaseCheck.hpp +323 -0
  122. lightsim2grid-1.3.0/src/core/batch_algorithm/HvdcPCheck.hpp +244 -0
  123. lightsim2grid-1.3.0/src/core/batch_algorithm/LimitViolation.hpp +289 -0
  124. lightsim2grid-1.3.0/src/core/batch_algorithm/OperationalCheck.hpp +310 -0
  125. lightsim2grid-1.3.0/src/core/batch_algorithm/SbusPolicy.cpp +322 -0
  126. lightsim2grid-1.3.0/src/core/batch_algorithm/SbusPolicy.hpp +342 -0
  127. lightsim2grid-1.3.0/src/core/batch_algorithm/SharedMat.hpp +82 -0
  128. lightsim2grid-1.3.0/src/core/batch_algorithm/SvcStandbyCheck.hpp +175 -0
  129. lightsim2grid-1.3.0/src/core/batch_algorithm/YbusPolicy.cpp +403 -0
  130. lightsim2grid-1.3.0/src/core/batch_algorithm/YbusPolicy.hpp +290 -0
  131. lightsim2grid-1.3.0/src/core/element_container/BranchContainer.hpp +1028 -0
  132. lightsim2grid-1.3.0/src/core/element_container/GeneratorContainer.hpp +477 -0
  133. lightsim2grid-1.3.0/src/core/element_container/GenericContainer.hpp +588 -0
  134. lightsim2grid-1.3.0/src/core/element_container/HvdcLineContainer.cpp +493 -0
  135. lightsim2grid-1.3.0/src/core/element_container/HvdcLineContainer.hpp +561 -0
  136. lightsim2grid-1.3.0/src/core/element_container/OneSideContainer.hpp +771 -0
  137. lightsim2grid-1.3.0/src/core/element_container/ShuntContainer.cpp +329 -0
  138. lightsim2grid-1.3.0/src/core/element_container/ShuntContainer.hpp +270 -0
  139. lightsim2grid-1.3.0/src/core/element_container/SlackParticipation.hpp +423 -0
  140. lightsim2grid-1.3.0/src/core/element_container/StorageContainer.hpp +368 -0
  141. lightsim2grid-1.3.0/src/core/element_container/SvcContainer.cpp +328 -0
  142. lightsim2grid-1.3.0/src/core/element_container/SvcContainer.hpp +328 -0
  143. lightsim2grid-1.3.0/src/core/element_container/TapChangers.hpp +314 -0
  144. lightsim2grid-1.3.0/src/core/element_container/TrafoContainer.cpp +678 -0
  145. lightsim2grid-1.3.0/src/core/element_container/TrafoContainer.hpp +546 -0
  146. lightsim2grid-1.3.0/src/core/help_fun_msg.cpp +8714 -0
  147. lightsim2grid-1.3.0/src/core/help_fun_msg.hpp +945 -0
  148. lightsim2grid-1.3.0/src/core/light_env/protections.hpp +300 -0
  149. lightsim2grid-1.3.0/src/core/linear_solvers/CMakeLists.txt +16 -0
  150. lightsim2grid-1.3.0/src/core/linear_solvers/KLUSolver.cpp +119 -0
  151. lightsim2grid-1.3.0/src/core/linear_solvers/KLUSolver.hpp +197 -0
  152. lightsim2grid-1.3.0/src/core/linear_solvers/KLUStaticPivotSolver.cpp +301 -0
  153. lightsim2grid-1.3.0/src/core/linear_solvers/KLUStaticPivotSolver.hpp +248 -0
  154. lightsim2grid-1.3.0/src/core/linear_solvers/LinearSolverPolicy.hpp +218 -0
  155. lightsim2grid-1.3.0/src/core/linear_solvers/OrderingConstraints.hpp +78 -0
  156. lightsim2grid-1.3.0/src/core/powerflow_algorithm/BaseAlgo.hpp +825 -0
  157. lightsim2grid-1.3.0/src/core/powerflow_algorithm/CMakeLists.txt +23 -0
  158. lightsim2grid-1.3.0/src/core/powerflow_algorithm/NRAlgo.hpp +613 -0
  159. lightsim2grid-1.3.0/src/core/powerflow_algorithm/NRAlgo.tpp +272 -0
  160. lightsim2grid-1.3.0/src/core/powerflow_algorithm/NROuterInner.hpp +293 -0
  161. lightsim2grid-1.3.0/src/core/powerflow_algorithm/NRSystem.hpp +2454 -0
  162. lightsim2grid-1.3.0/src/core/powerflow_algorithm/NRSystem.tpp +762 -0
  163. lightsim2grid-1.3.0/src/core/powerflow_algorithm/NRSystemBranchControl.cpp +557 -0
  164. lightsim2grid-1.3.0/src/core/powerflow_algorithm/NRSystemShuntControl.cpp +277 -0
  165. lightsim2grid-1.3.0/src/core/powerflow_algorithm/NRSystemVoltageControl.cpp +69 -0
  166. lightsim2grid-1.3.0/src/core/powerflow_algorithm/OuterLoopAlgo.hpp +323 -0
  167. lightsim2grid-1.3.0/src/core/powerflow_algorithm/OuterLoopAlgo.tpp +427 -0
  168. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/BaseOuterLoop.hpp +324 -0
  169. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/DefaultOuterLoops.cpp +139 -0
  170. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/DefaultOuterLoops.hpp +59 -0
  171. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/DistributedSlackLoop.cpp +248 -0
  172. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/DistributedSlackLoop.hpp +121 -0
  173. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/HvdcAcEmulationLimitsLoop.cpp +117 -0
  174. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/HvdcAcEmulationLimitsLoop.hpp +65 -0
  175. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/OuterControlLayout.hpp +76 -0
  176. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/OuterControls.cpp +303 -0
  177. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/OuterControls.hpp +437 -0
  178. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/OuterLoopDriver.cpp +62 -0
  179. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/OuterLoopDriver.hpp +58 -0
  180. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/OuterRowView.cpp +338 -0
  181. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/OuterRowView.hpp +221 -0
  182. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/PhaseControlLoop.cpp +247 -0
  183. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/PhaseControlLoop.hpp +84 -0
  184. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/ReactiveLimitsLoop.cpp +601 -0
  185. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/ReactiveLimitsLoop.hpp +190 -0
  186. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/ShuntVoltageControlLoop.cpp +214 -0
  187. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/ShuntVoltageControlLoop.hpp +83 -0
  188. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/TransformerVoltageControlLoop.cpp +566 -0
  189. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/TransformerVoltageControlLoop.hpp +148 -0
  190. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/VoltageMonitoringLoop.cpp +122 -0
  191. lightsim2grid-1.3.0/src/core/powerflow_algorithm/outer_loop/VoltageMonitoringLoop.hpp +76 -0
  192. lightsim2grid-1.3.0/utils/olf_outer_compare.py +713 -0
  193. lightsim2grid-1.3.0/utils/pr_diff_stats.py +97 -0
  194. lightsim2grid-1.3.0/utils/release.py +341 -0
  195. lightsim2grid-1.2.0/CHANGELOG.rst +0 -1418
  196. lightsim2grid-1.2.0/CLAUDE.md +0 -360
  197. lightsim2grid-1.2.0/PKG-INFO +0 -361
  198. lightsim2grid-1.2.0/README.md +0 -327
  199. lightsim2grid-1.2.0/lightsim2grid/__init__.py +0 -194
  200. lightsim2grid-1.2.0/lightsim2grid/algorithm/__init__.py +0 -95
  201. lightsim2grid-1.2.0/lightsim2grid/contingencyAnalysis.py +0 -1025
  202. lightsim2grid-1.2.0/lightsim2grid/continuationPowerflow.py +0 -378
  203. lightsim2grid-1.2.0/lightsim2grid/differentiable/_batch_cpu_power_flow.py +0 -516
  204. lightsim2grid-1.2.0/lightsim2grid/injectionSweep.py +0 -94
  205. lightsim2grid-1.2.0/lightsim2grid/lightEnv.py +0 -123
  206. lightsim2grid-1.2.0/lightsim2grid/lightSimBackend.py +0 -2477
  207. lightsim2grid-1.2.0/lightsim2grid/network/__init__.py +0 -60
  208. lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/__init__.py +0 -29
  209. lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_generators.py +0 -171
  210. lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_hvdc.py +0 -189
  211. lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_lines.py +0 -97
  212. lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_shunts.py +0 -32
  213. lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_slack.py +0 -401
  214. lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_storage.py +0 -134
  215. lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_svc.py +0 -222
  216. lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_add_trafos.py +0 -137
  217. lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_aux_battery_apc.py +0 -228
  218. lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_olf_bake.py +0 -1724
  219. lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_olf_const.py +0 -110
  220. lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/_olf_params.py +0 -429
  221. lightsim2grid-1.2.0/lightsim2grid/network/from_pypowsybl/initLSGrid.py +0 -418
  222. lightsim2grid-1.2.0/lightsim2grid/pandapower_compat/dcpf/_dcpf.py +0 -65
  223. lightsim2grid-1.2.0/lightsim2grid/scenarioSweep.py +0 -736
  224. lightsim2grid-1.2.0/lightsim2grid/tests/binary_format_fixture/case14_sandbox_format18.lsb +0 -0
  225. lightsim2grid-1.2.0/lightsim2grid/tests/test_BatchCPUPowerFlow.py +0 -543
  226. lightsim2grid-1.2.0/lightsim2grid/tests/test_CKTSOSolver.py +0 -133
  227. lightsim2grid-1.2.0/lightsim2grid/tests/test_KLUSolver.py +0 -184
  228. lightsim2grid-1.2.0/lightsim2grid/tests/test_LSGrid_out_of_bounds.py +0 -261
  229. lightsim2grid-1.2.0/lightsim2grid/tests/test_LightEnv.py +0 -646
  230. lightsim2grid-1.2.0/lightsim2grid/tests/test_NICSLUSolver.py +0 -133
  231. lightsim2grid-1.2.0/lightsim2grid/tests/test_binary_serialization.py +0 -661
  232. lightsim2grid-1.2.0/lightsim2grid/tests/test_continuation_powerflow.py +0 -438
  233. lightsim2grid-1.2.0/lightsim2grid/tests/test_hold_frozen_regulators.py +0 -176
  234. lightsim2grid-1.2.0/lightsim2grid/tests/test_main_component_slack.py +0 -570
  235. lightsim2grid-1.2.0/lightsim2grid/tests/test_match_with_pypowsybl/utils_for_slack.py +0 -43
  236. lightsim2grid-1.2.0/lightsim2grid/tests/test_pf_input_robustness.py +0 -295
  237. lightsim2grid-1.2.0/lightsim2grid/tests/test_physical_violations.py +0 -927
  238. lightsim2grid-1.2.0/lightsim2grid/tests/test_pickleable.py +0 -293
  239. lightsim2grid-1.2.0/lightsim2grid/tests/test_remote_voltage_control.py +0 -175
  240. lightsim2grid-1.2.0/lightsim2grid/tests/test_scaling_refactor_policies.py +0 -483
  241. lightsim2grid-1.2.0/lightsim2grid/tests/test_solver_registry.py +0 -192
  242. lightsim2grid-1.2.0/lightsim2grid/tests/test_sparse_getters.py +0 -280
  243. lightsim2grid-1.2.0/lightsim2grid/tests/test_storage_distributed_slack.py +0 -350
  244. lightsim2grid-1.2.0/lightsim2grid/tests/test_storage_pypowsybl.py +0 -183
  245. lightsim2grid-1.2.0/lightsim2grid/tests/test_svc_can_be_pv.py +0 -256
  246. lightsim2grid-1.2.0/lightsim2grid/tests/test_svc_standby.py +0 -431
  247. lightsim2grid-1.2.0/lightsim2grid/timeSerie.py +0 -594
  248. lightsim2grid-1.2.0/pyproject.toml +0 -199
  249. lightsim2grid-1.2.0/src/bindings/python/binding_batch.cpp +0 -1294
  250. lightsim2grid-1.2.0/src/bindings/python/binding_containers.cpp +0 -468
  251. lightsim2grid-1.2.0/src/bindings/python/binding_enums.cpp +0 -95
  252. lightsim2grid-1.2.0/src/bindings/python/binding_light_env.cpp +0 -189
  253. lightsim2grid-1.2.0/src/bindings/python/binding_lsgrid.cpp +0 -624
  254. lightsim2grid-1.2.0/src/bindings/python/binding_solvers.cpp +0 -384
  255. lightsim2grid-1.2.0/src/bindings/python/sparse_helpers.hpp +0 -74
  256. lightsim2grid-1.2.0/src/core/AlgorithmSelector.hpp +0 -501
  257. lightsim2grid-1.2.0/src/core/BinaryArchive.hpp +0 -469
  258. lightsim2grid-1.2.0/src/core/BuiltinSolversRegistration.cpp +0 -94
  259. lightsim2grid-1.2.0/src/core/CMakeLists.txt +0 -524
  260. lightsim2grid-1.2.0/src/core/HvdcDroopData.hpp +0 -119
  261. lightsim2grid-1.2.0/src/core/LSGrid.cpp +0 -3388
  262. lightsim2grid-1.2.0/src/core/LSGrid.hpp +0 -3230
  263. lightsim2grid-1.2.0/src/core/SolverInstantiations.cpp +0 -77
  264. lightsim2grid-1.2.0/src/core/Solvers.hpp +0 -142
  265. lightsim2grid-1.2.0/src/core/Utils.cpp +0 -77
  266. lightsim2grid-1.2.0/src/core/Utils.hpp +0 -464
  267. lightsim2grid-1.2.0/src/core/VoltageControlPlan.cpp +0 -751
  268. lightsim2grid-1.2.0/src/core/VoltageControlPlan.hpp +0 -387
  269. lightsim2grid-1.2.0/src/core/batch_algorithm/BaseBatchSolverSynch.cpp +0 -231
  270. lightsim2grid-1.2.0/src/core/batch_algorithm/BaseBatchSolverSynch.hpp +0 -1136
  271. lightsim2grid-1.2.0/src/core/batch_algorithm/BaseBatchSweep.cpp +0 -856
  272. lightsim2grid-1.2.0/src/core/batch_algorithm/BaseBatchSweep.hpp +0 -4506
  273. lightsim2grid-1.2.0/src/core/batch_algorithm/BusQCheck.hpp +0 -422
  274. lightsim2grid-1.2.0/src/core/batch_algorithm/ContinuationSweep.cpp +0 -371
  275. lightsim2grid-1.2.0/src/core/batch_algorithm/ContinuationSweep.hpp +0 -288
  276. lightsim2grid-1.2.0/src/core/batch_algorithm/GenPvReleaseCheck.hpp +0 -322
  277. lightsim2grid-1.2.0/src/core/batch_algorithm/HvdcPCheck.hpp +0 -230
  278. lightsim2grid-1.2.0/src/core/batch_algorithm/LimitViolation.hpp +0 -246
  279. lightsim2grid-1.2.0/src/core/batch_algorithm/OperationalCheck.hpp +0 -296
  280. lightsim2grid-1.2.0/src/core/batch_algorithm/RemoteVoltageControlCheck.hpp +0 -173
  281. lightsim2grid-1.2.0/src/core/batch_algorithm/SbusPolicy.cpp +0 -308
  282. lightsim2grid-1.2.0/src/core/batch_algorithm/SbusPolicy.hpp +0 -326
  283. lightsim2grid-1.2.0/src/core/batch_algorithm/SvcStandbyCheck.hpp +0 -175
  284. lightsim2grid-1.2.0/src/core/batch_algorithm/YbusPolicy.cpp +0 -239
  285. lightsim2grid-1.2.0/src/core/batch_algorithm/YbusPolicy.hpp +0 -183
  286. lightsim2grid-1.2.0/src/core/element_container/BranchContainer.hpp +0 -1028
  287. lightsim2grid-1.2.0/src/core/element_container/GeneratorContainer.hpp +0 -464
  288. lightsim2grid-1.2.0/src/core/element_container/GenericContainer.hpp +0 -575
  289. lightsim2grid-1.2.0/src/core/element_container/HvdcLineContainer.cpp +0 -483
  290. lightsim2grid-1.2.0/src/core/element_container/HvdcLineContainer.hpp +0 -547
  291. lightsim2grid-1.2.0/src/core/element_container/OneSideContainer.hpp +0 -748
  292. lightsim2grid-1.2.0/src/core/element_container/ShuntContainer.cpp +0 -200
  293. lightsim2grid-1.2.0/src/core/element_container/ShuntContainer.hpp +0 -148
  294. lightsim2grid-1.2.0/src/core/element_container/SlackParticipation.hpp +0 -398
  295. lightsim2grid-1.2.0/src/core/element_container/StorageContainer.hpp +0 -339
  296. lightsim2grid-1.2.0/src/core/element_container/SvcContainer.cpp +0 -238
  297. lightsim2grid-1.2.0/src/core/element_container/SvcContainer.hpp +0 -267
  298. lightsim2grid-1.2.0/src/core/element_container/TrafoContainer.cpp +0 -392
  299. lightsim2grid-1.2.0/src/core/element_container/TrafoContainer.hpp +0 -321
  300. lightsim2grid-1.2.0/src/core/help_fun_msg.cpp +0 -8291
  301. lightsim2grid-1.2.0/src/core/help_fun_msg.hpp +0 -897
  302. lightsim2grid-1.2.0/src/core/light_env/protections.hpp +0 -293
  303. lightsim2grid-1.2.0/src/core/linear_solvers/CMakeLists.txt +0 -15
  304. lightsim2grid-1.2.0/src/core/linear_solvers/KLUSolver.cpp +0 -90
  305. lightsim2grid-1.2.0/src/core/linear_solvers/KLUSolver.hpp +0 -157
  306. lightsim2grid-1.2.0/src/core/linear_solvers/LinearSolverPolicy.hpp +0 -155
  307. lightsim2grid-1.2.0/src/core/powerflow_algorithm/BaseAlgo.hpp +0 -775
  308. lightsim2grid-1.2.0/src/core/powerflow_algorithm/CMakeLists.txt +0 -10
  309. lightsim2grid-1.2.0/src/core/powerflow_algorithm/NRAlgo.hpp +0 -523
  310. lightsim2grid-1.2.0/src/core/powerflow_algorithm/NRAlgo.tpp +0 -240
  311. lightsim2grid-1.2.0/src/core/powerflow_algorithm/NRSystem.hpp +0 -1840
  312. lightsim2grid-1.2.0/src/core/powerflow_algorithm/NRSystem.tpp +0 -723
  313. lightsim2grid-1.2.0/src/core/powerflow_algorithm/NRSystemVoltageControl.cpp +0 -66
  314. lightsim2grid-1.2.0/utils/pr_diff_stats.py +0 -97
  315. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/.clang-tidy +0 -0
  316. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/AUTHORS.txt +0 -0
  317. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/CMakeLists.txt +0 -0
  318. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/DISCLAIMER.md +0 -0
  319. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/LICENSE +0 -0
  320. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/LICENSE.md +0 -0
  321. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/.gitattributes +0 -0
  322. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/CMakeLists.txt +0 -0
  323. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Config/AMD.pc.in +0 -0
  324. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Config/AMDConfig.cmake.in +0 -0
  325. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Config/amd.h.in +0 -0
  326. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Config/amd_version.tex.in +0 -0
  327. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Include/amd.h +0 -0
  328. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Include/amd_internal.h +0 -0
  329. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/README.txt +0 -0
  330. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd.f +0 -0
  331. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_1.c +0 -0
  332. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_2.c +0 -0
  333. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_aat.c +0 -0
  334. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_control.c +0 -0
  335. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_defaults.c +0 -0
  336. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_dump.c +0 -0
  337. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_info.c +0 -0
  338. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l1.c +0 -0
  339. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l2.c +0 -0
  340. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_aat.c +0 -0
  341. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_control.c +0 -0
  342. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_defaults.c +0 -0
  343. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_dump.c +0 -0
  344. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_info.c +0 -0
  345. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_order.c +0 -0
  346. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_post_tree.c +0 -0
  347. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_postorder.c +0 -0
  348. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_preprocess.c +0 -0
  349. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_l_valid.c +0 -0
  350. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_order.c +0 -0
  351. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_post_tree.c +0 -0
  352. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_postorder.c +0 -0
  353. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_preprocess.c +0 -0
  354. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_valid.c +0 -0
  355. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amd_version.c +0 -0
  356. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/AMD/Source/amdbar.f +0 -0
  357. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/CMakeLists.txt +0 -0
  358. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Config/BTF.pc.in +0 -0
  359. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Config/BTFConfig.cmake.in +0 -0
  360. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Config/btf.h.in +0 -0
  361. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Include/btf.h +0 -0
  362. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Include/btf_internal.h +0 -0
  363. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/README.txt +0 -0
  364. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Source/btf_l_maxtrans.c +0 -0
  365. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Source/btf_l_order.c +0 -0
  366. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Source/btf_l_strongcomp.c +0 -0
  367. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Source/btf_maxtrans.c +0 -0
  368. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Source/btf_order.c +0 -0
  369. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Source/btf_strongcomp.c +0 -0
  370. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/BTF/Source/btf_version.c +0 -0
  371. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CITATION.bib +0 -0
  372. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CMakeLists.txt +0 -0
  373. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CODE_OF_CONDUCT.md +0 -0
  374. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/CMakeLists.txt +0 -0
  375. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/Config/COLAMD.pc.in +0 -0
  376. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/Config/COLAMDConfig.cmake.in +0 -0
  377. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/Config/colamd.h.in +0 -0
  378. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/Include/colamd.h +0 -0
  379. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/README.txt +0 -0
  380. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/Source/colamd.c +0 -0
  381. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/Source/colamd_l.c +0 -0
  382. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/COLAMD/Source/colamd_version.c +0 -0
  383. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CONTRIBUTING.md +0 -0
  384. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/CMakeLists.txt +0 -0
  385. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Config/CXSparse.pc.in +0 -0
  386. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Config/CXSparseConfig.cmake.in +0 -0
  387. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Config/cs.h.in +0 -0
  388. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Include/cs.h +0 -0
  389. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/README.txt +0 -0
  390. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/README.txt +0 -0
  391. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_add.c +0 -0
  392. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_amd.c +0 -0
  393. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_chol.c +0 -0
  394. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cholsol.c +0 -0
  395. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_add.c +0 -0
  396. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_amd.c +0 -0
  397. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_chol.c +0 -0
  398. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_cholsol.c +0 -0
  399. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_compress.c +0 -0
  400. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_counts.c +0 -0
  401. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_cumsum.c +0 -0
  402. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_dfs.c +0 -0
  403. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_dmperm.c +0 -0
  404. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_droptol.c +0 -0
  405. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_dropzeros.c +0 -0
  406. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_dupl.c +0 -0
  407. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_entry.c +0 -0
  408. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_ereach.c +0 -0
  409. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_etree.c +0 -0
  410. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_fkeep.c +0 -0
  411. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_gaxpy.c +0 -0
  412. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_happly.c +0 -0
  413. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_house.c +0 -0
  414. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_ipvec.c +0 -0
  415. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_leaf.c +0 -0
  416. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_load.c +0 -0
  417. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_lsolve.c +0 -0
  418. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_ltsolve.c +0 -0
  419. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_lu.c +0 -0
  420. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_lusol.c +0 -0
  421. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_malloc.c +0 -0
  422. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_maxtrans.c +0 -0
  423. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_multiply.c +0 -0
  424. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_norm.c +0 -0
  425. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_permute.c +0 -0
  426. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_pinv.c +0 -0
  427. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_post.c +0 -0
  428. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_print.c +0 -0
  429. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_pvec.c +0 -0
  430. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_qr.c +0 -0
  431. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_qrsol.c +0 -0
  432. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_randperm.c +0 -0
  433. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_reach.c +0 -0
  434. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_scatter.c +0 -0
  435. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_scc.c +0 -0
  436. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_schol.c +0 -0
  437. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_spsolve.c +0 -0
  438. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_sqr.c +0 -0
  439. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_symperm.c +0 -0
  440. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_tdfs.c +0 -0
  441. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_transpose.c +0 -0
  442. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_updown.c +0 -0
  443. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_usolve.c +0 -0
  444. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_util.c +0 -0
  445. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ci_utsolve.c +0 -0
  446. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_add.c +0 -0
  447. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_amd.c +0 -0
  448. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_chol.c +0 -0
  449. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_cholsol.c +0 -0
  450. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_compress.c +0 -0
  451. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_counts.c +0 -0
  452. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_cumsum.c +0 -0
  453. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_dfs.c +0 -0
  454. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_dmperm.c +0 -0
  455. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_droptol.c +0 -0
  456. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_dropzeros.c +0 -0
  457. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_dupl.c +0 -0
  458. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_entry.c +0 -0
  459. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_ereach.c +0 -0
  460. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_etree.c +0 -0
  461. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_fkeep.c +0 -0
  462. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_gaxpy.c +0 -0
  463. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_happly.c +0 -0
  464. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_house.c +0 -0
  465. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_ipvec.c +0 -0
  466. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_leaf.c +0 -0
  467. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_load.c +0 -0
  468. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_lsolve.c +0 -0
  469. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_ltsolve.c +0 -0
  470. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_lu.c +0 -0
  471. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_lusol.c +0 -0
  472. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_malloc.c +0 -0
  473. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_maxtrans.c +0 -0
  474. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_multiply.c +0 -0
  475. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_norm.c +0 -0
  476. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_permute.c +0 -0
  477. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_pinv.c +0 -0
  478. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_post.c +0 -0
  479. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_print.c +0 -0
  480. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_pvec.c +0 -0
  481. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_qr.c +0 -0
  482. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_qrsol.c +0 -0
  483. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_randperm.c +0 -0
  484. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_reach.c +0 -0
  485. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_scatter.c +0 -0
  486. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_scc.c +0 -0
  487. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_schol.c +0 -0
  488. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_spsolve.c +0 -0
  489. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_sqr.c +0 -0
  490. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_symperm.c +0 -0
  491. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_tdfs.c +0 -0
  492. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_transpose.c +0 -0
  493. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_updown.c +0 -0
  494. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_usolve.c +0 -0
  495. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_util.c +0 -0
  496. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cl_utsolve.c +0 -0
  497. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_compress.c +0 -0
  498. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_convert.c +0 -0
  499. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_counts.c +0 -0
  500. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_cumsum.c +0 -0
  501. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dfs.c +0 -0
  502. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_add.c +0 -0
  503. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_amd.c +0 -0
  504. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_chol.c +0 -0
  505. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_cholsol.c +0 -0
  506. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_compress.c +0 -0
  507. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_counts.c +0 -0
  508. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_cumsum.c +0 -0
  509. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_dfs.c +0 -0
  510. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_dmperm.c +0 -0
  511. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_droptol.c +0 -0
  512. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_dropzeros.c +0 -0
  513. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_dupl.c +0 -0
  514. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_entry.c +0 -0
  515. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_ereach.c +0 -0
  516. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_etree.c +0 -0
  517. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_fkeep.c +0 -0
  518. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_gaxpy.c +0 -0
  519. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_happly.c +0 -0
  520. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_house.c +0 -0
  521. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_ipvec.c +0 -0
  522. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_leaf.c +0 -0
  523. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_load.c +0 -0
  524. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_lsolve.c +0 -0
  525. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_ltsolve.c +0 -0
  526. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_lu.c +0 -0
  527. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_lusol.c +0 -0
  528. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_malloc.c +0 -0
  529. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_maxtrans.c +0 -0
  530. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_multiply.c +0 -0
  531. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_norm.c +0 -0
  532. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_permute.c +0 -0
  533. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_pinv.c +0 -0
  534. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_post.c +0 -0
  535. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_print.c +0 -0
  536. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_pvec.c +0 -0
  537. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_qr.c +0 -0
  538. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_qrsol.c +0 -0
  539. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_randperm.c +0 -0
  540. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_reach.c +0 -0
  541. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_scatter.c +0 -0
  542. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_scc.c +0 -0
  543. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_schol.c +0 -0
  544. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_spsolve.c +0 -0
  545. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_sqr.c +0 -0
  546. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_symperm.c +0 -0
  547. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_tdfs.c +0 -0
  548. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_transpose.c +0 -0
  549. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_updown.c +0 -0
  550. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_usolve.c +0 -0
  551. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_util.c +0 -0
  552. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dl_utsolve.c +0 -0
  553. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dmperm.c +0 -0
  554. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_droptol.c +0 -0
  555. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dropzeros.c +0 -0
  556. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_dupl.c +0 -0
  557. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_entry.c +0 -0
  558. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ereach.c +0 -0
  559. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_etree.c +0 -0
  560. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_fkeep.c +0 -0
  561. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_gaxpy.c +0 -0
  562. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_happly.c +0 -0
  563. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_house.c +0 -0
  564. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ipvec.c +0 -0
  565. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_leaf.c +0 -0
  566. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_load.c +0 -0
  567. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_lsolve.c +0 -0
  568. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_ltsolve.c +0 -0
  569. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_lu.c +0 -0
  570. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_lusol.c +0 -0
  571. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_malloc.c +0 -0
  572. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_maxtrans.c +0 -0
  573. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_multiply.c +0 -0
  574. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_norm.c +0 -0
  575. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_permute.c +0 -0
  576. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_pinv.c +0 -0
  577. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_post.c +0 -0
  578. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_print.c +0 -0
  579. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_pvec.c +0 -0
  580. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_qr.c +0 -0
  581. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_qrsol.c +0 -0
  582. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_randperm.c +0 -0
  583. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_reach.c +0 -0
  584. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_scatter.c +0 -0
  585. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_scc.c +0 -0
  586. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_schol.c +0 -0
  587. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_spsolve.c +0 -0
  588. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_sqr.c +0 -0
  589. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_symperm.c +0 -0
  590. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_tdfs.c +0 -0
  591. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_transpose.c +0 -0
  592. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_updown.c +0 -0
  593. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_usolve.c +0 -0
  594. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_util.c +0 -0
  595. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cs_utsolve.c +0 -0
  596. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/CXSparse/Source/cxsparse_version.c +0 -0
  597. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/ChangeLog +0 -0
  598. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/Contents.m +0 -0
  599. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/Contributor_License/SuiteSparse Individual Contributor License Agreement (20241011).pdf +0 -0
  600. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/CMakeLists.txt +0 -0
  601. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Config/KLU.pc.in +0 -0
  602. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Config/KLUConfig.cmake.in +0 -0
  603. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Config/KLU_CHOLMOD.pc.in +0 -0
  604. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Config/KLU_CHOLMODConfig.cmake.in +0 -0
  605. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Config/klu.h.in +0 -0
  606. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Config/klu_version.tex.in +0 -0
  607. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Include/klu.h +0 -0
  608. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Include/klu_internal.h +0 -0
  609. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Include/klu_version.h +0 -0
  610. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/README.txt +0 -0
  611. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu.c +0 -0
  612. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_analyze.c +0 -0
  613. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_analyze_given.c +0 -0
  614. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_defaults.c +0 -0
  615. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_diagnostics.c +0 -0
  616. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_dump.c +0 -0
  617. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_extract.c +0 -0
  618. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_factor.c +0 -0
  619. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_free_numeric.c +0 -0
  620. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_free_symbolic.c +0 -0
  621. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_kernel.c +0 -0
  622. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l.c +0 -0
  623. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_analyze.c +0 -0
  624. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_analyze_given.c +0 -0
  625. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_defaults.c +0 -0
  626. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_diagnostics.c +0 -0
  627. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_dump.c +0 -0
  628. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_extract.c +0 -0
  629. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_factor.c +0 -0
  630. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_free_numeric.c +0 -0
  631. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_free_symbolic.c +0 -0
  632. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_kernel.c +0 -0
  633. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_memory.c +0 -0
  634. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_refactor.c +0 -0
  635. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_scale.c +0 -0
  636. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_solve.c +0 -0
  637. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_sort.c +0 -0
  638. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_l_tsolve.c +0 -0
  639. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_memory.c +0 -0
  640. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_refactor.c +0 -0
  641. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_scale.c +0 -0
  642. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_solve.c +0 -0
  643. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_sort.c +0 -0
  644. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_tsolve.c +0 -0
  645. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_version.c +0 -0
  646. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z.c +0 -0
  647. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_diagnostics.c +0 -0
  648. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_dump.c +0 -0
  649. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_extract.c +0 -0
  650. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_factor.c +0 -0
  651. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_free_numeric.c +0 -0
  652. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_kernel.c +0 -0
  653. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_refactor.c +0 -0
  654. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_scale.c +0 -0
  655. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_solve.c +0 -0
  656. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_sort.c +0 -0
  657. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_z_tsolve.c +0 -0
  658. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl.c +0 -0
  659. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_diagnostics.c +0 -0
  660. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_dump.c +0 -0
  661. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_extract.c +0 -0
  662. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_factor.c +0 -0
  663. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_free_numeric.c +0 -0
  664. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_kernel.c +0 -0
  665. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_refactor.c +0 -0
  666. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_scale.c +0 -0
  667. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_solve.c +0 -0
  668. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_sort.c +0 -0
  669. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/KLU/Source/klu_zl_tsolve.c +0 -0
  670. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/LICENSE.txt +0 -0
  671. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/README.md +0 -0
  672. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/CMakeLists.txt +0 -0
  673. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/Config/README.md.in +0 -0
  674. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/Config/SuiteSparse_config.h.in +0 -0
  675. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/Config/SuiteSparse_config.pc.in +0 -0
  676. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/Config/SuiteSparse_configConfig.cmake.in +0 -0
  677. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/README.txt +0 -0
  678. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/SuiteSparse_config.c +0 -0
  679. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/SuiteSparse_config.h +0 -0
  680. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparseBLAS.cmake +0 -0
  681. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparseBLAS32.cmake +0 -0
  682. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparseBLAS64.cmake +0 -0
  683. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparseLAPACK.cmake +0 -0
  684. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparsePolicy.cmake +0 -0
  685. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparseReport.cmake +0 -0
  686. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparse__blas_threading.cmake +0 -0
  687. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparse__thread.cmake +0 -0
  688. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/check_mkl.c +0 -0
  689. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/check_openblas_Apr2024.c +0 -0
  690. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_config/cmake_modules/check_openblas_Mar2015.c +0 -0
  691. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_demo.m +0 -0
  692. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_install.m +0 -0
  693. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_paths.m +0 -0
  694. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/SuiteSparse/SuiteSparse_test.m +0 -0
  695. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/COPYING.APACHE +0 -0
  696. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/COPYING.BSD +0 -0
  697. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/COPYING.MINPACK +0 -0
  698. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/COPYING.MPL2 +0 -0
  699. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/COPYING.README +0 -0
  700. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/AccelerateSupport +0 -0
  701. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Cholesky +0 -0
  702. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/CholmodSupport +0 -0
  703. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Core +0 -0
  704. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Dense +0 -0
  705. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Eigen +0 -0
  706. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Eigenvalues +0 -0
  707. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Geometry +0 -0
  708. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Householder +0 -0
  709. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/IterativeLinearSolvers +0 -0
  710. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Jacobi +0 -0
  711. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/KLUSupport +0 -0
  712. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/LU +0 -0
  713. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/MetisSupport +0 -0
  714. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/OrderingMethods +0 -0
  715. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/PaStiXSupport +0 -0
  716. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/PardisoSupport +0 -0
  717. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/QR +0 -0
  718. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/QtAlignedMalloc +0 -0
  719. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/SPQRSupport +0 -0
  720. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/SVD +0 -0
  721. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Sparse +0 -0
  722. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/SparseCholesky +0 -0
  723. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/SparseCore +0 -0
  724. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/SparseLU +0 -0
  725. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/SparseQR +0 -0
  726. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/StdDeque +0 -0
  727. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/StdList +0 -0
  728. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/StdVector +0 -0
  729. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/SuperLUSupport +0 -0
  730. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/ThreadPool +0 -0
  731. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/UmfPackSupport +0 -0
  732. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/Version +0 -0
  733. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/AccelerateSupport/AccelerateSupport.h +0 -0
  734. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/AccelerateSupport/InternalHeaderCheck.h +0 -0
  735. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Cholesky/InternalHeaderCheck.h +0 -0
  736. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Cholesky/LDLT.h +0 -0
  737. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Cholesky/LLT.h +0 -0
  738. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -0
  739. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +0 -0
  740. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/CholmodSupport/InternalHeaderCheck.h +0 -0
  741. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/ArithmeticSequence.h +0 -0
  742. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Array.h +0 -0
  743. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/ArrayBase.h +0 -0
  744. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/ArrayWrapper.h +0 -0
  745. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Assign.h +0 -0
  746. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/AssignEvaluator.h +0 -0
  747. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Assign_MKL.h +0 -0
  748. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/BandMatrix.h +0 -0
  749. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Block.h +0 -0
  750. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CommaInitializer.h +0 -0
  751. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/ConditionEstimator.h +0 -0
  752. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CoreEvaluators.h +0 -0
  753. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CoreIterators.h +0 -0
  754. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CwiseBinaryOp.h +0 -0
  755. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CwiseNullaryOp.h +0 -0
  756. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CwiseTernaryOp.h +0 -0
  757. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CwiseUnaryOp.h +0 -0
  758. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/CwiseUnaryView.h +0 -0
  759. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/DenseBase.h +0 -0
  760. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/DenseCoeffsBase.h +0 -0
  761. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/DenseStorage.h +0 -0
  762. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/DeviceWrapper.h +0 -0
  763. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Diagonal.h +0 -0
  764. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/DiagonalMatrix.h +0 -0
  765. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/DiagonalProduct.h +0 -0
  766. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Dot.h +0 -0
  767. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/EigenBase.h +0 -0
  768. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Fill.h +0 -0
  769. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/FindCoeff.h +0 -0
  770. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/ForceAlignedAccess.h +0 -0
  771. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Fuzzy.h +0 -0
  772. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/GeneralProduct.h +0 -0
  773. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/GenericPacketMath.h +0 -0
  774. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/GlobalFunctions.h +0 -0
  775. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/IO.h +0 -0
  776. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/IndexedView.h +0 -0
  777. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/InnerProduct.h +0 -0
  778. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/InternalHeaderCheck.h +0 -0
  779. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Inverse.h +0 -0
  780. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Map.h +0 -0
  781. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/MapBase.h +0 -0
  782. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/MathFunctions.h +0 -0
  783. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/MathFunctionsImpl.h +0 -0
  784. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Matrix.h +0 -0
  785. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/MatrixBase.h +0 -0
  786. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/NestByValue.h +0 -0
  787. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/NoAlias.h +0 -0
  788. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/NumTraits.h +0 -0
  789. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/PartialReduxEvaluator.h +0 -0
  790. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/PermutationMatrix.h +0 -0
  791. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/PlainObjectBase.h +0 -0
  792. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Product.h +0 -0
  793. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/ProductEvaluators.h +0 -0
  794. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Random.h +0 -0
  795. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/RandomImpl.h +0 -0
  796. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/RealView.h +0 -0
  797. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Redux.h +0 -0
  798. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Ref.h +0 -0
  799. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Replicate.h +0 -0
  800. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Reshaped.h +0 -0
  801. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/ReturnByValue.h +0 -0
  802. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Reverse.h +0 -0
  803. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Select.h +0 -0
  804. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/SelfAdjointView.h +0 -0
  805. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/SelfCwiseBinaryOp.h +0 -0
  806. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/SkewSymmetricMatrix3.h +0 -0
  807. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Solve.h +0 -0
  808. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/SolveTriangular.h +0 -0
  809. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/SolverBase.h +0 -0
  810. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/StableNorm.h +0 -0
  811. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/StlIterators.h +0 -0
  812. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Stride.h +0 -0
  813. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Swap.h +0 -0
  814. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Transpose.h +0 -0
  815. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Transpositions.h +0 -0
  816. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/TriangularMatrix.h +0 -0
  817. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/VectorBlock.h +0 -0
  818. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/VectorwiseOp.h +0 -0
  819. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/Visitor.h +0 -0
  820. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX/Complex.h +0 -0
  821. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h +0 -0
  822. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX/PacketMath.h +0 -0
  823. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX/Reductions.h +0 -0
  824. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h +0 -0
  825. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/Complex.h +0 -0
  826. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/GemmKernel.h +0 -0
  827. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h +0 -0
  828. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/MathFunctionsFP16.h +0 -0
  829. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +0 -0
  830. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/PacketMathFP16.h +0 -0
  831. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/Reductions.h +0 -0
  832. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/TrsmKernel.h +0 -0
  833. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc +0 -0
  834. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h +0 -0
  835. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AVX512/TypeCastingFP16.h +0 -0
  836. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/Complex.h +0 -0
  837. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h +0 -0
  838. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +0 -0
  839. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +0 -0
  840. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +0 -0
  841. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMAbfloat16.h +0 -0
  842. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/MatrixVectorProduct.inc +0 -0
  843. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h +0 -0
  844. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/AltiVec/TypeCasting.h +0 -0
  845. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/Default/BFloat16.h +0 -0
  846. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/Default/ConjHelper.h +0 -0
  847. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +0 -0
  848. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +0 -0
  849. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/Default/Half.h +0 -0
  850. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/Default/Settings.h +0 -0
  851. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/GPU/Complex.h +0 -0
  852. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/GPU/MathFunctions.h +0 -0
  853. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/GPU/PacketMath.h +0 -0
  854. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/GPU/Tuple.h +0 -0
  855. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h +0 -0
  856. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h +0 -0
  857. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/HVX/PacketMath.h +0 -0
  858. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/LSX/Complex.h +0 -0
  859. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/LSX/GeneralBlockPanelKernel.h +0 -0
  860. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/LSX/MathFunctions.h +0 -0
  861. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/LSX/PacketMath.h +0 -0
  862. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/LSX/TypeCasting.h +0 -0
  863. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/MSA/Complex.h +0 -0
  864. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h +0 -0
  865. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/MSA/PacketMath.h +0 -0
  866. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/NEON/Complex.h +0 -0
  867. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +0 -0
  868. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h +0 -0
  869. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/NEON/PacketMath.h +0 -0
  870. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h +0 -0
  871. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/NEON/UnaryFunctors.h +0 -0
  872. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SSE/Complex.h +0 -0
  873. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h +0 -0
  874. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +0 -0
  875. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SSE/Reductions.h +0 -0
  876. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h +0 -0
  877. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h +0 -0
  878. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SVE/PacketMath.h +0 -0
  879. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h +0 -0
  880. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h +0 -0
  881. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h +0 -0
  882. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h +0 -0
  883. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h +0 -0
  884. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/ZVector/Complex.h +0 -0
  885. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h +0 -0
  886. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h +0 -0
  887. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/functors/AssignmentFunctors.h +0 -0
  888. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/functors/BinaryFunctors.h +0 -0
  889. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/functors/NullaryFunctors.h +0 -0
  890. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/functors/StlFunctors.h +0 -0
  891. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/functors/TernaryFunctors.h +0 -0
  892. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/functors/UnaryFunctors.h +0 -0
  893. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +0 -0
  894. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h +0 -0
  895. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +0 -0
  896. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +0 -0
  897. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +0 -0
  898. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/GeneralMatrixVector.h +0 -0
  899. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +0 -0
  900. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/Parallelizer.h +0 -0
  901. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +0 -0
  902. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +0 -0
  903. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h +0 -0
  904. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +0 -0
  905. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/SelfadjointProduct.h +0 -0
  906. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/SelfadjointRank2Update.h +0 -0
  907. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h +0 -0
  908. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +0 -0
  909. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/TriangularMatrixVector.h +0 -0
  910. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +0 -0
  911. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/TriangularSolverMatrix.h +0 -0
  912. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +0 -0
  913. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/products/TriangularSolverVector.h +0 -0
  914. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/Assert.h +0 -0
  915. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/BlasUtil.h +0 -0
  916. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/ConfigureVectorization.h +0 -0
  917. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/Constants.h +0 -0
  918. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +0 -0
  919. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/EmulateArray.h +0 -0
  920. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/ForwardDeclarations.h +0 -0
  921. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/GpuHipCudaDefines.inc +0 -0
  922. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/GpuHipCudaUndefines.inc +0 -0
  923. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/IndexedViewHelper.h +0 -0
  924. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/IntegralConstant.h +0 -0
  925. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/MKL_support.h +0 -0
  926. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/Macros.h +0 -0
  927. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/MaxSizeVector.h +0 -0
  928. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/Memory.h +0 -0
  929. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/Meta.h +0 -0
  930. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/MoreMeta.h +0 -0
  931. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h +0 -0
  932. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/ReshapedHelper.h +0 -0
  933. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/Serializer.h +0 -0
  934. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/StaticAssert.h +0 -0
  935. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/SymbolicIndex.h +0 -0
  936. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Core/util/XprHelper.h +0 -0
  937. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -0
  938. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +0 -0
  939. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -0
  940. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/EigenSolver.h +0 -0
  941. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -0
  942. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -0
  943. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -0
  944. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/InternalHeaderCheck.h +0 -0
  945. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -0
  946. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/RealQZ.h +0 -0
  947. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/RealSchur.h +0 -0
  948. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -0
  949. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -0
  950. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -0
  951. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -0
  952. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/AlignedBox.h +0 -0
  953. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/AngleAxis.h +0 -0
  954. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/EulerAngles.h +0 -0
  955. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Homogeneous.h +0 -0
  956. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Hyperplane.h +0 -0
  957. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/InternalHeaderCheck.h +0 -0
  958. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/OrthoMethods.h +0 -0
  959. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/ParametrizedLine.h +0 -0
  960. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Quaternion.h +0 -0
  961. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Rotation2D.h +0 -0
  962. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/RotationBase.h +0 -0
  963. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Scaling.h +0 -0
  964. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Transform.h +0 -0
  965. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Translation.h +0 -0
  966. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/Umeyama.h +0 -0
  967. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -0
  968. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Householder/BlockHouseholder.h +0 -0
  969. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Householder/Householder.h +0 -0
  970. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Householder/HouseholderSequence.h +0 -0
  971. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Householder/InternalHeaderCheck.h +0 -0
  972. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -0
  973. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -0
  974. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -0
  975. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -0
  976. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -0
  977. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/InternalHeaderCheck.h +0 -0
  978. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -0
  979. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -0
  980. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -0
  981. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Jacobi/InternalHeaderCheck.h +0 -0
  982. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/Jacobi/Jacobi.h +0 -0
  983. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/KLUSupport/InternalHeaderCheck.h +0 -0
  984. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/KLUSupport/KLUSupport.h +0 -0
  985. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/LU/Determinant.h +0 -0
  986. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/LU/FullPivLU.h +0 -0
  987. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/LU/InternalHeaderCheck.h +0 -0
  988. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/LU/InverseImpl.h +0 -0
  989. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/LU/PartialPivLU.h +0 -0
  990. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -0
  991. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/LU/arch/InverseSize4.h +0 -0
  992. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/MetisSupport/InternalHeaderCheck.h +0 -0
  993. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/MetisSupport/MetisSupport.h +0 -0
  994. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/OrderingMethods/Amd.h +0 -0
  995. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -0
  996. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/OrderingMethods/InternalHeaderCheck.h +0 -0
  997. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/OrderingMethods/Ordering.h +0 -0
  998. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/PaStiXSupport/InternalHeaderCheck.h +0 -0
  999. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -0
  1000. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/PardisoSupport/InternalHeaderCheck.h +0 -0
  1001. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +0 -0
  1002. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/QR/ColPivHouseholderQR.h +0 -0
  1003. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -0
  1004. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -0
  1005. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/QR/FullPivHouseholderQR.h +0 -0
  1006. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/QR/HouseholderQR.h +0 -0
  1007. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -0
  1008. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/QR/InternalHeaderCheck.h +0 -0
  1009. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SPQRSupport/InternalHeaderCheck.h +0 -0
  1010. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -0
  1011. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SVD/BDCSVD.h +0 -0
  1012. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SVD/BDCSVD_LAPACKE.h +0 -0
  1013. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SVD/InternalHeaderCheck.h +0 -0
  1014. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SVD/JacobiSVD.h +0 -0
  1015. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -0
  1016. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SVD/SVDBase.h +0 -0
  1017. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SVD/UpperBidiagonalization.h +0 -0
  1018. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCholesky/InternalHeaderCheck.h +0 -0
  1019. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -0
  1020. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -0
  1021. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/AmbiVector.h +0 -0
  1022. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/CompressedStorage.h +0 -0
  1023. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -0
  1024. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/InternalHeaderCheck.h +0 -0
  1025. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseAssign.h +0 -0
  1026. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseBlock.h +0 -0
  1027. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseColEtree.h +0 -0
  1028. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +0 -0
  1029. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -0
  1030. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -0
  1031. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +0 -0
  1032. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -0
  1033. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseDot.h +0 -0
  1034. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseFuzzy.h +0 -0
  1035. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseMap.h +0 -0
  1036. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseMatrix.h +0 -0
  1037. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +0 -0
  1038. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparsePermutation.h +0 -0
  1039. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseProduct.h +0 -0
  1040. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseRedux.h +0 -0
  1041. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseRef.h +0 -0
  1042. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -0
  1043. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseSolverBase.h +0 -0
  1044. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -0
  1045. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseTranspose.h +0 -0
  1046. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseTriangularView.h +0 -0
  1047. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseUtil.h +0 -0
  1048. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseVector.h +0 -0
  1049. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/SparseView.h +0 -0
  1050. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseCore/TriangularSolver.h +0 -0
  1051. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/InternalHeaderCheck.h +0 -0
  1052. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU.h +0 -0
  1053. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLUImpl.h +0 -0
  1054. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +0 -0
  1055. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +0 -0
  1056. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -0
  1057. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +0 -0
  1058. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -0
  1059. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -0
  1060. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -0
  1061. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -0
  1062. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -0
  1063. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -0
  1064. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -0
  1065. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -0
  1066. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -0
  1067. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -0
  1068. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseQR/InternalHeaderCheck.h +0 -0
  1069. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SparseQR/SparseQR.h +0 -0
  1070. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/StlSupport/StdDeque.h +0 -0
  1071. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/StlSupport/StdList.h +0 -0
  1072. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/StlSupport/StdVector.h +0 -0
  1073. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/StlSupport/details.h +0 -0
  1074. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SuperLUSupport/InternalHeaderCheck.h +0 -0
  1075. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -0
  1076. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/Barrier.h +0 -0
  1077. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/CoreThreadPoolDevice.h +0 -0
  1078. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/EventCount.h +0 -0
  1079. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/ForkJoin.h +0 -0
  1080. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/InternalHeaderCheck.h +0 -0
  1081. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/NonBlockingThreadPool.h +0 -0
  1082. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/RunQueue.h +0 -0
  1083. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/ThreadCancel.h +0 -0
  1084. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/ThreadEnvironment.h +0 -0
  1085. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/ThreadLocal.h +0 -0
  1086. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/ThreadPoolInterface.h +0 -0
  1087. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/ThreadPool/ThreadYield.h +0 -0
  1088. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/UmfPackSupport/InternalHeaderCheck.h +0 -0
  1089. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -0
  1090. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/Image.h +0 -0
  1091. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/InternalHeaderCheck.h +0 -0
  1092. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/Kernel.h +0 -0
  1093. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/RealSvd2x2.h +0 -0
  1094. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/blas.h +0 -0
  1095. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/lapacke.h +0 -0
  1096. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/lapacke_helpers.h +0 -0
  1097. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/misc/lapacke_mangling.h +0 -0
  1098. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.inc +0 -0
  1099. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.inc +0 -0
  1100. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/BlockMethods.inc +0 -0
  1101. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.inc +0 -0
  1102. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.inc +0 -0
  1103. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/IndexedViewMethods.inc +0 -0
  1104. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/InternalHeaderCheck.inc +0 -0
  1105. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.inc +0 -0
  1106. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.inc +0 -0
  1107. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/Eigen/src/plugins/ReshapedMethods.inc +0 -0
  1108. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/LICENSE +0 -0
  1109. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/eigen/README.md +0 -0
  1110. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/_solver_type.py +0 -0
  1111. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/_utils/__init__.py +0 -0
  1112. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/compilation_options/__init__.py +0 -0
  1113. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/differentiable/__init__.py +0 -0
  1114. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/differentiable/_flows.py +0 -0
  1115. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/elements/__init__.py +0 -0
  1116. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/gridmodel/__init__.py +0 -0
  1117. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/_default_algorithms.py +0 -0
  1118. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/compare_lsgrid.py +0 -0
  1119. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_matpower/__init__.py +0 -0
  1120. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_matpower/_aux_check_legit.py +0 -0
  1121. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_matpower/_mpc_to_powermodels.py +0 -0
  1122. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_matpower/_my_const.py +0 -0
  1123. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_matpower/_parse_matpower_source.py +0 -0
  1124. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_matpower/initLSGrid.py +0 -0
  1125. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/__init__.py +0 -0
  1126. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_dc_line.py +0 -0
  1127. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_gen.py +0 -0
  1128. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_line.py +0 -0
  1129. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_load.py +0 -0
  1130. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_sgen.py +0 -0
  1131. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_shunt.py +0 -0
  1132. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_slack.py +0 -0
  1133. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_storage.py +0 -0
  1134. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_add_trafo.py +0 -0
  1135. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_aux_check_legit.py +0 -0
  1136. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_my_const.py +0 -0
  1137. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/_pp_bus_to_ls_bus.py +0 -0
  1138. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pandapower/initLSGrid.py +0 -0
  1139. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/__init__.py +0 -0
  1140. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_add_branch.py +0 -0
  1141. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_add_dc_line.py +0 -0
  1142. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_add_gen.py +0 -0
  1143. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_add_load.py +0 -0
  1144. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_add_shunt.py +0 -0
  1145. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_add_slack.py +0 -0
  1146. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_add_storage.py +0 -0
  1147. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_aux_check_legit.py +0 -0
  1148. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_bus_remap.py +0 -0
  1149. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_from_pfdelta.py +0 -0
  1150. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/_my_const.py +0 -0
  1151. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_powermodels/initLSGrid.py +0 -0
  1152. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/_aux_add_buses.py +0 -0
  1153. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/_aux_add_loads.py +0 -0
  1154. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/_aux_common.py +0 -0
  1155. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/_aux_handle_slack.py +0 -0
  1156. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/_my_const.py +0 -0
  1157. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/_olf_compare.py +0 -0
  1158. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/_result_network.py +0 -0
  1159. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/network/from_pypowsybl/pypowsybl.ipynb +0 -0
  1160. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/newtonpf/__init__.py +0 -0
  1161. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/pandapower_compat/__init__.py +0 -0
  1162. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/pandapower_compat/dcpf/__init__.py +0 -0
  1163. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/pandapower_compat/newtonpf/__init__.py +0 -0
  1164. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/pandapower_compat/newtonpf/_newtonpf.py +0 -0
  1165. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/physical_law_checker.py +0 -0
  1166. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/rewards/__init__.py +0 -0
  1167. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/rewards/n1ContingencyReward.py +0 -0
  1168. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/securityAnalysis.py +0 -0
  1169. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/solver/__init__.py +0 -0
  1170. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/_aux_make_hvdc.py +0 -0
  1171. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/_exotic_elements_case_ls.py +0 -0
  1172. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/_exotic_elements_fixture.py +0 -0
  1173. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/_gen_exotic_elements_case.py +0 -0
  1174. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case118.zip +0 -0
  1175. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case14.zip +0 -0
  1176. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case1888.zip +0 -0
  1177. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case30.zip +0 -0
  1178. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case300.zip +0 -0
  1179. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_iidm/grid copy.xiidm +0 -0
  1180. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_iidm/grid.xiidm +0 -0
  1181. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_matpower/config.py +0 -0
  1182. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_matpower/grid.m +0 -0
  1183. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/load_p.csv.bz2 +0 -0
  1184. {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
  1185. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/load_q.csv.bz2 +0 -0
  1186. {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
  1187. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/prod_p.csv.bz2 +0 -0
  1188. {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
  1189. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/prod_v.csv.bz2 +0 -0
  1190. {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
  1191. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/start_datetime.info +0 -0
  1192. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-12/time_interval.info +0 -0
  1193. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/load_p.csv.bz2 +0 -0
  1194. {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
  1195. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/load_q.csv.bz2 +0 -0
  1196. {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
  1197. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/prod_p.csv.bz2 +0 -0
  1198. {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
  1199. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/prod_v.csv.bz2 +0 -0
  1200. {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
  1201. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/start_datetime.info +0 -0
  1202. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-13/time_interval.info +0 -0
  1203. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/load_p.csv.bz2 +0 -0
  1204. {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
  1205. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/load_q.csv.bz2 +0 -0
  1206. {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
  1207. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/prod_p.csv.bz2 +0 -0
  1208. {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
  1209. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/prod_v.csv.bz2 +0 -0
  1210. {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
  1211. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/start_datetime.info +0 -0
  1212. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-14/time_interval.info +0 -0
  1213. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/load_p.csv.bz2 +0 -0
  1214. {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
  1215. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/load_q.csv.bz2 +0 -0
  1216. {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
  1217. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/prod_p.csv.bz2 +0 -0
  1218. {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
  1219. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/prod_v.csv.bz2 +0 -0
  1220. {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
  1221. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/start_datetime.info +0 -0
  1222. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-15/time_interval.info +0 -0
  1223. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/load_p.csv.bz2 +0 -0
  1224. {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
  1225. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/load_q.csv.bz2 +0 -0
  1226. {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
  1227. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/prod_p.csv.bz2 +0 -0
  1228. {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
  1229. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/prod_v.csv.bz2 +0 -0
  1230. {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
  1231. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/start_datetime.info +0 -0
  1232. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-16/time_interval.info +0 -0
  1233. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/load_p.csv.bz2 +0 -0
  1234. {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
  1235. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/load_q.csv.bz2 +0 -0
  1236. {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
  1237. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/prod_p.csv.bz2 +0 -0
  1238. {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
  1239. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/prod_v.csv.bz2 +0 -0
  1240. {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
  1241. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/start_datetime.info +0 -0
  1242. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-17/time_interval.info +0 -0
  1243. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/load_p.csv.bz2 +0 -0
  1244. {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
  1245. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/load_q.csv.bz2 +0 -0
  1246. {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
  1247. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/prod_p.csv.bz2 +0 -0
  1248. {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
  1249. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/prod_v.csv.bz2 +0 -0
  1250. {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
  1251. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/start_datetime.info +0 -0
  1252. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/chronics/2019-01-18/time_interval.info +0 -0
  1253. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/config.py +0 -0
  1254. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/convert_from_grid2op.py +0 -0
  1255. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/difficulty_levels.json +0 -0
  1256. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/grid.xiidm +0 -0
  1257. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/grid_layout.json +0 -0
  1258. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/prods_charac.csv +0 -0
  1259. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/case_14_storage_iidm/storage_units_charac.csv +0 -0
  1260. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/debug_gen_pf_delta_fixture.py +0 -0
  1261. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/debug_larger_grid.py +0 -0
  1262. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/dist_slack_test.json +0 -0
  1263. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/dont_run_test_reco_deco_shunt.py +0 -0
  1264. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/global_var_tests.py +0 -0
  1265. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/jacobian_case14_sandbox/jacobian_io.py +0 -0
  1266. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/jacobian_case14_sandbox/save_jacobian.py +0 -0
  1267. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/jacobian_case14_sandbox/save_jacobian_multi.py +0 -0
  1268. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/jacobian_case14_sandbox/saved_jacobian_multi.npz +0 -0
  1269. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/jacobian_case14_sandbox/saved_jacobian_single.npz +0 -0
  1270. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/no_test_disconnect_doesnt_refactor.py +0 -0
  1271. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/save_data.py +0 -0
  1272. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_2.pickle +0 -0
  1273. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_generators.pickle +0 -0
  1274. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_generators_2.pickle +0 -0
  1275. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_lines.pickle +0 -0
  1276. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_lines_2.pickle +0 -0
  1277. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_loads.pickle +0 -0
  1278. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_loads_2.pickle +0 -0
  1279. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_shunts.pickle +0 -0
  1280. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_shunts_2.pickle +0 -0
  1281. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_storages.pickle +0 -0
  1282. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_storages_2.pickle +0 -0
  1283. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_substations.pickle +0 -0
  1284. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_substations_2.pickle +0 -0
  1285. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_trafos.pickle +0 -0
  1286. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/old_pickle/test_pickle_get_trafos_2.pickle +0 -0
  1287. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/output.out +0 -0
  1288. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/output.txt +0 -0
  1289. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/pf_delta_case14.json +0 -0
  1290. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/probe_olf_degenerate.py +0 -0
  1291. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/probe_olf_qsharing.py +0 -0
  1292. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/probe_olf_svc_slope.py +0 -0
  1293. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/ref_trafo.pickle +0 -0
  1294. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/req_oldpp.txt +0 -0
  1295. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ACPF.py +0 -0
  1296. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_Checker.py +0 -0
  1297. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_Computers.py +0 -0
  1298. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ContingencyAnalysis_bindings.py +0 -0
  1299. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ContingencyAnalysis_dc_threads.py +0 -0
  1300. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ContingencyAnalysis_limit_violations.py +0 -0
  1301. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ContingencyAnalysis_split.py +0 -0
  1302. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_DCPF.py +0 -0
  1303. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_DCSecurityAnlysis.py +0 -0
  1304. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_DataConverter.py +0 -0
  1305. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_Deactivatedbus.py +0 -0
  1306. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_DoNothingACDC.py +0 -0
  1307. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_GaussSeidelSolver.py +0 -0
  1308. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_InjectionSweep.py +0 -0
  1309. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_Iterators.py +0 -0
  1310. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_J_col_converters.py +0 -0
  1311. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_KLUBackendAction.py +0 -0
  1312. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_KLUBackendDN.py +0 -0
  1313. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_KLUBackendTestAgent.py +0 -0
  1314. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_LSGrid_pandapower.py +0 -0
  1315. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_LSGrid_pf_delta.py +0 -0
  1316. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_LSGrid_pypowsybl.py +0 -0
  1317. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_LightSimBackend.py +0 -0
  1318. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_NewtonPF.py +0 -0
  1319. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_RedispatchEnv.py +0 -0
  1320. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_Runner.py +0 -0
  1321. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ScenarioSweep.py +0 -0
  1322. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ScenarioSweep_dc.py +0 -0
  1323. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ScenarioSweep_exotic.py +0 -0
  1324. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ScenarioSweep_gen_contingency.py +0 -0
  1325. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ScenarioSweep_results.py +0 -0
  1326. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ScenarioSweep_topology.py +0 -0
  1327. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_SecurityAnlysis.py +0 -0
  1328. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_SecurityAnlysis_cpp.py +0 -0
  1329. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_SparseLUSolver.py +0 -0
  1330. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_TimeSerie.py +0 -0
  1331. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_algo_reset_copy_persistence.py +0 -0
  1332. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_backend_matpower.py +0 -0
  1333. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_backend_pypowsybl.py +0 -0
  1334. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_basic_backend_api.py +0 -0
  1335. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_basic_backend_api_noshunt.py +0 -0
  1336. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_batch_algorithm_solver_selection.py +0 -0
  1337. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_batch_redistribute_slack.py +0 -0
  1338. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_bus_fusion_pypowsybl.py +0 -0
  1339. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_cache_reuse.py +0 -0
  1340. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_can_participate_slack.py +0 -0
  1341. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_cap_slack_at_active_limits.py +0 -0
  1342. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_case118.py +0 -0
  1343. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_check_grid.py +0 -0
  1344. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_compat_legacy_grid2op.py +0 -0
  1345. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_correct_substation_pypowsybl.py +0 -0
  1346. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_dc_dist_slack.py +0 -0
  1347. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_dcline.py +0 -0
  1348. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_deepcopy.py +0 -0
  1349. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_detach_if_not_main_comp.py +0 -0
  1350. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_dist_slack_backend.py +0 -0
  1351. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_dist_slack_jacobian.py +0 -0
  1352. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_exotic_elements_case_ls.py +0 -0
  1353. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_fdpf.py +0 -0
  1354. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_gen_can_be_pv.py +0 -0
  1355. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_gen_reactive_curve_swap.py +0 -0
  1356. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_gridmodel_change_bus.py +0 -0
  1357. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_batch.py +0 -0
  1358. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_can_be_pv.py +0 -0
  1359. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_converter_stations.py +0 -0
  1360. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_dc.py +0 -0
  1361. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_droop.py +0 -0
  1362. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_main_component.py +0 -0
  1363. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_no_hvdc_bit_identical.py +0 -0
  1364. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_pickle.py +0 -0
  1365. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_hvdc_pypowsybl.py +0 -0
  1366. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_init_from_matpower.py +0 -0
  1367. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_init_from_pypowsybl.py +0 -0
  1368. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_issue_101.py +0 -0
  1369. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_issue_30.py +0 -0
  1370. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_issue_56.py +0 -0
  1371. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_issue_66.py +0 -0
  1372. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_issue_glop_360.py +0 -0
  1373. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_jacobian.py +0 -0
  1374. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_keep_vinit_group_controlled.py +0 -0
  1375. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_limits_pypowsybl.py +0 -0
  1376. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_line_disco_one_side.py +0 -0
  1377. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_loader_default_algorithm.py +0 -0
  1378. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_lodf.py +0 -0
  1379. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_lsgrid_physical_violations.py +0 -0
  1380. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_lsgrid_violations.py +0 -0
  1381. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_match_with_pypowsybl/__init__.py +0 -0
  1382. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_match_with_pypowsybl/example_test_case300.py +0 -0
  1383. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_multi_slack.py +0 -0
  1384. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_multiple_slack.py +0 -0
  1385. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_n1contingencyrewards.py +0 -0
  1386. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_n_busbar_per_sub.py +0 -0
  1387. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_nr_case300.py +0 -0
  1388. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_olf_bake.py +0 -0
  1389. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_plugin_registration.py +0 -0
  1390. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_pp_converter_trafo.py +0 -0
  1391. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_pst_tap_impedance.py +0 -0
  1392. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_ptdf.py +0 -0
  1393. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_relabel_matrix.py +0 -0
  1394. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_remote_control_disconnected_target.py +0 -0
  1395. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_solver_control.py +0 -0
  1396. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_state_poisoning.py +0 -0
  1397. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_storage_voltage_control.py +0 -0
  1398. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_time_series_dc.py +0 -0
  1399. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_timeseries_sbus.py +0 -0
  1400. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_turnedoff_nopv.py +0 -0
  1401. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_voltage_control_batch.py +0 -0
  1402. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_voltage_control_pypowsybl.py +0 -0
  1403. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_voltage_control_reclassify.py +0 -0
  1404. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_voltage_control_remote_gen.py +0 -0
  1405. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/test_voltage_control_svc.py +0 -0
  1406. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/lightsim2grid/tests/working_trafo.pickle +0 -0
  1407. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/requirements_compile_ci.txt +0 -0
  1408. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/bindings/python/CMakeLists.txt +0 -0
  1409. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/bindings/python/binary_helpers.hpp +0 -0
  1410. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/bindings/python/binding_declarations.hpp +0 -0
  1411. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/bindings/python/binding_misc.cpp +0 -0
  1412. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/bindings/python/binding_module.cpp +0 -0
  1413. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/bindings/python/pickle_helpers.hpp +0 -0
  1414. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/AlgoConfig.hpp +0 -0
  1415. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/AlgorithmRegistry.cpp +0 -0
  1416. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/AlgorithmRegistry.hpp +0 -0
  1417. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/AlgorithmSelector.cpp +0 -0
  1418. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/AlgorithmTypeNames.cpp +0 -0
  1419. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/AlgorithmTypeNames.hpp +0 -0
  1420. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/BaseConstants.cpp +0 -0
  1421. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/BaseConstants.hpp +0 -0
  1422. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/BinaryArchive.cpp +0 -0
  1423. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/BuiltinSolversRegistration.hpp +0 -0
  1424. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/BusGraph.hpp +0 -0
  1425. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/CustTimer.hpp +0 -0
  1426. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/DataConverter.cpp +0 -0
  1427. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/DataConverter.hpp +0 -0
  1428. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/IIDMConverter.cpp +0 -0
  1429. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/IIDMConverter.hpp +0 -0
  1430. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/Ls2gAbiTag.cpp +0 -0
  1431. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/Ls2gAbiTag.hpp +0 -0
  1432. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/SolverSideCache.hpp +0 -0
  1433. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/SubstationContainer.cpp +0 -0
  1434. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/SubstationContainer.hpp +0 -0
  1435. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/TaggedIdVec.hpp +0 -0
  1436. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/VoltageControlData.hpp +0 -0
  1437. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/batch_algorithm/BatchAdjoint.cpp +0 -0
  1438. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/batch_algorithm/BatchAdjoint.hpp +0 -0
  1439. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/batch_algorithm/CMakeLists.txt +0 -0
  1440. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/batch_algorithm/GenPCheck.hpp +0 -0
  1441. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/batch_algorithm/TopoPlan.hpp +0 -0
  1442. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/cmake/lightsim2grid_coreConfig.cmake.in +0 -0
  1443. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/BranchEndContainer.hpp +0 -0
  1444. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/CMakeLists.txt +0 -0
  1445. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/Container_IteratorUtils.hpp +0 -0
  1446. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/ConverterStationContainer.cpp +0 -0
  1447. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/ConverterStationContainer.hpp +0 -0
  1448. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/GeneratorContainer.cpp +0 -0
  1449. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/GenericContainer.cpp +0 -0
  1450. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/LineContainer.cpp +0 -0
  1451. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/LineContainer.hpp +0 -0
  1452. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/LoadContainer.cpp +0 -0
  1453. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/LoadContainer.hpp +0 -0
  1454. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/OneSideContainer_PQ.hpp +0 -0
  1455. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/SGenContainer.cpp +0 -0
  1456. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/SGenContainer.hpp +0 -0
  1457. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/SlackRedistribution.hpp +0 -0
  1458. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/StorageContainer.cpp +0 -0
  1459. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/TwoSidesContainer.hpp +0 -0
  1460. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/element_container/VoltageSourceContainer.hpp +0 -0
  1461. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/light_env/inj_action.hpp +0 -0
  1462. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/light_env/light_env.hpp +0 -0
  1463. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/light_env/light_env_utils.hpp +0 -0
  1464. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/light_env/topo_action.hpp +0 -0
  1465. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/CKTSOSolver.cpp +0 -0
  1466. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/CKTSOSolver.hpp +0 -0
  1467. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/LinearSolverStats.hpp +0 -0
  1468. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/NICSLUSolver.cpp +0 -0
  1469. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/NICSLUSolver.hpp +0 -0
  1470. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/RefactorRetryLinearSolver.hpp +0 -0
  1471. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/SparseLUSolver.cpp +0 -0
  1472. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/linear_solvers/SparseLUSolver.hpp +0 -0
  1473. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/ls2g_api.hpp +0 -0
  1474. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/BaseAlgo.cpp +0 -0
  1475. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/BaseDCAlgo.hpp +0 -0
  1476. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/BaseDCAlgo.tpp +0 -0
  1477. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/BaseFDPFAlgo.hpp +0 -0
  1478. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/BaseFDPFAlgo.tpp +0 -0
  1479. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/GaussSeidelAlgo.cpp +0 -0
  1480. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/GaussSeidelAlgo.hpp +0 -0
  1481. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/GaussSeidelSynchAlgo.cpp +0 -0
  1482. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/GaussSeidelSynchAlgo.hpp +0 -0
  1483. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/MultiSlackNRSystem.hpp +0 -0
  1484. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/NRLedger.hpp +0 -0
  1485. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/NRSystemBase.cpp +0 -0
  1486. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/NRSystemHvdc.cpp +0 -0
  1487. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/NRSystemMultiSlack.cpp +0 -0
  1488. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/RefactorPolicies.hpp +0 -0
  1489. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/ScalingPolicies.hpp +0 -0
  1490. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/ScalingPolicies.tpp +0 -0
  1491. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/SingleSlackNRSystem.hpp +0 -0
  1492. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/SlackPolicies.hpp +0 -0
  1493. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/src/core/powerflow_algorithm/SlackPolicies.tpp +0 -0
  1494. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/utils/Dockerfile +0 -0
  1495. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/utils/Dockerfile_light +0 -0
  1496. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/utils/Dockerfile_test +0 -0
  1497. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/utils/build-wheels.sh +0 -0
  1498. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/utils/fix_ppnet.py +0 -0
  1499. {lightsim2grid-1.2.0 → lightsim2grid-1.3.0}/utils/push_docker.py +0 -0
  1500. {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