GridCalEngine 5.0.1__tar.gz → 5.0.2__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 (402) hide show
  1. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/NTC/ntc_opf.py +25 -28
  2. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/OPF/linear_opf_ts.py +44 -44
  3. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/power_flow_worker.py +140 -132
  4. GridCalEngine-5.0.2/GridCalEngine/Utils/MIP/ortools_interface.py +307 -0
  5. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Utils/MIP/selected_interface.py +2 -4
  6. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/__version__.py +1 -1
  7. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/PKG-INFO +1 -1
  8. GridCalEngine-5.0.1/GridCalEngine/Utils/MIP/ortools_interface.py +0 -175
  9. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Compilers/__init__.py +0 -0
  10. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Compilers/circuit_to_bentayga.py +0 -0
  11. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Compilers/circuit_to_data.py +0 -0
  12. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Compilers/circuit_to_newton_pa.py +0 -0
  13. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Compilers/circuit_to_optimods.py +0 -0
  14. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Compilers/circuit_to_pgm.py +0 -0
  15. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/DataStructures/__init__.py +0 -0
  16. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/DataStructures/battery_data.py +0 -0
  17. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/DataStructures/branch_data.py +0 -0
  18. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/DataStructures/bus_data.py +0 -0
  19. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/DataStructures/generator_data.py +0 -0
  20. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/DataStructures/hvdc_data.py +0 -0
  21. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/DataStructures/load_data.py +0 -0
  22. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/DataStructures/numerical_circuit.py +0 -0
  23. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/DataStructures/shunt_data.py +0 -0
  24. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Aggregation/__init__.py +0 -0
  25. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Aggregation/area.py +0 -0
  26. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Aggregation/contingency.py +0 -0
  27. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Aggregation/contingency_group.py +0 -0
  28. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Aggregation/country.py +0 -0
  29. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Aggregation/emission_gas.py +0 -0
  30. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Aggregation/fuel.py +0 -0
  31. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Aggregation/investment.py +0 -0
  32. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Aggregation/investments_group.py +0 -0
  33. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Aggregation/technology.py +0 -0
  34. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Aggregation/zone.py +0 -0
  35. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Associations/__init__.py +0 -0
  36. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Associations/generator_emission.py +0 -0
  37. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Associations/generator_fuel.py +0 -0
  38. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Associations/generator_technology.py +0 -0
  39. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/__init__.py +0 -0
  40. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/branch.py +0 -0
  41. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/dc_line.py +0 -0
  42. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/hvdc_line.py +0 -0
  43. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/line.py +0 -0
  44. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/switch.py +0 -0
  45. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/tap_changer.py +0 -0
  46. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/templates/__init__.py +0 -0
  47. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/templates/line_template.py +0 -0
  48. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/templates/overhead_line_type.py +0 -0
  49. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/templates/parent_branch.py +0 -0
  50. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/templates/sequence_line_type.py +0 -0
  51. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/templates/transformer_type.py +0 -0
  52. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/templates/underground_line.py +0 -0
  53. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/transformer.py +0 -0
  54. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/transformer3w.py +0 -0
  55. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/upfc.py +0 -0
  56. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/vsc.py +0 -0
  57. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/winding.py +0 -0
  58. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Branches/wire.py +0 -0
  59. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Diagrams/__init__.py +0 -0
  60. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Diagrams/base_diagram.py +0 -0
  61. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Diagrams/bus_branch_diagram.py +0 -0
  62. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Diagrams/graphic_location.py +0 -0
  63. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Diagrams/map_diagram.py +0 -0
  64. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Diagrams/map_location.py +0 -0
  65. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Diagrams/node_breaker_diagram.py +0 -0
  66. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Fluid/__init__.py +0 -0
  67. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Fluid/fluid_node.py +0 -0
  68. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Fluid/fluid_path.py +0 -0
  69. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Fluid/fluid_pump.py +0 -0
  70. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Fluid/fluid_turbine.py +0 -0
  71. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Injections/__init__.py +0 -0
  72. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Injections/battery.py +0 -0
  73. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Injections/external_grid.py +0 -0
  74. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Injections/generator.py +0 -0
  75. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Injections/generator_q_curve.py +0 -0
  76. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Injections/injection_template.py +0 -0
  77. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Injections/load.py +0 -0
  78. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Injections/shunt.py +0 -0
  79. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Injections/static_generator.py +0 -0
  80. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Substation/__init__.py +0 -0
  81. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Substation/bus.py +0 -0
  82. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Substation/connectivity_node.py +0 -0
  83. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/Substation/substation.py +0 -0
  84. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/__init__.py +0 -0
  85. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/editable_device.py +0 -0
  86. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/measurement.py +0 -0
  87. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/multi_circuit.py +0 -0
  88. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/profile.py +0 -0
  89. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/Devices/sparse_array.py +0 -0
  90. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/__init__.py +0 -0
  91. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/admittance_matrices.py +0 -0
  92. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Core/topology.py +0 -0
  93. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/__init__.py +0 -0
  94. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/base/__init__.py +0 -0
  95. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/base/base_circuit.py +0 -0
  96. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/base/base_device.py +0 -0
  97. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/base/base_property.py +0 -0
  98. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/base/units.py +0 -0
  99. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/__init__.py +0 -0
  100. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/__init__.py +0 -0
  101. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/cgmes_circuit.py +0 -0
  102. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/cgmes_data_parser.py +0 -0
  103. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/cgmes_enums.py +0 -0
  104. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/cgmes_poperty.py +0 -0
  105. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/cgmes_to_gridcal.py +0 -0
  106. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/cgmes_writer.py +0 -0
  107. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/__init__.py +0 -0
  108. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/aggregation/__init__.py +0 -0
  109. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/aggregation/cgm_region.py +0 -0
  110. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/aggregation/control_area.py +0 -0
  111. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/aggregation/energy_area.py +0 -0
  112. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/aggregation/geographical_region.py +0 -0
  113. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/aggregation/load_area.py +0 -0
  114. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/aggregation/merging_agent.py +0 -0
  115. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/aggregation/modelling_authority.py +0 -0
  116. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/aggregation/operational_limit_set.py +0 -0
  117. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/aggregation/operational_limit_type.py +0 -0
  118. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/aggregation/sub_geographical_region.py +0 -0
  119. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/aggregation/sub_load_area.py +0 -0
  120. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/base.py +0 -0
  121. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/__init__.py +0 -0
  122. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/current_limit.py +0 -0
  123. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/dipole.py +0 -0
  124. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/equivalent_branch.py +0 -0
  125. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/line/__init__.py +0 -0
  126. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/line/ac_line_segment.py +0 -0
  127. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/line/line.py +0 -0
  128. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/tie_flow.py +0 -0
  129. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/transformer/__init__.py +0 -0
  130. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/transformer/phase_tap_changer.py +0 -0
  131. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/transformer/phase_tap_changer_non_linear.py +0 -0
  132. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/transformer/phase_tap_changer_symmetrical.py +0 -0
  133. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/transformer/phase_tap_changer_table.py +0 -0
  134. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/transformer/phase_tap_changer_table_point.py +0 -0
  135. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/transformer/phase_tap_changer_tabular.py +0 -0
  136. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/transformer/power_transformer.py +0 -0
  137. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/transformer/power_transformer_end.py +0 -0
  138. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/transformer/ratio_tap_changer.py +0 -0
  139. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/transformer/ratio_tap_changer_table.py +0 -0
  140. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/transformer/ratio_tap_changer_table_point.py +0 -0
  141. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/transformer/tap_changer.py +0 -0
  142. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/branches/transformer/tap_changer_control.py +0 -0
  143. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/conducting_equipment.py +0 -0
  144. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/equipment.py +0 -0
  145. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/equipment_container.py +0 -0
  146. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/equivalent_equipment.py +0 -0
  147. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/full_model.py +0 -0
  148. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/identified_object.py +0 -0
  149. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/__init__.py +0 -0
  150. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/energy_scheduling_type.py +0 -0
  151. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/energy_source.py +0 -0
  152. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/generation/__init__.py +0 -0
  153. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/generation/control_area_generating_unit.py +0 -0
  154. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/generation/fossil_fuel.py +0 -0
  155. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/generation/fuel_type.py +0 -0
  156. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/generation/generating_unit.py +0 -0
  157. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/generation/hydro_generating_unit.py +0 -0
  158. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/generation/hydro_power_plant.py +0 -0
  159. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/generation/hydro_pump.py +0 -0
  160. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/generation/nuclear_generating_unit.py +0 -0
  161. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/generation/reactive_capability_curve.py +0 -0
  162. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/generation/rotating_machine.py +0 -0
  163. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/generation/solar_generating_unit.py +0 -0
  164. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/generation/synchronous_machine.py +0 -0
  165. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/generation/thermal_generating_unit.py +0 -0
  166. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/generation/wind_generating_unit.py +0 -0
  167. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/load/__init__.py +0 -0
  168. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/load/conform_load.py +0 -0
  169. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/load/conform_load_group.py +0 -0
  170. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/load/energy_consumer.py +0 -0
  171. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/load/equivalent_injection.py +0 -0
  172. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/load/equivalent_network.py +0 -0
  173. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/load/load_group.py +0 -0
  174. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/load/load_response_characteristic.py +0 -0
  175. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/load/non_conform_load.py +0 -0
  176. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/load/non_conform_load_group.py +0 -0
  177. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/monopole.py +0 -0
  178. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/power_systems_resource.py +0 -0
  179. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/regulating_cond_eq.py +0 -0
  180. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/regulating_control.py +0 -0
  181. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/shunt/__init__.py +0 -0
  182. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/shunt/linear_shunt_compensator.py +0 -0
  183. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/shunt/shunt_compensator.py +0 -0
  184. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/injections/shunt/static_var_compensator.py +0 -0
  185. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/inputs/__init__.py +0 -0
  186. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/inputs/curve.py +0 -0
  187. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/inputs/curve_data.py +0 -0
  188. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/results/__init__.py +0 -0
  189. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/results/sv_power_flow.py +0 -0
  190. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/results/sv_shunt_compensator_sections.py +0 -0
  191. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/results/sv_tap_step.py +0 -0
  192. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/results/sv_voltage.py +0 -0
  193. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/results/topological_island.py +0 -0
  194. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/substation/__init__.py +0 -0
  195. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/substation/acdc_terminal.py +0 -0
  196. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/substation/base_voltage.py +0 -0
  197. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/substation/breaker.py +0 -0
  198. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/substation/bus_bar_section.py +0 -0
  199. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/substation/bus_name_marker.py +0 -0
  200. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/substation/connectivity_node.py +0 -0
  201. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/substation/connectivity_node_container.py +0 -0
  202. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/substation/connector.py +0 -0
  203. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/substation/junction.py +0 -0
  204. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/substation/load_breaker_switch.py +0 -0
  205. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/substation/substation.py +0 -0
  206. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/substation/switch.py +0 -0
  207. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/substation/voltage_level.py +0 -0
  208. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/substation/voltage_limit.py +0 -0
  209. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/terminal.py +0 -0
  210. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cgmes_2_4_15/devices/topological_node.py +0 -0
  211. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cim16/__init__.py +0 -0
  212. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cim16/cim_circuit.py +0 -0
  213. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cim16/cim_data_parser.py +0 -0
  214. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cim16/cim_devices.py +0 -0
  215. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cim16/cim_enums.py +0 -0
  216. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/cim16/cim_parser.py +0 -0
  217. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/db/__init__.py +0 -0
  218. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/db/base_db.py +0 -0
  219. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/db/cgmes_lookup_db.py +0 -0
  220. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/db/db_handler.py +0 -0
  221. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/db/file_system.py +0 -0
  222. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/cim/db/psse_lookup_db.py +0 -0
  223. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/dgs/__init__.py +0 -0
  224. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/dgs/dgs_parser.py +0 -0
  225. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/epc/__init__.py +0 -0
  226. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/epc/epc_parser.py +0 -0
  227. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/file_handler.py +0 -0
  228. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/file_system.py +0 -0
  229. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/gridcal/__init__.py +0 -0
  230. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/gridcal/contingency_parser.py +0 -0
  231. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/gridcal/excel_interface.py +0 -0
  232. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/gridcal/generic_io_functions.py +0 -0
  233. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/gridcal/h5_interface.py +0 -0
  234. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/gridcal/json_parser.py +0 -0
  235. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/gridcal/pack_unpack.py +0 -0
  236. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/gridcal/sqlite_interface.py +0 -0
  237. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/gridcal/zip_interface.py +0 -0
  238. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/matpower/__init__.py +0 -0
  239. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/matpower/matpower_branch_definitions.py +0 -0
  240. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/matpower/matpower_bus_definitions.py +0 -0
  241. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/matpower/matpower_gen_definitions.py +0 -0
  242. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/matpower/matpower_parser.py +0 -0
  243. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/matpower/matpower_storage_definitions.py +0 -0
  244. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/others/__init__.py +0 -0
  245. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/others/dpx_parser.py +0 -0
  246. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/others/ipa_parser.py +0 -0
  247. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/others/plx_parser.py +0 -0
  248. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/others/pypsa_parser.py +0 -0
  249. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/__init__.py +0 -0
  250. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/__init__.py +0 -0
  251. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/area.py +0 -0
  252. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/branch.py +0 -0
  253. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/bus.py +0 -0
  254. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/facts.py +0 -0
  255. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/fixed_shunt.py +0 -0
  256. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/generator.py +0 -0
  257. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/gne_device.py +0 -0
  258. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/induction_machine.py +0 -0
  259. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/inter_area.py +0 -0
  260. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/load.py +0 -0
  261. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/node.py +0 -0
  262. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/owner.py +0 -0
  263. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/psse_circuit.py +0 -0
  264. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/psse_object.py +0 -0
  265. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/psse_property.py +0 -0
  266. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/substation.py +0 -0
  267. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/switched_shunt.py +0 -0
  268. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/system_switching_device.py +0 -0
  269. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/transformer.py +0 -0
  270. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/two_terminal_dc_line.py +0 -0
  271. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/vsc_dc_line.py +0 -0
  272. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/devices/zone.py +0 -0
  273. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/gridcal_to_raw.py +0 -0
  274. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/raw_functions.py +0 -0
  275. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/raw_parser_legacy.py +0 -0
  276. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/raw_parser_writer.py +0 -0
  277. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/raw_to_gridcal.py +0 -0
  278. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/rawx_parser_legacy.py +0 -0
  279. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/IO/raw/rawx_parser_writer.py +0 -0
  280. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/LICENSE.txt +0 -0
  281. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ATC/__init__.py +0 -0
  282. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ATC/available_transfer_capacity_driver.py +0 -0
  283. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ATC/available_transfer_capacity_ts_driver.py +0 -0
  284. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Clustering/__init__.py +0 -0
  285. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Clustering/clustering.py +0 -0
  286. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Clustering/clustering_driver.py +0 -0
  287. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Clustering/clustering_options.py +0 -0
  288. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Clustering/clustering_results.py +0 -0
  289. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ContingencyAnalysis/__init__.py +0 -0
  290. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ContingencyAnalysis/contingencies_report.py +0 -0
  291. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_driver.py +0 -0
  292. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_options.py +0 -0
  293. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_results.py +0 -0
  294. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_driver.py +0 -0
  295. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_results.py +0 -0
  296. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_plan.py +0 -0
  297. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ContingencyAnalysis/helm_contingencies.py +0 -0
  298. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ContinuationPowerFlow/__init__.py +0 -0
  299. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow.py +0 -0
  300. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_driver.py +0 -0
  301. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_input.py +0 -0
  302. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_options.py +0 -0
  303. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_results.py +0 -0
  304. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Dynamics/__init__.py +0 -0
  305. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Dynamics/dynamic_modules.py +0 -0
  306. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Dynamics/transient_stability_driver.py +0 -0
  307. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/InputsAnalysis/__init__.py +0 -0
  308. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/InputsAnalysis/inputs_analysis_driver.py +0 -0
  309. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/InvestmentsEvaluation/MVRSM.py +0 -0
  310. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/InvestmentsEvaluation/__init__.py +0 -0
  311. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_driver.py +0 -0
  312. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_results.py +0 -0
  313. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/InvestmentsEvaluation/stop_crits.py +0 -0
  314. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/LinearFactors/__init__.py +0 -0
  315. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/LinearFactors/linear_analysis.py +0 -0
  316. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/LinearFactors/linear_analysis_driver.py +0 -0
  317. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/LinearFactors/linear_analysis_options.py +0 -0
  318. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/LinearFactors/linear_analysis_results.py +0 -0
  319. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_driver.py +0 -0
  320. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_results.py +0 -0
  321. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/NTC/__init__.py +0 -0
  322. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/NTC/ntc_driver.py +0 -0
  323. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/NTC/ntc_options.py +0 -0
  324. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/NTC/ntc_results.py +0 -0
  325. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/NTC/ntc_ts_driver.py +0 -0
  326. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/NTC/ntc_ts_results.py +0 -0
  327. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/OPF/__init__.py +0 -0
  328. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/OPF/opf_driver.py +0 -0
  329. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/OPF/opf_options.py +0 -0
  330. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/OPF/opf_results.py +0 -0
  331. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/OPF/opf_ts_driver.py +0 -0
  332. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/OPF/opf_ts_results.py +0 -0
  333. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/OPF/simple_dispatch_ts.py +0 -0
  334. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/__init__.py +0 -0
  335. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/ac_jacobian.py +0 -0
  336. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/acdc_jacobian.py +0 -0
  337. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/common_functions.py +0 -0
  338. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/derivatives.py +0 -0
  339. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/discrete_controls.py +0 -0
  340. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/fast_decoupled.py +0 -0
  341. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/gauss_power_flow.py +0 -0
  342. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/helm_power_flow.py +0 -0
  343. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/iwamoto_newton_raphson.py +0 -0
  344. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt.py +0 -0
  345. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt_acdc.py +0 -0
  346. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/linearized_power_flow.py +0 -0
  347. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson.py +0 -0
  348. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_acdc.py +0 -0
  349. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_current.py +0 -0
  350. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_decoupled.py +0 -0
  351. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_ode.py +0 -0
  352. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/__init__.py +0 -0
  353. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/power_flow_driver.py +0 -0
  354. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/power_flow_options.py +0 -0
  355. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/power_flow_results.py +0 -0
  356. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_driver.py +0 -0
  357. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_input.py +0 -0
  358. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_results.py +0 -0
  359. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ShortCircuitStudies/__init__.py +0 -0
  360. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit.py +0 -0
  361. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_driver.py +0 -0
  362. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_results.py +0 -0
  363. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_worker.py +0 -0
  364. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/SigmaAnalysis/__init__.py +0 -0
  365. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/SigmaAnalysis/sigma_analysis_driver.py +0 -0
  366. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/StateEstimation/__init__.py +0 -0
  367. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/StateEstimation/state_estimation.py +0 -0
  368. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/StateEstimation/state_stimation_driver.py +0 -0
  369. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Stochastic/__init__.py +0 -0
  370. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Stochastic/blackout_driver.py +0 -0
  371. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Stochastic/latin_hypercube_sampling.py +0 -0
  372. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Stochastic/reliability_driver.py +0 -0
  373. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_driver.py +0 -0
  374. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_input.py +0 -0
  375. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_results.py +0 -0
  376. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Topology/__init__.py +0 -0
  377. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/Topology/topology_driver.py +0 -0
  378. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/__init__.py +0 -0
  379. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/driver_template.py +0 -0
  380. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/driver_types.py +0 -0
  381. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/result_types.py +0 -0
  382. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/results_table.py +0 -0
  383. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/results_template.py +0 -0
  384. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Simulations/sparse_solve.py +0 -0
  385. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Utils/MIP/__init__.py +0 -0
  386. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Utils/MIP/pulp_interface.py +0 -0
  387. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Utils/Sparse/__init__.py +0 -0
  388. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Utils/Sparse/csc.py +0 -0
  389. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Utils/Sparse/csc_numba.py +0 -0
  390. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Utils/Sparse/utils.py +0 -0
  391. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Utils/ThirdParty/SyntheticNetworks/__init__.py +0 -0
  392. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Utils/ThirdParty/SyntheticNetworks/rpgm_algo.py +0 -0
  393. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Utils/ThirdParty/__init__.py +0 -0
  394. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/Utils/__init__.py +0 -0
  395. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/__init__.py +0 -0
  396. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/api.py +0 -0
  397. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/basic_structures.py +0 -0
  398. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/data_logger.py +0 -0
  399. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/enumerations.py +0 -0
  400. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/GridCalEngine/grid_analysis.py +0 -0
  401. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/setup.cfg +0 -0
  402. {GridCalEngine-5.0.1 → GridCalEngine-5.0.2}/setup.py +0 -0
@@ -33,9 +33,8 @@ from GridCalEngine.Core.DataStructures.load_data import LoadData
33
33
  from GridCalEngine.Core.DataStructures.branch_data import BranchData
34
34
  from GridCalEngine.Core.DataStructures.hvdc_data import HvdcData
35
35
  from GridCalEngine.Core.DataStructures.bus_data import BusData
36
- from GridCalEngine.basic_structures import Logger, Mat, Vec, IntVec, BoolVec, StrVec, DateVec, CxMat
37
- from GridCalEngine.Utils.MIP.selected_interface import (LpExp, LpVar, LpModel, get_lp_var_value, lpDot,
38
- set_var_bounds, join)
36
+ from GridCalEngine.basic_structures import Logger, Vec, IntVec, BoolVec, StrVec, CxMat
37
+ from GridCalEngine.Utils.MIP.selected_interface import LpExp, LpVar, LpModel, lpDot, set_var_bounds, join
39
38
  from GridCalEngine.enumerations import TransformerControlType, HvdcControlType, AvailableTransferMode
40
39
  from GridCalEngine.Simulations.LinearFactors.linear_analysis import LinearAnalysis, LinearMultiContingencies
41
40
  from GridCalEngine.Simulations.ATC.available_transfer_capacity_driver import compute_alpha
@@ -315,7 +314,7 @@ class BusNtcVars:
315
314
  self.Pcalc = np.zeros((nt, n_elm), dtype=object)
316
315
  self.inj_delta = np.zeros((nt, n_elm), dtype=object)
317
316
 
318
- def get_values(self, Sbase: float) -> "BusNtcVars":
317
+ def get_values(self, Sbase: float, model: LpModel) -> "BusNtcVars":
319
318
  """
320
319
  Return an instance of this class where the arrays content are not LP vars but their value
321
320
  :return: BusVars
@@ -329,13 +328,11 @@ class BusNtcVars:
329
328
  for t in range(nt):
330
329
 
331
330
  for i in range(n_elm):
332
- data.theta[t, i] = get_lp_var_value(self.theta[t, i])
333
- data.shadow_prices[t, i] = get_lp_var_value(self.kirchhoff[t, i])
334
-
335
- data.load_shedding[t, i] = get_lp_var_value(self.load_shedding[t, i]) * Sbase
336
-
337
- data.Pcalc[t, i] = get_lp_var_value(self.Pcalc[t, i]) * Sbase
338
- data.inj_delta[t, i] = get_lp_var_value(self.inj_delta[t, i])
331
+ data.theta[t, i] = model.get_value(self.theta[t, i])
332
+ data.shadow_prices[t, i] = model.get_dual_value(self.kirchhoff[t, i])
333
+ data.load_shedding[t, i] = model.get_value(self.load_shedding[t, i]) * Sbase
334
+ data.Pcalc[t, i] = model.get_value(self.Pcalc[t, i]) * Sbase
335
+ data.inj_delta[t, i] = model.get_value(self.inj_delta[t, i])
339
336
 
340
337
  # format the arrays appropriately
341
338
  data.theta = data.theta.astype(float, copy=False)
@@ -375,7 +372,7 @@ class BranchNtcVars:
375
372
  # t, m, c, contingency, negative_slack, positive_slack
376
373
  self.contingency_flow_data: List[Tuple[int, int, int, Union[float, LpVar, LpExp], LpVar, LpVar]] = list()
377
374
 
378
- def get_values(self, Sbase: float) -> "BranchNtcVars":
375
+ def get_values(self, Sbase: float, model: LpModel) -> "BranchNtcVars":
379
376
  """
380
377
  Return an instance of this class where the arrays content are not LP vars but their value
381
378
  :return: BranchVars
@@ -387,19 +384,19 @@ class BranchNtcVars:
387
384
 
388
385
  for t in range(nt):
389
386
  for i in range(n_elm):
390
- data.flows[t, i] = get_lp_var_value(self.flows[t, i]) * Sbase
391
- data.flow_slacks_pos[t, i] = get_lp_var_value(self.flow_slacks_pos[t, i]) * Sbase
392
- data.flow_slacks_neg[t, i] = get_lp_var_value(self.flow_slacks_neg[t, i]) * Sbase
393
- data.tap_angles[t, i] = get_lp_var_value(self.tap_angles[t, i])
394
- data.flow_constraints_ub[t, i] = get_lp_var_value(self.flow_constraints_ub[t, i])
395
- data.flow_constraints_lb[t, i] = get_lp_var_value(self.flow_constraints_lb[t, i])
387
+ data.flows[t, i] = model.get_value(self.flows[t, i]) * Sbase
388
+ data.flow_slacks_pos[t, i] = model.get_value(self.flow_slacks_pos[t, i]) * Sbase
389
+ data.flow_slacks_neg[t, i] = model.get_value(self.flow_slacks_neg[t, i]) * Sbase
390
+ data.tap_angles[t, i] = model.get_value(self.tap_angles[t, i])
391
+ data.flow_constraints_ub[t, i] = model.get_value(self.flow_constraints_ub[t, i])
392
+ data.flow_constraints_lb[t, i] = model.get_value(self.flow_constraints_lb[t, i])
396
393
 
397
394
  for i in range(len(self.contingency_flow_data)):
398
395
  t, m, c, var, neg_slack, pos_slack = self.contingency_flow_data[i]
399
396
  self.contingency_flow_data[i] = (t, m, c,
400
- get_lp_var_value(var),
401
- get_lp_var_value(neg_slack),
402
- get_lp_var_value(pos_slack))
397
+ model.get_value(var),
398
+ model.get_value(neg_slack),
399
+ model.get_value(pos_slack))
403
400
 
404
401
  # format the arrays appropriately
405
402
  data.flows = data.flows.astype(float, copy=False)
@@ -444,7 +441,7 @@ class HvdcNtcVars:
444
441
  self.rates = np.zeros((nt, n_elm), dtype=float)
445
442
  self.loading = np.zeros((nt, n_elm), dtype=float)
446
443
 
447
- def get_values(self, Sbase: float) -> "HvdcNtcVars":
444
+ def get_values(self, Sbase: float, model: LpModel) -> "HvdcNtcVars":
448
445
  """
449
446
  Return an instance of this class where the arrays content are not LP vars but their value
450
447
  :return: HvdcVars
@@ -455,7 +452,7 @@ class HvdcNtcVars:
455
452
 
456
453
  for t in range(nt):
457
454
  for i in range(n_elm):
458
- data.flows[t, i] = get_lp_var_value(self.flows[t, i]) * Sbase
455
+ data.flows[t, i] = model.get_value(self.flows[t, i]) * Sbase
459
456
 
460
457
  # format the arrays appropriately
461
458
  data.flows = data.flows.astype(float, copy=False)
@@ -500,7 +497,7 @@ class NtcVars:
500
497
  # power shift
501
498
  self.power_shift = np.zeros(nt, dtype=object)
502
499
 
503
- def get_values(self, Sbase: float) -> "NtcVars":
500
+ def get_values(self, Sbase: float, model: LpModel) -> "NtcVars":
504
501
  """
505
502
  Return an instance of this class where the arrays content are not LP vars but their value
506
503
  :return: OpfVars instance
@@ -517,15 +514,15 @@ class NtcVars:
517
514
  n_hvdc=self.n_hvdc,
518
515
  model=self.model)
519
516
 
520
- data.bus_vars = self.bus_vars.get_values(Sbase)
521
- data.branch_vars = self.branch_vars.get_values(Sbase)
522
- data.hvdc_vars = self.hvdc_vars.get_values(Sbase)
517
+ data.bus_vars = self.bus_vars.get_values(Sbase, model)
518
+ data.branch_vars = self.branch_vars.get_values(Sbase, model)
519
+ data.hvdc_vars = self.hvdc_vars.get_values(Sbase, model)
523
520
 
524
521
  # todo: check if acceptable_solution must to be an array, one solution per hour
525
522
  data.acceptable_solution = self.acceptable_solution
526
523
 
527
524
  for t in range(nt):
528
- data.power_shift[t] = get_lp_var_value(self.power_shift[t])
525
+ data.power_shift[t] = model.get_value(self.power_shift[t])
529
526
 
530
527
  # format the arrays appropriately
531
528
  data.power_shift = data.power_shift.astype(float, copy=False)
@@ -34,8 +34,7 @@ from GridCalEngine.Core.DataStructures.branch_data import BranchData
34
34
  from GridCalEngine.Core.DataStructures.hvdc_data import HvdcData
35
35
  from GridCalEngine.Core.DataStructures.bus_data import BusData
36
36
  from GridCalEngine.basic_structures import Logger, Vec, IntVec, DateVec
37
- from GridCalEngine.Utils.MIP.selected_interface import (LpExp, LpVar, LpModel, get_lp_var_value, lpDot,
38
- set_var_bounds, join)
37
+ from GridCalEngine.Utils.MIP.selected_interface import LpExp, LpVar, LpModel, lpDot, set_var_bounds, join
39
38
  from GridCalEngine.enumerations import TransformerControlType, HvdcControlType
40
39
  from GridCalEngine.Simulations.LinearFactors.linear_analysis import LinearAnalysis, LinearMultiContingency, \
41
40
  LinearMultiContingencies
@@ -88,7 +87,7 @@ class BusVars:
88
87
  self.kirchhoff = np.zeros((nt, n_elm), dtype=object)
89
88
  self.shadow_prices = np.zeros((nt, n_elm), dtype=float)
90
89
 
91
- def get_values(self, Sbase: float) -> "BusVars":
90
+ def get_values(self, Sbase: float, model: LpModel) -> "BusVars":
92
91
  """
93
92
  Return an instance of this class where the arrays content are not LP vars but their value
94
93
  :return: BusVars
@@ -100,10 +99,10 @@ class BusVars:
100
99
 
101
100
  for t in range(nt):
102
101
  for i in range(n_elm):
103
- data.theta[t, i] = get_lp_var_value(self.theta[t, i])
104
- data.Pcalc[t, i] = get_lp_var_value(self.Pcalc[t, i])
105
- data.branch_injections[t, i] = get_lp_var_value(self.branch_injections[t, i]) * Sbase
106
- data.shadow_prices[t, i] = get_lp_var_value(self.kirchhoff[t, i])
102
+ data.theta[t, i] = model.get_value(self.theta[t, i])
103
+ data.Pcalc[t, i] = model.get_value(self.Pcalc[t, i])
104
+ data.branch_injections[t, i] = model.get_value(self.branch_injections[t, i]) * Sbase
105
+ data.shadow_prices[t, i] = model.get_dual_value(self.kirchhoff[t, i])
107
106
 
108
107
  # format the arrays aproprietly
109
108
  data.theta = data.theta.astype(float, copy=False)
@@ -128,7 +127,7 @@ class LoadVars:
128
127
 
129
128
  self.p = np.zeros((nt, n_elm), dtype=float) # to be filled (no vars)
130
129
 
131
- def get_values(self, Sbase: float) -> "LoadVars":
130
+ def get_values(self, Sbase: float, model: LpModel) -> "LoadVars":
132
131
  """
133
132
  Return an instance of this class where the arrays content are not LP vars but their value
134
133
  :return: LoadVars
@@ -140,7 +139,7 @@ class LoadVars:
140
139
 
141
140
  for t in range(nt):
142
141
  for i in range(n_elm):
143
- data.shedding[t, i] = get_lp_var_value(self.shedding[t, i]) * Sbase
142
+ data.shedding[t, i] = model.get_value(self.shedding[t, i]) * Sbase
144
143
 
145
144
  # format the arrays aproprietly
146
145
  data.shedding = data.shedding.astype(float, copy=False)
@@ -165,7 +164,7 @@ class GenerationVars:
165
164
  self.starting_up = np.zeros((nt, n_elm), dtype=object)
166
165
  self.shutting_down = np.zeros((nt, n_elm), dtype=object)
167
166
 
168
- def get_values(self, Sbase: float) -> "GenerationVars":
167
+ def get_values(self, Sbase: float, model: LpModel) -> "GenerationVars":
169
168
  """
170
169
  Return an instance of this class where the arrays content are not LP vars but their value
171
170
  :return: GenerationVars
@@ -175,11 +174,11 @@ class GenerationVars:
175
174
 
176
175
  for t in range(nt):
177
176
  for i in range(n_elm):
178
- data.p[t, i] = get_lp_var_value(self.p[t, i]) * Sbase
179
- data.shedding[t, i] = get_lp_var_value(self.shedding[t, i]) * Sbase
180
- data.producing[t, i] = get_lp_var_value(self.producing[t, i])
181
- data.starting_up[t, i] = get_lp_var_value(self.starting_up[t, i])
182
- data.shutting_down[t, i] = get_lp_var_value(self.shutting_down[t, i])
177
+ data.p[t, i] = model.get_value(self.p[t, i]) * Sbase
178
+ data.shedding[t, i] = model.get_value(self.shedding[t, i]) * Sbase
179
+ data.producing[t, i] = model.get_value(self.producing[t, i])
180
+ data.starting_up[t, i] = model.get_value(self.starting_up[t, i])
181
+ data.shutting_down[t, i] = model.get_value(self.shutting_down[t, i])
183
182
 
184
183
  # format the arrays aproprietly
185
184
  data.p = data.p.astype(float, copy=False)
@@ -205,7 +204,7 @@ class BatteryVars(GenerationVars):
205
204
  GenerationVars.__init__(self, nt=nt, n_elm=n_elm)
206
205
  self.e = np.zeros((nt, n_elm), dtype=object)
207
206
 
208
- def get_values(self, Sbase: float) -> "BatteryVars":
207
+ def get_values(self, Sbase: float, model: LpModel) -> "BatteryVars":
209
208
  """
210
209
  Return an instance of this class where the arrays content are not LP vars but their value
211
210
  :return: GenerationVars
@@ -215,12 +214,12 @@ class BatteryVars(GenerationVars):
215
214
 
216
215
  for t in range(nt):
217
216
  for i in range(n_elm):
218
- data.p[t, i] = get_lp_var_value(self.p[t, i]) * Sbase
219
- data.e[t, i] = get_lp_var_value(self.e[t, i]) * Sbase
220
- data.shedding[t, i] = get_lp_var_value(self.shedding[t, i]) * Sbase
221
- data.producing[t, i] = get_lp_var_value(self.producing[t, i])
222
- data.starting_up[t, i] = get_lp_var_value(self.starting_up[t, i])
223
- data.shutting_down[t, i] = get_lp_var_value(self.shutting_down[t, i])
217
+ data.p[t, i] = model.get_value(self.p[t, i]) * Sbase
218
+ data.e[t, i] = model.get_value(self.e[t, i]) * Sbase
219
+ data.shedding[t, i] = model.get_value(self.shedding[t, i]) * Sbase
220
+ data.producing[t, i] = model.get_value(self.producing[t, i])
221
+ data.starting_up[t, i] = model.get_value(self.starting_up[t, i])
222
+ data.shutting_down[t, i] = model.get_value(self.shutting_down[t, i])
224
223
 
225
224
  # format the arrays aproprietly
226
225
  data.p = data.p.astype(float, copy=False)
@@ -257,7 +256,7 @@ class BranchVars:
257
256
  # t, m, c, contingency, negative_slack, positive_slack
258
257
  self.contingency_flow_data: List[Tuple[int, int, int, Union[float, LpVar, LpExp], LpVar, LpVar]] = list()
259
258
 
260
- def get_values(self, Sbase: float) -> "BranchVars":
259
+ def get_values(self, Sbase: float, model: LpModel) -> "BranchVars":
261
260
  """
262
261
  Return an instance of this class where the arrays content are not LP vars but their value
263
262
  :return: BranchVars
@@ -268,19 +267,19 @@ class BranchVars:
268
267
 
269
268
  for t in range(nt):
270
269
  for i in range(n_elm):
271
- data.flows[t, i] = get_lp_var_value(self.flows[t, i]) * Sbase
272
- data.flow_slacks_pos[t, i] = get_lp_var_value(self.flow_slacks_pos[t, i]) * Sbase
273
- data.flow_slacks_neg[t, i] = get_lp_var_value(self.flow_slacks_neg[t, i]) * Sbase
274
- data.tap_angles[t, i] = get_lp_var_value(self.tap_angles[t, i])
275
- data.flow_constraints_ub[t, i] = get_lp_var_value(self.flow_constraints_ub[t, i])
276
- data.flow_constraints_lb[t, i] = get_lp_var_value(self.flow_constraints_lb[t, i])
270
+ data.flows[t, i] = model.get_value(self.flows[t, i]) * Sbase
271
+ data.flow_slacks_pos[t, i] = model.get_value(self.flow_slacks_pos[t, i]) * Sbase
272
+ data.flow_slacks_neg[t, i] = model.get_value(self.flow_slacks_neg[t, i]) * Sbase
273
+ data.tap_angles[t, i] = model.get_value(self.tap_angles[t, i])
274
+ data.flow_constraints_ub[t, i] = model.get_value(self.flow_constraints_ub[t, i])
275
+ data.flow_constraints_lb[t, i] = model.get_value(self.flow_constraints_lb[t, i])
277
276
 
278
277
  for i in range(len(self.contingency_flow_data)):
279
278
  t, m, c, var, neg_slack, pos_slack = self.contingency_flow_data[i]
280
279
  self.contingency_flow_data[i] = (t, m, c,
281
- get_lp_var_value(var),
282
- get_lp_var_value(neg_slack),
283
- get_lp_var_value(pos_slack))
280
+ model.get_value(var),
281
+ model.get_value(neg_slack),
282
+ model.get_value(pos_slack))
284
283
 
285
284
  # format the arrays aproprietly
286
285
  data.flows = data.flows.astype(float, copy=False)
@@ -325,7 +324,7 @@ class HvdcVars:
325
324
  self.rates = np.zeros((nt, n_elm), dtype=float)
326
325
  self.loading = np.zeros((nt, n_elm), dtype=float)
327
326
 
328
- def get_values(self, Sbase: float) -> "HvdcVars":
327
+ def get_values(self, Sbase: float, model: LpModel) -> "HvdcVars":
329
328
  """
330
329
  Return an instance of this class where the arrays content are not LP vars but their value
331
330
  :return: HvdcVars
@@ -336,7 +335,7 @@ class HvdcVars:
336
335
 
337
336
  for t in range(nt):
338
337
  for i in range(n_elm):
339
- data.flows[t, i] = get_lp_var_value(self.flows[t, i]) * Sbase
338
+ data.flows[t, i] = model.get_value(self.flows[t, i]) * Sbase
340
339
 
341
340
  # format the arrays aproprietly
342
341
  data.flows = data.flows.astype(float, copy=False)
@@ -379,7 +378,7 @@ class OpfVars:
379
378
  self.branch_vars = BranchVars(nt=nt, n_elm=nbr)
380
379
  self.hvdc_vars = HvdcVars(nt=nt, n_elm=n_hvdc)
381
380
 
382
- def get_values(self, Sbase: float) -> "OpfVars":
381
+ def get_values(self, Sbase: float, model: LpModel) -> "OpfVars":
383
382
  """
384
383
  Return an instance of this class where the arrays content are not LP vars but their value
385
384
  :return: OpfVars instance
@@ -391,12 +390,12 @@ class OpfVars:
391
390
  nl=self.nl,
392
391
  nbr=self.nbr,
393
392
  n_hvdc=self.n_hvdc)
394
- data.bus_vars = self.bus_vars.get_values(Sbase)
395
- data.load_vars = self.load_vars.get_values(Sbase)
396
- data.gen_vars = self.gen_vars.get_values(Sbase)
397
- data.batt_vars = self.batt_vars.get_values(Sbase)
398
- data.branch_vars = self.branch_vars.get_values(Sbase)
399
- data.hvdc_vars = self.hvdc_vars.get_values(Sbase)
393
+ data.bus_vars = self.bus_vars.get_values(Sbase, model)
394
+ data.load_vars = self.load_vars.get_values(Sbase, model)
395
+ data.gen_vars = self.gen_vars.get_values(Sbase, model)
396
+ data.batt_vars = self.batt_vars.get_values(Sbase, model)
397
+ data.branch_vars = self.branch_vars.get_values(Sbase, model)
398
+ data.hvdc_vars = self.hvdc_vars.get_values(Sbase, model)
400
399
 
401
400
  data.acceptable_solution = self.acceptable_solution
402
401
  return data
@@ -635,8 +634,9 @@ def add_linear_battery_formulation(t: Union[int, None],
635
634
 
636
635
  # power boundaries of the generator
637
636
  if not skip_generation_limits:
638
- batt_vars.p[t, k].SetLb(batt_data_t.availability[k] * batt_data_t.pmin[k] / Sbase)
639
- batt_vars.p[t, k].SetUb(batt_data_t.availability[k] * batt_data_t.pmax[k] / Sbase)
637
+ set_var_bounds(var=batt_vars.p[t, k],
638
+ lb=batt_data_t.availability[k] * batt_data_t.pmin[k] / Sbase,
639
+ ub=batt_data_t.availability[k] * batt_data_t.pmax[k] / Sbase)
640
640
 
641
641
  # compute the time increment in hours
642
642
  dt = (time_array[t] - time_array[t - 1]).seconds / 3600.0
@@ -1262,7 +1262,7 @@ def run_linear_opf_ts(grid: MultiCircuit,
1262
1262
  lp_model.save_model(file_name=lp_file_name)
1263
1263
  logger.add_info("Debug LP model saved", value=lp_file_name)
1264
1264
 
1265
- vars_v = mip_vars.get_values(grid.Sbase)
1265
+ vars_v = mip_vars.get_values(grid.Sbase, model=lp_model)
1266
1266
 
1267
1267
  # add the model logger to the main logger
1268
1268
  logger += lp_model.logger