GridCalEngine 5.1.6__tar.gz → 5.1.7__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 (678) hide show
  1. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/DataStructures/generator_data.py +16 -0
  2. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/hvdc_line.py +1 -1
  3. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Diagrams/base_diagram.py +2 -1
  4. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_data_parser.py +11 -6
  5. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/gridcal_to_cgmes.py +1 -1
  6. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/file_handler.py +11 -5
  7. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/gridcal/zip_interface.py +81 -43
  8. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ATC/available_transfer_capacity_ts_driver.py +6 -5
  9. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Clustering/clustering_driver.py +5 -1
  10. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/optimal_linear_contingency_analysis.py +1 -0
  11. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContingencyAnalysis/__init__.py +1 -1
  12. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContingencyAnalysis/contingencies_report.py +1 -1
  13. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_driver.py +1 -1
  14. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_driver.py +10 -5
  15. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/LinearFactors/linear_analysis_driver.py +5 -1
  16. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf.py +14 -14
  17. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/OPF/linear_opf_ts.py +12 -6
  18. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/OPF/opf_driver.py +1 -0
  19. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/OPF/opf_ts_driver.py +4 -2
  20. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_driver.py +11 -0
  21. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_driver.py +9 -1
  22. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Stochastic/__init__.py +1 -1
  23. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Stochastic/blackout_driver.py +1 -1
  24. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_driver.py +6 -1
  25. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/results_template.py +66 -10
  26. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/NumericalMethods/ips.py +1 -1
  27. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/__version__.py +1 -1
  28. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/basic_structures.py +21 -1
  29. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/enumerations.py +26 -1
  30. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/PKG-INFO +1 -1
  31. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Compilers/__init__.py +0 -0
  32. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Compilers/circuit_to_bentayga.py +0 -0
  33. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Compilers/circuit_to_data.py +0 -0
  34. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Compilers/circuit_to_newton_pa.py +0 -0
  35. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Compilers/circuit_to_optimods.py +0 -0
  36. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Compilers/circuit_to_pgm.py +0 -0
  37. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/DataStructures/__init__.py +0 -0
  38. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/DataStructures/battery_data.py +0 -0
  39. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/DataStructures/branch_data.py +0 -0
  40. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/DataStructures/bus_data.py +0 -0
  41. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/DataStructures/fluid_node_data.py +0 -0
  42. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/DataStructures/fluid_p2x_data.py +0 -0
  43. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/DataStructures/fluid_path_data.py +0 -0
  44. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/DataStructures/fluid_pump_data.py +0 -0
  45. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/DataStructures/fluid_turbine_data.py +0 -0
  46. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/DataStructures/hvdc_data.py +0 -0
  47. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/DataStructures/load_data.py +0 -0
  48. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/DataStructures/numerical_circuit.py +0 -0
  49. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/DataStructures/shunt_data.py +0 -0
  50. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/__init__.py +0 -0
  51. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/area.py +0 -0
  52. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/branch_group.py +0 -0
  53. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/community.py +0 -0
  54. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/contingency.py +0 -0
  55. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/contingency_group.py +0 -0
  56. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/country.py +0 -0
  57. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/emission_gas.py +0 -0
  58. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/fuel.py +0 -0
  59. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/investment.py +0 -0
  60. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/investments_group.py +0 -0
  61. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/modelling_authority.py +0 -0
  62. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/municipality.py +0 -0
  63. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/region.py +0 -0
  64. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/technology.py +0 -0
  65. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Aggregation/zone.py +0 -0
  66. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Associations/__init__.py +0 -0
  67. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Associations/generator_emission.py +0 -0
  68. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Associations/generator_fuel.py +0 -0
  69. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Associations/generator_technology.py +0 -0
  70. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/__init__.py +0 -0
  71. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/branch.py +0 -0
  72. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/dc_line.py +0 -0
  73. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/line.py +0 -0
  74. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/line_locations.py +0 -0
  75. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/overhead_line_type.py +0 -0
  76. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/sequence_line_type.py +0 -0
  77. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/series_reactance.py +0 -0
  78. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/switch.py +0 -0
  79. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/tap_changer.py +0 -0
  80. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/transformer.py +0 -0
  81. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/transformer3w.py +0 -0
  82. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/transformer_type.py +0 -0
  83. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/underground_line_type.py +0 -0
  84. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/upfc.py +0 -0
  85. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/vsc.py +0 -0
  86. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/winding.py +0 -0
  87. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Branches/wire.py +0 -0
  88. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Diagrams/__init__.py +0 -0
  89. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Diagrams/graphic_location.py +0 -0
  90. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Diagrams/map_diagram.py +0 -0
  91. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Diagrams/map_location.py +0 -0
  92. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Diagrams/schematic_diagram.py +0 -0
  93. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Fluid/__init__.py +0 -0
  94. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Fluid/fluid_injection_template.py +0 -0
  95. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Fluid/fluid_node.py +0 -0
  96. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Fluid/fluid_p2x.py +0 -0
  97. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Fluid/fluid_path.py +0 -0
  98. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Fluid/fluid_pump.py +0 -0
  99. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Fluid/fluid_turbine.py +0 -0
  100. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Injections/__init__.py +0 -0
  101. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Injections/battery.py +0 -0
  102. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Injections/controllable_shunt.py +0 -0
  103. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Injections/current_injection.py +0 -0
  104. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Injections/external_grid.py +0 -0
  105. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Injections/generator.py +0 -0
  106. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Injections/generator_q_curve.py +0 -0
  107. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Injections/load.py +0 -0
  108. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Injections/shunt.py +0 -0
  109. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Injections/static_generator.py +0 -0
  110. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Parents/__init__.py +0 -0
  111. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Parents/branch_parent.py +0 -0
  112. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Parents/controllable_branch_parent.py +0 -0
  113. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Parents/editable_device.py +0 -0
  114. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Parents/generator_parent.py +0 -0
  115. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Parents/injection_parent.py +0 -0
  116. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Parents/load_parent.py +0 -0
  117. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Parents/shunt_parent.py +0 -0
  118. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Substation/__init__.py +0 -0
  119. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Substation/bus.py +0 -0
  120. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Substation/busbar.py +0 -0
  121. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Substation/connectivity_node.py +0 -0
  122. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Substation/substation.py +0 -0
  123. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/Substation/voltage_level.py +0 -0
  124. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/__init__.py +0 -0
  125. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/measurement.py +0 -0
  126. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/multi_circuit.py +0 -0
  127. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/profile.py +0 -0
  128. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/sparse_array.py +0 -0
  129. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Devices/types.py +0 -0
  130. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/__init__.py +0 -0
  131. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/base/__init__.py +0 -0
  132. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/base/base_circuit.py +0 -0
  133. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/base/base_device.py +0 -0
  134. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/base/base_property.py +0 -0
  135. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/base/units.py +0 -0
  136. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/__init__.py +0 -0
  137. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/__init__.py +0 -0
  138. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/base.py +0 -0
  139. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_circuit.py +0 -0
  140. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_data_validator.py +0 -0
  141. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_enums.py +0 -0
  142. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_export.py +0 -0
  143. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_poperty.py +0 -0
  144. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_to_gridcal.py +0 -0
  145. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_utils.py +0 -0
  146. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/__init__.py +0 -0
  147. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/__init__.py +0 -0
  148. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ac_line_segment.py +0 -0
  149. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_converter.py +0 -0
  150. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_converterdc_terminal.py +0 -0
  151. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_terminal.py +0 -0
  152. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/active_power_limit.py +0 -0
  153. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/analog_control.py +0 -0
  154. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/apparent_power_limit.py +0 -0
  155. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/asynchronous_machine.py +0 -0
  156. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/base_voltage.py +0 -0
  157. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/basic_interval_schedule.py +0 -0
  158. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/bay.py +0 -0
  159. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/breaker.py +0 -0
  160. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/bus_name_marker.py +0 -0
  161. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/busbar_section.py +0 -0
  162. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conducting_equipment.py +0 -0
  163. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conductor.py +0 -0
  164. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conform_load.py +0 -0
  165. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conform_load_group.py +0 -0
  166. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connectivity_node.py +0 -0
  167. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connectivity_node_container.py +0 -0
  168. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connector.py +0 -0
  169. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control.py +0 -0
  170. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control_area.py +0 -0
  171. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control_area_generating_unit.py +0 -0
  172. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/coordinate_system.py +0 -0
  173. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/cs_converter.py +0 -0
  174. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/current_limit.py +0 -0
  175. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/curve.py +0 -0
  176. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/curve_data.py +0 -0
  177. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_base_terminal.py +0 -0
  178. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_breaker.py +0 -0
  179. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_busbar.py +0 -0
  180. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_chopper.py +0 -0
  181. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_conducting_equipment.py +0 -0
  182. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_converter_unit.py +0 -0
  183. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_disconnector.py +0 -0
  184. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_equipment_container.py +0 -0
  185. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_ground.py +0 -0
  186. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_line.py +0 -0
  187. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_line_segment.py +0 -0
  188. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_node.py +0 -0
  189. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_series_device.py +0 -0
  190. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_shunt.py +0 -0
  191. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_switch.py +0 -0
  192. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_terminal.py +0 -0
  193. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_topological_island.py +0 -0
  194. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_topological_node.py +0 -0
  195. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/disconnector.py +0 -0
  196. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/earth_fault_compensator.py +0 -0
  197. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_area.py +0 -0
  198. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_consumer.py +0 -0
  199. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_scheduling_type.py +0 -0
  200. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_source.py +0 -0
  201. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equipment.py +0 -0
  202. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equipment_container.py +0 -0
  203. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_branch.py +0 -0
  204. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_equipment.py +0 -0
  205. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_injection.py +0 -0
  206. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_network.py +0 -0
  207. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_shunt.py +0 -0
  208. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/external_network_injection.py +0 -0
  209. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/fossil_fuel.py +0 -0
  210. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/full_model.py +0 -0
  211. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/generating_unit.py +0 -0
  212. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/geographical_region.py +0 -0
  213. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ground.py +0 -0
  214. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ground_disconnector.py +0 -0
  215. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/grounding_impedance.py +0 -0
  216. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_generating_unit.py +0 -0
  217. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_power_plant.py +0 -0
  218. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_pump.py +0 -0
  219. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/identified_object.py +0 -0
  220. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/junction.py +0 -0
  221. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/limit.py +0 -0
  222. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/limit_set.py +0 -0
  223. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/line.py +0 -0
  224. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/linear_shunt_compensator.py +0 -0
  225. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_area.py +0 -0
  226. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_break_switch.py +0 -0
  227. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_group.py +0 -0
  228. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_response_characteristic.py +0 -0
  229. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/location.py +0 -0
  230. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/measurement.py +0 -0
  231. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/measurement_value.py +0 -0
  232. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/mutual_coupling.py +0 -0
  233. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/non_conform_load.py +0 -0
  234. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/non_conform_load_group.py +0 -0
  235. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nonlinear_shunt_compensator.py +0 -0
  236. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nonlinear_shunt_compensator_point.py +0 -0
  237. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nuclear_generating_unit.py +0 -0
  238. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit.py +0 -0
  239. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit_set.py +0 -0
  240. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit_type.py +0 -0
  241. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/per_lengthdc_line_parameter.py +0 -0
  242. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/petersen_coil.py +0 -0
  243. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer.py +0 -0
  244. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_asymmetrical.py +0 -0
  245. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_linear.py +0 -0
  246. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_non_linear.py +0 -0
  247. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_symmetrical.py +0 -0
  248. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_table.py +0 -0
  249. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_table_point.py +0 -0
  250. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_tabular.py +0 -0
  251. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/position_point.py +0 -0
  252. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_system_resource.py +0 -0
  253. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_transformer.py +0 -0
  254. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_transformer_end.py +0 -0
  255. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/protected_switch.py +0 -0
  256. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/quality61850.py +0 -0
  257. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer.py +0 -0
  258. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer_table.py +0 -0
  259. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer_table_point.py +0 -0
  260. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/reactive_capability_curve.py +0 -0
  261. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regular_interval_schedule.py +0 -0
  262. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regulating_cond_eq.py +0 -0
  263. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regulating_control.py +0 -0
  264. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/reporting_group.py +0 -0
  265. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/rotating_machine.py +0 -0
  266. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/season_day_type_schedule.py +0 -0
  267. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/series_compensator.py +0 -0
  268. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/shunt_compensator.py +0 -0
  269. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/solar_generating_unit.py +0 -0
  270. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/static_var_compensator.py +0 -0
  271. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sub_geographical_region.py +0 -0
  272. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sub_load_area.py +0 -0
  273. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/substation.py +0 -0
  274. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_injection.py +0 -0
  275. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_power_flow.py +0 -0
  276. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_shunt_compensator_sections.py +0 -0
  277. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_status.py +0 -0
  278. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_tap_step.py +0 -0
  279. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_voltage.py +0 -0
  280. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/switch.py +0 -0
  281. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/synchronous_machine.py +0 -0
  282. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer.py +0 -0
  283. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer_control.py +0 -0
  284. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer_table_point.py +0 -0
  285. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/terminal.py +0 -0
  286. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/thermal_generating_unit.py +0 -0
  287. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tie_flow.py +0 -0
  288. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/topological_island.py +0 -0
  289. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/topological_node.py +0 -0
  290. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/transformer_end.py +0 -0
  291. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/voltage_level.py +0 -0
  292. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/voltage_limit.py +0 -0
  293. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/vs_capability_curve.py +0 -0
  294. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/vs_converter.py +0 -0
  295. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/wind_generating_unit.py +0 -0
  296. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/__init__.py +0 -0
  297. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/__init__.py +0 -0
  298. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ac_line_segment.py +0 -0
  299. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_converter.py +0 -0
  300. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_converterdc_terminal.py +0 -0
  301. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_terminal.py +0 -0
  302. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/active_power_limit.py +0 -0
  303. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/apparent_power_limit.py +0 -0
  304. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/asynchronous_machine.py +0 -0
  305. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/auxiliary_equipment.py +0 -0
  306. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/base_voltage.py +0 -0
  307. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/basic_interval_schedule.py +0 -0
  308. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/battery_unit.py +0 -0
  309. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/bay.py +0 -0
  310. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/boundary_point.py +0 -0
  311. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/breaker.py +0 -0
  312. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/bus_name_marker.py +0 -0
  313. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/busbar_section.py +0 -0
  314. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/caes_plant.py +0 -0
  315. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/clamp.py +0 -0
  316. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cogeneration_plant.py +0 -0
  317. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/combined_cycle_plant.py +0 -0
  318. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conducting_equipment.py +0 -0
  319. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conductor.py +0 -0
  320. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conform_load.py +0 -0
  321. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conform_load_group.py +0 -0
  322. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connectivity_node.py +0 -0
  323. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connectivity_node_container.py +0 -0
  324. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connector.py +0 -0
  325. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control_area.py +0 -0
  326. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control_area_generating_unit.py +0 -0
  327. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/coordinate_system.py +0 -0
  328. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cs_converter.py +0 -0
  329. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/current_limit.py +0 -0
  330. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/current_transformer.py +0 -0
  331. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/curve.py +0 -0
  332. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/curve_data.py +0 -0
  333. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cut.py +0 -0
  334. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_base_terminal.py +0 -0
  335. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_breaker.py +0 -0
  336. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_busbar.py +0 -0
  337. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_chopper.py +0 -0
  338. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_conducting_equipment.py +0 -0
  339. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_converter_unit.py +0 -0
  340. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_disconnector.py +0 -0
  341. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_equipment_container.py +0 -0
  342. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_ground.py +0 -0
  343. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_line.py +0 -0
  344. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_line_segment.py +0 -0
  345. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_node.py +0 -0
  346. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_series_device.py +0 -0
  347. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_shunt.py +0 -0
  348. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_switch.py +0 -0
  349. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_terminal.py +0 -0
  350. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_topological_island.py +0 -0
  351. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_topological_node.py +0 -0
  352. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/disconnecting_circuit_breaker.py +0 -0
  353. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/disconnector.py +0 -0
  354. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/earth_fault_compensator.py +0 -0
  355. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_area.py +0 -0
  356. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_connection.py +0 -0
  357. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_consumer.py +0 -0
  358. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_scheduling_type.py +0 -0
  359. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_source.py +0 -0
  360. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equipment.py +0 -0
  361. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equipment_container.py +0 -0
  362. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_branch.py +0 -0
  363. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_equipment.py +0 -0
  364. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_injection.py +0 -0
  365. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_network.py +0 -0
  366. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_shunt.py +0 -0
  367. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/external_network_injection.py +0 -0
  368. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fault_indicator.py +0 -0
  369. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fossil_fuel.py +0 -0
  370. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fuse.py +0 -0
  371. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/generating_unit.py +0 -0
  372. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/geographical_region.py +0 -0
  373. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ground.py +0 -0
  374. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ground_disconnector.py +0 -0
  375. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/grounding_impedance.py +0 -0
  376. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_generating_unit.py +0 -0
  377. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_power_plant.py +0 -0
  378. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_pump.py +0 -0
  379. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/identified_object.py +0 -0
  380. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/jumper.py +0 -0
  381. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/junction.py +0 -0
  382. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/line.py +0 -0
  383. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/linear_shunt_compensator.py +0 -0
  384. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_area.py +0 -0
  385. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_break_switch.py +0 -0
  386. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_group.py +0 -0
  387. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_response_characteristic.py +0 -0
  388. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/location.py +0 -0
  389. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/non_conform_load.py +0 -0
  390. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/non_conform_load_group.py +0 -0
  391. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nonlinear_shunt_compensator.py +0 -0
  392. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nonlinear_shunt_compensator_point.py +0 -0
  393. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nuclear_generating_unit.py +0 -0
  394. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit.py +0 -0
  395. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit_set.py +0 -0
  396. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit_type.py +0 -0
  397. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/petersen_coil.py +0 -0
  398. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer.py +0 -0
  399. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_asymmetrical.py +0 -0
  400. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_linear.py +0 -0
  401. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_non_linear.py +0 -0
  402. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_symmetrical.py +0 -0
  403. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_table.py +0 -0
  404. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_table_point.py +0 -0
  405. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_tabular.py +0 -0
  406. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/photo_voltaic_unit.py +0 -0
  407. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/position_point.py +0 -0
  408. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/post_line_sensor.py +0 -0
  409. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/potential_transformer.py +0 -0
  410. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_connection.py +0 -0
  411. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_unit.py +0 -0
  412. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_wind_unit.py +0 -0
  413. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_system_resource.py +0 -0
  414. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_transformer.py +0 -0
  415. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_transformer_end.py +0 -0
  416. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/protected_switch.py +0 -0
  417. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer.py +0 -0
  418. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer_table.py +0 -0
  419. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer_table_point.py +0 -0
  420. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/reactive_capability_curve.py +0 -0
  421. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regular_interval_schedule.py +0 -0
  422. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regulating_control.py +0 -0
  423. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/reporting_group.py +0 -0
  424. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/rotating_machine.py +0 -0
  425. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/season_day_type_schedule.py +0 -0
  426. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sensor.py +0 -0
  427. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/series_compensator.py +0 -0
  428. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/service_location.py +0 -0
  429. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/shunt_compensator.py +0 -0
  430. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/solar_generating_unit.py +0 -0
  431. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/solar_power_plant.py +0 -0
  432. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/static_var_compensator.py +0 -0
  433. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sub_geographical_region.py +0 -0
  434. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sub_load_area.py +0 -0
  435. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/substation.py +0 -0
  436. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/surge_arrester.py +0 -0
  437. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_injection.py +0 -0
  438. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_power_flow.py +0 -0
  439. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_shunt_compensator_sections.py +0 -0
  440. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_status.py +0 -0
  441. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_switch.py +0 -0
  442. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_tap_step.py +0 -0
  443. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_voltage.py +0 -0
  444. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/switch.py +0 -0
  445. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/synchronous_machine.py +0 -0
  446. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer.py +0 -0
  447. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer_control.py +0 -0
  448. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer_table_point.py +0 -0
  449. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/terminal.py +0 -0
  450. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/thermal_generating_unit.py +0 -0
  451. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tie_flow.py +0 -0
  452. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/topological_island.py +0 -0
  453. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/topological_node.py +0 -0
  454. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/transformer_end.py +0 -0
  455. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/voltage_level.py +0 -0
  456. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/voltage_limit.py +0 -0
  457. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/vs_capability_curve.py +0 -0
  458. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/vs_converter.py +0 -0
  459. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wave_trap.py +0 -0
  460. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wind_generating_unit.py +0 -0
  461. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wind_power_plant.py +0 -0
  462. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/work_location.py +0 -0
  463. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cgmes/cgmes_writer.py +0 -0
  464. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cim16/__init__.py +0 -0
  465. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cim16/cim_circuit.py +0 -0
  466. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cim16/cim_data_parser.py +0 -0
  467. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cim16/cim_devices.py +0 -0
  468. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cim16/cim_enums.py +0 -0
  469. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/cim16/cim_parser.py +0 -0
  470. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/db/__init__.py +0 -0
  471. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/db/base_db.py +0 -0
  472. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/db/cgmes_lookup_db.py +0 -0
  473. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/db/db_handler.py +0 -0
  474. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/db/file_system.py +0 -0
  475. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/cim/db/psse_lookup_db.py +0 -0
  476. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/dgs/__init__.py +0 -0
  477. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/dgs/dgs_parser.py +0 -0
  478. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/epc/__init__.py +0 -0
  479. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/epc/epc_parser.py +0 -0
  480. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/file_system.py +0 -0
  481. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/gridcal/__init__.py +0 -0
  482. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/gridcal/contingency_parser.py +0 -0
  483. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/gridcal/excel_interface.py +0 -0
  484. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/gridcal/generic_io_functions.py +0 -0
  485. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/gridcal/h5_interface.py +0 -0
  486. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/gridcal/json_parser.py +0 -0
  487. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/gridcal/pack_unpack.py +0 -0
  488. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/gridcal/sqlite_interface.py +0 -0
  489. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/matpower/__init__.py +0 -0
  490. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/matpower/matpower_branch_definitions.py +0 -0
  491. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/matpower/matpower_bus_definitions.py +0 -0
  492. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/matpower/matpower_gen_definitions.py +0 -0
  493. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/matpower/matpower_parser.py +0 -0
  494. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/matpower/matpower_storage_definitions.py +0 -0
  495. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/others/__init__.py +0 -0
  496. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/others/dpx_parser.py +0 -0
  497. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/others/ipa_parser.py +0 -0
  498. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/others/plx_parser.py +0 -0
  499. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/others/pypsa_parser.py +0 -0
  500. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/__init__.py +0 -0
  501. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/__init__.py +0 -0
  502. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/area.py +0 -0
  503. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/branch.py +0 -0
  504. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/bus.py +0 -0
  505. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/facts.py +0 -0
  506. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/fixed_shunt.py +0 -0
  507. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/generator.py +0 -0
  508. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/gne_device.py +0 -0
  509. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/induction_machine.py +0 -0
  510. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/inter_area.py +0 -0
  511. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/load.py +0 -0
  512. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/node.py +0 -0
  513. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/owner.py +0 -0
  514. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/psse_circuit.py +0 -0
  515. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/psse_object.py +0 -0
  516. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/psse_property.py +0 -0
  517. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/substation.py +0 -0
  518. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/switched_shunt.py +0 -0
  519. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/system_switching_device.py +0 -0
  520. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/transformer.py +0 -0
  521. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/two_terminal_dc_line.py +0 -0
  522. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/vsc_dc_line.py +0 -0
  523. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/devices/zone.py +0 -0
  524. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/gridcal_to_raw.py +0 -0
  525. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/raw_functions.py +0 -0
  526. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/raw_parser_legacy.py +0 -0
  527. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/raw_parser_writer.py +0 -0
  528. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/raw_to_gridcal.py +0 -0
  529. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/rawx_parser_legacy.py +0 -0
  530. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/IO/raw/rawx_parser_writer.py +0 -0
  531. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/LICENSE.txt +0 -0
  532. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ATC/__init__.py +0 -0
  533. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ATC/available_transfer_capacity_driver.py +0 -0
  534. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Clustering/__init__.py +0 -0
  535. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Clustering/clustering.py +0 -0
  536. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Clustering/clustering_options.py +0 -0
  537. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Clustering/clustering_results.py +0 -0
  538. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/__init__.py +0 -0
  539. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/helm_contingencies.py +0 -0
  540. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/helm_contingency_analysis.py +0 -0
  541. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/linear_contingency_analysis.py +0 -0
  542. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/nonlinear_contingency_analysis.py +0 -0
  543. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/srap.py +0 -0
  544. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_driver.py +0 -0
  545. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_options.py +0 -0
  546. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_results.py +0 -0
  547. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_results.py +0 -0
  548. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_plan.py +0 -0
  549. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContinuationPowerFlow/__init__.py +0 -0
  550. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow.py +0 -0
  551. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_input.py +0 -0
  552. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_options.py +0 -0
  553. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_results.py +0 -0
  554. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Dynamics/__init__.py +0 -0
  555. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Dynamics/dynamic_modules.py +0 -0
  556. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Dynamics/transient_stability_driver.py +0 -0
  557. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/InputsAnalysis/__init__.py +0 -0
  558. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/InputsAnalysis/inputs_analysis_driver.py +0 -0
  559. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/InvestmentsEvaluation/NumericalMethods/MVRSM_mo_pareto.py +0 -0
  560. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/InvestmentsEvaluation/NumericalMethods/MVRSM_mo_scaled.py +0 -0
  561. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/InvestmentsEvaluation/NumericalMethods/MVRSM_original.py +0 -0
  562. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/InvestmentsEvaluation/NumericalMethods/__init__.py +0 -0
  563. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/InvestmentsEvaluation/NumericalMethods/stop_crits.py +0 -0
  564. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/InvestmentsEvaluation/__init__.py +0 -0
  565. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_driver.py +0 -0
  566. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_options.py +0 -0
  567. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_results.py +0 -0
  568. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/LinearFactors/__init__.py +0 -0
  569. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/LinearFactors/linear_analysis.py +0 -0
  570. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/LinearFactors/linear_analysis_options.py +0 -0
  571. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/LinearFactors/linear_analysis_results.py +0 -0
  572. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_driver.py +0 -0
  573. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_results.py +0 -0
  574. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/NTC/__init__.py +0 -0
  575. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/NTC/ntc_driver.py +0 -0
  576. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/NTC/ntc_opf.py +0 -0
  577. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/NTC/ntc_options.py +0 -0
  578. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/NTC/ntc_results.py +0 -0
  579. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/NTC/ntc_ts_driver.py +0 -0
  580. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/NTC/ntc_ts_results.py +0 -0
  581. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/OPF/NumericalMethods/__init__.py +0 -0
  582. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf_autodif.py +0 -0
  583. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf_derivatives.py +0 -0
  584. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/OPF/__init__.py +0 -0
  585. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/OPF/opf_options.py +0 -0
  586. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/OPF/opf_results.py +0 -0
  587. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/OPF/opf_ts_results.py +0 -0
  588. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/OPF/simple_dispatch_ts.py +0 -0
  589. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/__init__.py +0 -0
  590. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/ac_jacobian.py +0 -0
  591. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/acdc_jacobian.py +0 -0
  592. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/common_functions.py +0 -0
  593. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/derivatives.py +0 -0
  594. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/discrete_controls.py +0 -0
  595. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/fast_decoupled.py +0 -0
  596. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/gauss_power_flow.py +0 -0
  597. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/helm_power_flow.py +0 -0
  598. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/iwamoto_newton_raphson.py +0 -0
  599. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt.py +0 -0
  600. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt_acdc.py +0 -0
  601. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/linearized_power_flow.py +0 -0
  602. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson.py +0 -0
  603. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_acdc.py +0 -0
  604. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_current.py +0 -0
  605. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_decoupled.py +0 -0
  606. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_ode.py +0 -0
  607. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/__init__.py +0 -0
  608. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/grid_analysis.py +0 -0
  609. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/power_flow_driver.py +0 -0
  610. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/power_flow_options.py +0 -0
  611. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/power_flow_results.py +0 -0
  612. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_input.py +0 -0
  613. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_results.py +0 -0
  614. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/PowerFlow/power_flow_worker.py +0 -0
  615. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ShortCircuitStudies/__init__.py +0 -0
  616. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit.py +0 -0
  617. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_results.py +0 -0
  618. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_worker.py +0 -0
  619. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/SigmaAnalysis/__init__.py +0 -0
  620. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/SigmaAnalysis/sigma_analysis_driver.py +0 -0
  621. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/StateEstimation/__init__.py +0 -0
  622. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/StateEstimation/state_estimation.py +0 -0
  623. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/StateEstimation/state_stimation_driver.py +0 -0
  624. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Stochastic/latin_hypercube_sampling.py +0 -0
  625. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Stochastic/reliability_driver.py +0 -0
  626. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Stochastic/reliability_iterable.py +0 -0
  627. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_input.py +0 -0
  628. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_results.py +0 -0
  629. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Topology/__init__.py +0 -0
  630. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Topology/node_groups_driver.py +0 -0
  631. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Topology/topology_processor_driver.py +0 -0
  632. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/Topology/topology_reduction_driver.py +0 -0
  633. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/__init__.py +0 -0
  634. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/driver_template.py +0 -0
  635. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/driver_types.py +0 -0
  636. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Simulations/results_table.py +0 -0
  637. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Topology/__init__.py +0 -0
  638. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Topology/admittance_matrices.py +0 -0
  639. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Topology/detect_substations.py +0 -0
  640. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Topology/simulation_indices.py +0 -0
  641. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Topology/topology.py +0 -0
  642. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Topology/topology_substation_reduction.py +0 -0
  643. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/Filtering/__init__.py +0 -0
  644. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/Filtering/filtering.py +0 -0
  645. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/Filtering/objects_filtering.py +0 -0
  646. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/Filtering/results_table_filtering.py +0 -0
  647. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/Filtering/timeseries_filtering.py +0 -0
  648. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/MIP/SimpleMip/__init__.py +0 -0
  649. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/MIP/SimpleMip/highs.py +0 -0
  650. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/MIP/SimpleMip/lpmodel.py +0 -0
  651. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/MIP/SimpleMip/lpobjects.py +0 -0
  652. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/MIP/__init__.py +0 -0
  653. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/MIP/ortools_interface.py +0 -0
  654. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/MIP/pulp_interface.py +0 -0
  655. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/MIP/selected_interface.py +0 -0
  656. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/NumericalMethods/__init__.py +0 -0
  657. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/NumericalMethods/autodiff.py +0 -0
  658. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/NumericalMethods/common.py +0 -0
  659. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/NumericalMethods/iwamoto.py +0 -0
  660. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/NumericalMethods/levenberg_marquadt.py +0 -0
  661. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/NumericalMethods/newton_raphson.py +0 -0
  662. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/NumericalMethods/newton_raphson_ode.py +0 -0
  663. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/NumericalMethods/powell.py +0 -0
  664. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/NumericalMethods/sparse_solve.py +0 -0
  665. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/NumericalMethods/weldorf_online_stddev.py +0 -0
  666. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/Sparse/__init__.py +0 -0
  667. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/Sparse/csc.py +0 -0
  668. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/Sparse/csc_numba.py +0 -0
  669. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/Sparse/utils.py +0 -0
  670. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/ThirdParty/SyntheticNetworks/__init__.py +0 -0
  671. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/ThirdParty/SyntheticNetworks/rpgm_algo.py +0 -0
  672. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/ThirdParty/__init__.py +0 -0
  673. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/Utils/__init__.py +0 -0
  674. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/__init__.py +0 -0
  675. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/api.py +0 -0
  676. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/GridCalEngine/data_logger.py +0 -0
  677. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/setup.cfg +0 -0
  678. {GridCalEngine-5.1.6 → GridCalEngine-5.1.7}/setup.py +0 -0
@@ -306,3 +306,19 @@ class GeneratorData:
306
306
  :return:
307
307
  """
308
308
  return np.where(self.dispatchable == 1)[0]
309
+
310
+ def get_dispatchable_active_indices(self) -> IntVec:
311
+ """
312
+ Get the indices of dispatchable generators
313
+ :return:
314
+ """
315
+ x = (self.dispatchable * self.active).astype(int)
316
+ return np.where(x == 1)[0]
317
+
318
+ def get_non_dispatchable_indices(self) -> IntVec:
319
+ """
320
+ Get the indices of dispatchable generators
321
+ :return:
322
+ """
323
+ x = (~self.dispatchable * self.active).astype(int)
324
+ return np.where(x == 1)[0]
@@ -138,7 +138,7 @@ class HvdcLine(BranchParent):
138
138
 
139
139
  def __init__(self, bus_from: Bus = None, bus_to: Bus = None, name='HVDC Line', idtag=None, active=True, code='',
140
140
  rate=1.0, Pset=0.0, r=1e-20, loss_factor=0.0, Vset_f=1.0, Vset_t=1.0, length=1.0, mttf=0.0, mttr=0.0,
141
- overload_cost=1000.0, min_firing_angle_f=-1.0, max_firing_angle_f=1.0, min_firing_angle_t=-1.0,
141
+ overload_cost=1000.0, min_firing_angle_f=-1.0, max_firing_angle_f=1.0, min_firing_angle_t=-1.0,
142
142
  max_firing_angle_t=1.0, contingency_factor=1.0, protection_rating_factor: float = 1.4,
143
143
  control_mode: HvdcControlType = HvdcControlType.type_1_Pset, dispatchable=True, angle_droop=0,
144
144
  capex=0, opex=0, build_status: BuildStatus = BuildStatus.Commissioned, n_lines: int = 1):
@@ -89,7 +89,7 @@ class PointsGroup:
89
89
  """
90
90
  Parse file data ito this class
91
91
  :param data: json dictionary
92
- :param obj_dict: dicrtionary of relevant objects (idtag, object)
92
+ :param obj_dict: dictionary of relevant objects (idtag, object)
93
93
  :param logger: Logger
94
94
  :param category: category
95
95
  """
@@ -101,6 +101,7 @@ class PointsGroup:
101
101
 
102
102
  if api_object is None:
103
103
  # locations with no API object are not created
104
+ print()
104
105
  logger.add_error("Diagram location could not find API object",
105
106
  device_class=category,
106
107
  device=idtag,)
@@ -356,18 +356,23 @@ class CgmesDataParser(BaseCircuit):
356
356
  self.parsed_data[file_name] = file_cgmes_data
357
357
  profile = model_info.get('profile', '')
358
358
 
359
- for prof in profile:
360
- if prof in cgmes2_4_15_uri:
361
- self.cgmes_version = "2.4.15"
362
- elif prof in cgmes3_0_0_uri:
363
- self.cgmes_version = "3.0.0"
364
-
365
359
  if isinstance(profile, list):
360
+ for prof in profile:
361
+ if prof in cgmes2_4_15_uri:
362
+ self.cgmes_version = "2.4.15"
363
+ elif prof in cgmes3_0_0_uri:
364
+ self.cgmes_version = "3.0.0"
365
+
366
366
  if 'Boundary' in profile[0]:
367
367
  merge(self.boudary_set, file_cgmes_data, self.logger)
368
368
  else:
369
369
  merge(self.data, file_cgmes_data, self.logger)
370
370
  else:
371
+ if profile in cgmes2_4_15_uri:
372
+ self.cgmes_version = "2.4.15"
373
+ elif profile in cgmes3_0_0_uri:
374
+ self.cgmes_version = "3.0.0"
375
+
371
376
  if 'Boundary' in profile:
372
377
  merge(self.boudary_set, file_cgmes_data, self.logger)
373
378
  else:
@@ -460,7 +460,7 @@ def get_cgmes_cn_nodes(multi_circuit_model: MultiCircuit,
460
460
  else:
461
461
  logger.add_error(msg='Connectivity Node has no default bus',
462
462
  device=mc_elm.name,
463
- device_class=gcdev.ConnectivityNode.type_name)
463
+ device_class=mc_elm.device_type)
464
464
  # print(f'Topological node not found for cn: {cn.name}')
465
465
 
466
466
  cgmes_model.add(cn)
@@ -48,6 +48,8 @@ from GridCalEngine.IO.gridcal.h5_interface import save_h5, open_h5
48
48
  from GridCalEngine.IO.raw.rawx_parser_writer import parse_rawx, write_rawx
49
49
  from GridCalEngine.IO.others.pypsa_parser import parse_netcdf, parse_hdf5
50
50
  from GridCalEngine.Devices.multi_circuit import MultiCircuit
51
+ from GridCalEngine.Simulations.results_template import DriverToSave
52
+ from GridCalEngine.enumerations import CGMESVersions
51
53
 
52
54
 
53
55
  class FileSavingOptions:
@@ -58,21 +60,25 @@ class FileSavingOptions:
58
60
  def __init__(self,
59
61
  cgmes_boundary_set: str = "",
60
62
  simulation_drivers: List[DriverTemplate] = None,
61
- sessions: List[Any] = None,
62
- dictionary_of_json_files: Dict[str, Dict[str, Any]] = None):
63
+ sessions_data: List[DriverToSave] = None,
64
+ dictionary_of_json_files: Dict[str, Dict[str, Any]] = None,
65
+ cgmes_version: CGMESVersions = CGMESVersions.v2_4_15):
63
66
  """
64
67
  Constructor
65
68
  :param cgmes_boundary_set: CGMES boundary set zip file path
66
69
  :param simulation_drivers: List of Simulation Drivers
67
- :param sessions: List of sessions
70
+ :param sessions_data: List of sessions_data
68
71
  :param dictionary_of_json_files: Dictionary of json files
72
+ :param cgmes_version: Version to use with CGMES
69
73
  """
70
74
 
75
+ self.cgmes_vesrion: CGMESVersions = cgmes_version
76
+
71
77
  self.cgmes_boundary_set: str = cgmes_boundary_set
72
78
 
73
79
  self.simulation_drivers = simulation_drivers if simulation_drivers else list()
74
80
 
75
- self.sessions = sessions if sessions else list()
81
+ self.sessions_data: List[DriverToSave] = sessions_data if sessions_data else list()
76
82
 
77
83
  self.dictionary_of_json_files = dictionary_of_json_files if dictionary_of_json_files else dict()
78
84
 
@@ -398,7 +404,7 @@ class FileSave:
398
404
  save_gridcal_data_to_zip(dfs=dfs,
399
405
  filename_zip=self.file_name,
400
406
  model_data=model_data,
401
- sessions=self.options.sessions,
407
+ sessions_data=self.options.sessions_data,
402
408
  diagrams=self.circuit.diagrams,
403
409
  json_files=self.options.dictionary_of_json_files,
404
410
  text_func=self.text_func,
@@ -22,16 +22,17 @@ import chardet
22
22
  import pandas as pd
23
23
  import zipfile
24
24
  from warnings import warn
25
- from typing import List, Dict, Any, Union, Callable
25
+ from typing import List, Dict, Union, Callable
26
26
  from GridCalEngine.basic_structures import Logger
27
27
  from GridCalEngine.IO.gridcal.generic_io_functions import parse_config_df, CustomJSONizer
28
+ from GridCalEngine.Simulations.results_template import DriverToSave
28
29
  import GridCalEngine.Devices as dev
29
30
 
30
31
 
31
32
  def save_gridcal_data_to_zip(dfs: Dict[str, pd.DataFrame],
32
33
  filename_zip: str,
33
34
  model_data: Dict[str, Dict[str, str]],
34
- sessions: List[Any],
35
+ sessions_data: List[DriverToSave],
35
36
  diagrams: List[Union[dev.MapDiagram, dev.SchematicDiagram]],
36
37
  json_files: Dict[str, dict],
37
38
  text_func: Union[None, Callable[[str], None]] = None,
@@ -42,7 +43,7 @@ def save_gridcal_data_to_zip(dfs: Dict[str, pd.DataFrame],
42
43
  :param dfs: dictionary of pandas dataFrames {name: DataFrame}
43
44
  :param filename_zip: file name where to save all
44
45
  :param model_data: dictionary of json data opposed to the dataframes collection
45
- :param sessions: SimulationSession instance
46
+ :param sessions_data: List of DriverToSave instances, representing the results drivers data
46
47
  :param diagrams: List of Diagram objects
47
48
  :param json_files: List of configuration json files to save Dict[file_name, dictionary to save]
48
49
  :param text_func: pointer to function that prints the names
@@ -66,7 +67,7 @@ def save_gridcal_data_to_zip(dfs: Dict[str, pd.DataFrame],
66
67
  try:
67
68
  f_zip_ptr.writestr(filename, json.dumps(object_data, indent=4, cls=CustomJSONizer))
68
69
  except TypeError as e:
69
- logger.add_error(msg=e, device_class=object_type_name)
70
+ logger.add_error(msg=str(e), device_class=object_type_name)
70
71
  warn(f"{object_type_name}: {e}")
71
72
 
72
73
  # save diagrams
@@ -115,42 +116,62 @@ def save_gridcal_data_to_zip(dfs: Dict[str, pd.DataFrame],
115
116
  i += 1
116
117
 
117
118
  # pre-count the sessions
118
- n_items = 0
119
- for session in sessions:
120
- for drv_name, drv in session.drivers.items():
121
- if hasattr(drv, 'results'):
122
- if drv.results is not None:
123
- for arr_name, arr in drv.results.get_arrays().items():
124
- n_items += 1
119
+ n_items = len(sessions_data)
125
120
 
126
121
  # save sessions
127
122
  i = 0
128
- for session in sessions:
129
- for drv_name, drv in session.drivers.items():
130
- if hasattr(drv, 'results'):
131
- if drv.results is not None:
132
- for arr_name, arr in drv.results.get_arrays().items():
133
- filename = 'sessions/' + session.name + '/' + drv.tpe.value + '/' + arr_name
123
+ for session_data in sessions_data:
134
124
 
135
- if text_func is not None:
136
- text_func('Flushing ' + filename + ' to ' + filename_zip + '...')
125
+ if session_data.results is not None:
137
126
 
138
- with BytesIO() as buffer:
139
- # save the DataFrame to the buffer, protocol4 is to be compatible with python 3.6
140
- np.save(buffer, np.array(arr)) # save the DataFrame to the buffer
141
- f_zip_ptr.writestr(filename + '.npy',
142
- buffer.getvalue()) # save the buffer to the zip file
127
+ # traverse the registered results
128
+ for arr_name, arr_prop in session_data.results.data_variables.items():
143
129
 
144
- if progress_func is not None:
145
- progress_func((i + 1) / n_items * 100)
130
+ filename = 'sessions/' + session_data.name + '/' + session_data.tpe.value + '/' + arr_name
146
131
 
147
- i += 1
132
+ if text_func is not None:
133
+ text_func('Flushing ' + filename + ' to ' + filename_zip + '...')
134
+
135
+ # get the array
136
+ arr = getattr(session_data.results, arr_name)
137
+
138
+ with BytesIO() as buffer:
139
+ # pack the array into a DataFrame
140
+
141
+ try:
142
+ if np.iscomplexobj(arr):
143
+ filename += "__complex__"
144
+ pd.DataFrame(data=np.c_[arr.real, arr.imag]).to_parquet(buffer)
145
+ else:
146
+ pd.DataFrame(data=arr).to_parquet(buffer)
147
+
148
+ # save the buffer to the zip file
149
+ f_zip_ptr.writestr(filename + ".parquet", buffer.getvalue())
150
+
151
+ except ValueError as e:
152
+ warn(str(e))
153
+
154
+ if progress_func is not None:
155
+ progress_func((i + 1) / n_items * 100)
156
+
157
+ i += 1
158
+
159
+ # save logger
160
+ if session_data.logger is not None:
161
+ filename = 'sessions/' + session_data.name + '/' + session_data.tpe.value + '/logger.parquet'
162
+ with BytesIO() as buffer:
163
+ # save the DataFrame to the buffer, protocol4 is to be compatible with python 3.6
164
+ session_data.logger.to_df().to_parquet(buffer)
165
+ # save the buffer to the zip file
166
+ f_zip_ptr.writestr(filename, buffer.getvalue())
148
167
 
149
168
  if n_failed:
150
169
  print('Failed to pickle several profiles, but saved them as csv.\nFor improved speed install Pandas >= 1.2')
151
170
 
152
171
 
153
- def read_data_frame_from_zip(file_pointer, extension: str, index_col=None, logger=Logger()):
172
+ def read_data_frame_from_zip(file_pointer,
173
+ extension: str,
174
+ index_col=None, logger=Logger()) -> Union[None, pd.DataFrame]:
154
175
  """
155
176
  read DataFrame
156
177
  :param file_pointer: Pointer to the file within the zip file
@@ -189,6 +210,26 @@ def read_data_frame_from_zip(file_pointer, extension: str, index_col=None, logge
189
210
  logger.add_error(str(e) + ' Upgrading pandas might help.', device=file_pointer.name)
190
211
  return None
191
212
 
213
+ elif extension == '.feather':
214
+ try:
215
+ return pd.read_feather(file_pointer)
216
+ except ValueError as e:
217
+ logger.add_error(str(e), device=file_pointer.name)
218
+ return None
219
+ except AttributeError as e:
220
+ logger.add_error(str(e) + ' Upgrading pandas might help.', device=file_pointer.name)
221
+ return None
222
+
223
+ elif extension == '.hdf':
224
+ try:
225
+ return pd.read_hdf(file_pointer, key='array')
226
+ except ValueError as e:
227
+ logger.add_error(str(e), device=file_pointer.name)
228
+ return None
229
+ except AttributeError as e:
230
+ logger.add_error(str(e) + ' Upgrading pandas might help.', device=file_pointer.name)
231
+ return None
232
+
192
233
  except EOFError:
193
234
  logger.add_error("EOF error", device=file_pointer.name)
194
235
  return None
@@ -209,19 +250,19 @@ def get_frames_from_zip(file_name_zip: str,
209
250
  :param logger:
210
251
  :return: list of DataFrames
211
252
  """
253
+ data = {'diagrams': list(),
254
+ 'model_data': dict()}
255
+ json_files = dict()
212
256
 
213
257
  # open the zip file
214
258
  try:
215
259
  zip_file_pointer = zipfile.ZipFile(file_name_zip)
216
260
  except zipfile.BadZipFile:
217
- return None
261
+ return data, json_files
218
262
 
219
263
  names = zip_file_pointer.namelist()
220
264
 
221
265
  n = len(names)
222
- data = {'diagrams': list(),
223
- 'model_data': dict()}
224
- json_files = dict()
225
266
 
226
267
  # for each file in the zip file...
227
268
  for i, file_name in enumerate(names):
@@ -329,13 +370,15 @@ def get_session_tree(file_name_zip: str):
329
370
  return data
330
371
 
331
372
 
332
- def load_session_driver_objects(file_name_zip: str, session_name: str, study_name: str):
373
+ def load_session_driver_objects(file_name_zip: str,
374
+ session_name: str,
375
+ study_name: str) -> Dict[str, Union[None, pd.DataFrame]]:
333
376
  """
334
377
  Get the sessions structure
335
378
  :param file_name_zip:
336
379
  :param session_name:
337
380
  :param study_name:
338
- :return:
381
+ :return: Dict[str, Union[None, pd.DataFrame]]
339
382
  """
340
383
  try:
341
384
  zip_file_pointer = zipfile.ZipFile(file_name_zip)
@@ -344,7 +387,7 @@ def load_session_driver_objects(file_name_zip: str, session_name: str, study_nam
344
387
 
345
388
  data = dict()
346
389
 
347
- # traverse the zip names and pick all those that start with sessions/session_name/study_name
390
+ # traverse the zip names and pick all those that start with sessions_data/session_name/study_name
348
391
  for name in zip_file_pointer.namelist():
349
392
  if '/' in name:
350
393
  path = name.split('/')
@@ -360,15 +403,10 @@ def load_session_driver_objects(file_name_zip: str, session_name: str, study_nam
360
403
  # read the data
361
404
  data[arr_name] = read_data_frame_from_zip(file_pointer, extension)
362
405
 
363
- # try:
364
- # data[arr_name] = np.load(file_pointer)
365
- # except ValueError:
366
- # data[arr_name] = np.load(file_pointer, allow_pickle=True)
367
-
368
406
  return data
369
407
 
370
408
 
371
- def get_xml_content(file_ptr):
409
+ def get_xml_content(file_ptr: zipfile.ZipExtFile) -> List[str]:
372
410
  """
373
411
  Reads the content of a file
374
412
  :param file_ptr: File pointer (from file or zip file)
@@ -383,7 +421,7 @@ def get_xml_content(file_ptr):
383
421
  try:
384
422
  detection = chardet.detect(first_line)
385
423
  encoding = detection['encoding']
386
- except:
424
+ except TypeError:
387
425
  encoding = 'utf-8'
388
426
 
389
427
  # sequential back to the start
@@ -398,7 +436,7 @@ def get_xml_content(file_ptr):
398
436
 
399
437
  def get_xml_from_zip(file_name_zip: str,
400
438
  text_func: Union[None, Callable[[str], None]] = None,
401
- progress_func: Union[None, Callable[[float], None]] = None,):
439
+ progress_func: Union[None, Callable[[float], None]] = None, ):
402
440
  """
403
441
  Get the .xml files from a zip file
404
442
  :param file_name_zip: name of the zip file
@@ -200,17 +200,18 @@ class AvailableTransferCapacityTimeSeriesDriver(TimeSeriesDriverTemplate):
200
200
  tpe = SimulationTypes.NetTransferCapacityTS_run
201
201
  name = tpe.value
202
202
 
203
- def __init__(
204
- self, grid: MultiCircuit,
205
- options: AvailableTransferCapacityOptions,
206
- time_indices: np.ndarray,
207
- clustering_results: Union[ClusteringResults, None] = None):
203
+ def __init__(self,
204
+ grid: MultiCircuit,
205
+ options: AvailableTransferCapacityOptions,
206
+ time_indices: np.ndarray,
207
+ clustering_results: Union[ClusteringResults, None] = None):
208
208
 
209
209
  """
210
210
  Power Transfer Distribution Factors class constructor
211
211
  :param grid: MultiCircuit Object
212
212
  :param options: OPF options
213
213
  :param time_indices: array of time indices to simulate
214
+ :param clustering_results: ClusteringResults (optional)
214
215
  """
215
216
 
216
217
  TimeSeriesDriverTemplate.__init__(
@@ -15,6 +15,7 @@
15
15
  # along with this program; if not, write to the Free Software Foundation,
16
16
  # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
 
18
+ import numpy as np
18
19
  from typing import Union
19
20
  from GridCalEngine.Devices.multi_circuit import MultiCircuit
20
21
  from GridCalEngine.Simulations.driver_types import SimulationTypes
@@ -38,7 +39,10 @@ class ClusteringDriver(DriverTemplate):
38
39
 
39
40
  self.options: ClusteringAnalysisOptions = options
40
41
 
41
- self.results: Union[ClusteringResults, None] = None
42
+ self.results: Union[ClusteringResults, None] = ClusteringResults(time_indices=np.empty(0, dtype=int),
43
+ sampled_probabilities=np.empty(0),
44
+ time_array=np.empty(0),
45
+ original_sample_idx=np.empty(0, dtype=int))
42
46
 
43
47
  def run(self):
44
48
  """
@@ -118,6 +118,7 @@ def optimal_linear_contingency_analysis(grid: MultiCircuit,
118
118
  areas_from=list(),
119
119
  areas_to=list(),
120
120
  energy_0=None,
121
+ fluid_level_0=None,
121
122
  logger=logger,
122
123
  export_model_fname=None)
123
124
 
@@ -17,6 +17,6 @@
17
17
  from GridCalEngine.Simulations.ContingencyAnalysis.contingency_analysis_options import ContingencyAnalysisOptions
18
18
  from GridCalEngine.Simulations.ContingencyAnalysis.contingency_analysis_driver import ContingencyAnalysisDriver
19
19
  from GridCalEngine.Simulations.ContingencyAnalysis.contingency_analysis_results import ContingencyAnalysisResults
20
- from GridCalEngine.Simulations.ContingencyAnalysis.contingency_analysis_ts_driver import ContingencyAnalysisTimeSeries
20
+ from GridCalEngine.Simulations.ContingencyAnalysis.contingency_analysis_ts_driver import ContingencyAnalysisTimeSeriesDriver
21
21
  from GridCalEngine.Simulations.ContingencyAnalysis.contingency_analysis_ts_results import ContingencyAnalysisTimeSeriesResults
22
22
 
@@ -258,7 +258,7 @@ class ContingencyResultsReport:
258
258
  """
259
259
  Add report data
260
260
  :param time_index:
261
- :param t_prob_
261
+ :param t_prob:
262
262
  :param area_from:
263
263
  :param area_to:
264
264
  :param base_name:
@@ -35,7 +35,7 @@ from GridCalEngine.Compilers.circuit_to_newton_pa import newton_pa_contingencies
35
35
  from GridCalEngine.Utils.NumericalMethods.weldorf_online_stddev import WeldorfOnlineStdDevMat
36
36
 
37
37
 
38
- class ContingencyAnalysisTimeSeries(TimeSeriesDriverTemplate):
38
+ class ContingencyAnalysisTimeSeriesDriver(TimeSeriesDriverTemplate):
39
39
  """
40
40
  Contingency Analysis Time Series
41
41
  """
@@ -30,21 +30,21 @@ class ContinuationPowerFlowDriver(DriverTemplate):
30
30
  name = 'Continuation Power Flow'
31
31
  tpe = SimulationTypes.ContinuationPowerFlow_run
32
32
 
33
- def __init__(self, circuit: MultiCircuit,
33
+ def __init__(self, grid: MultiCircuit,
34
34
  options: ContinuationPowerFlowOptions,
35
35
  inputs: ContinuationPowerFlowInput,
36
36
  pf_options: PowerFlowOptions,
37
37
  opf_results=None, t=0):
38
38
  """
39
39
  ContinuationPowerFlowDriver constructor
40
- :param circuit: NumericalCircuit instance
40
+ :param grid: NumericalCircuit instance
41
41
  :param options: ContinuationPowerFlowOptions instance
42
42
  :param inputs: ContinuationPowerFlowInput instance
43
43
  :param pf_options: PowerFlowOptions instance
44
44
  :param opf_results:
45
45
  """
46
46
 
47
- DriverTemplate.__init__(self, grid=circuit)
47
+ DriverTemplate.__init__(self, grid=grid)
48
48
 
49
49
  # voltage stability options
50
50
  self.options = options
@@ -57,7 +57,12 @@ class ContinuationPowerFlowDriver(DriverTemplate):
57
57
 
58
58
  self.t = t
59
59
 
60
- self.results = None
60
+ self.results = ContinuationPowerFlowResults(nval=0,
61
+ nbus=0,
62
+ nbr=0,
63
+ bus_names=[],
64
+ branch_names=[],
65
+ bus_types=[])
61
66
 
62
67
  def get_steps(self):
63
68
  """
@@ -68,7 +73,7 @@ class ContinuationPowerFlowDriver(DriverTemplate):
68
73
  else:
69
74
  return list()
70
75
 
71
- def progress_callback(self, lmbda):
76
+ def progress_callback(self, lmbda: float) -> None:
72
77
  """
73
78
  Send progress report
74
79
  :param lmbda: lambda value
@@ -56,7 +56,11 @@ class LinearAnalysisDriver(DriverTemplate):
56
56
  self.opf_results = opf_results
57
57
 
58
58
  # Results
59
- self.results: Union[LinearAnalysisResults, None] = None
59
+ self.results: Union[LinearAnalysisResults, None] = LinearAnalysisResults(n_br=0,
60
+ n_bus=0,
61
+ br_names=(),
62
+ bus_names=(),
63
+ bus_types=())
60
64
 
61
65
  self.all_solved: bool = True
62
66
 
@@ -501,10 +501,10 @@ def ac_optimal_power_flow(nc: NumericalCircuit,
501
501
 
502
502
  # Check the active elements and their operational limits.
503
503
  br_mon_idx = nc.branch_data.get_monitor_enabled_indices()
504
- gen_disp_idx = nc.generator_data.get_dispatchable_indices()
504
+ gen_disp_idx = nc.generator_data.get_dispatchable_active_indices()
505
505
  ind_gens = np.arange(len(Pg_max))
506
- nig = np.where(~np.isin(ind_gens, gen_disp_idx))[0]
507
- Sg_undis = (nc.generator_data.get_injections() / nc.Sbase)[nig]
506
+ gen_nondisp_idx = nc.generator_data.get_non_dispatchable_indices()
507
+ Sg_undis = (nc.generator_data.get_injections() / nc.Sbase)[gen_nondisp_idx]
508
508
  rates = nc.rates / Sbase # Line loading limits. If the grid is not well conditioned, add constant value (i.e. +100)
509
509
  Va_max = nc.bus_data.angle_max # This limits are not really used as of right now.
510
510
  Va_min = nc.bus_data.angle_min
@@ -555,8 +555,8 @@ def ac_optimal_power_flow(nc: NumericalCircuit,
555
555
  if opf_options.acopf_mode == AcOpfMode.ACOPFslacks:
556
556
  nsl = 2 * npq + 2 * n_br_mon
557
557
  # Slack relaxations for constraints
558
- c_s = 1 * np.power(nc.branch_data.overload_cost[br_mon_idx] + 1e-9, 1.0) # Cost squared since the slack is also squared
559
- c_v = 1 * nc.bus_data.cost_v[pq] + 1e-9
558
+ c_s = 1 * np.power(nc.branch_data.overload_cost[br_mon_idx] + 0.1, 1.0) # Cost squared since the slack is also squared
559
+ c_v = 1 * (nc.bus_data.cost_v[pq] + 0.1)
560
560
  sl_sf0 = np.ones(n_br_mon)
561
561
  sl_st0 = np.ones(n_br_mon)
562
562
  sl_vmax0 = np.ones(npq)
@@ -629,7 +629,7 @@ def ac_optimal_power_flow(nc: NumericalCircuit,
629
629
  arg=(admittances, Cg, Sd, slack, from_idx, to_idx,
630
630
  pq, pv, Va_max, Va_min, Vm_max, Vm_min, Pg_max, Pg_min,
631
631
  Qg_max, Qg_min, tapm_max, tapm_min, tapt_max, tapt_min, alltapm, alltapt,
632
- k_m, k_tau, k_mtau, c0, c1, c2, Sbase, rates, br_mon_idx, gen_disp_idx, nig,
632
+ k_m, k_tau, k_mtau, c0, c1, c2, Sbase, rates, br_mon_idx, gen_disp_idx, gen_nondisp_idx,
633
633
  Sg_undis, pf_options.control_Q, opf_options.acopf_mode),
634
634
  verbose=opf_options.verbose,
635
635
  max_iter=opf_options.ips_iterations,
@@ -644,7 +644,7 @@ def ac_optimal_power_flow(nc: NumericalCircuit,
644
644
  arg=(admittances, Cg, Sd, slack, from_idx, to_idx, pq, pv,
645
645
  Va_max, Va_min, Vm_max, Vm_min, Pg_max, Pg_min, Qg_max, Qg_min,
646
646
  tapm_max, tapm_min, tapt_max, tapt_min, k_m, k_tau, k_mtau,
647
- c0, c1, c2, Sbase, rates, br_mon_idx, gen_disp_idx, nig, Sg_undis,
647
+ c0, c1, c2, Sbase, rates, br_mon_idx, gen_disp_idx, gen_nondisp_idx, Sg_undis,
648
648
  opf_options.acopf_mode, 1e-5),
649
649
  verbose=opf_options.verbose,
650
650
  max_iter=opf_options.ips_iterations,
@@ -658,7 +658,7 @@ def ac_optimal_power_flow(nc: NumericalCircuit,
658
658
  f_disp_hvdc, t_disp_hvdc, n_disp_hvdc, pq, pv, Pf_nondisp, P_hvdc_max, Vm_max, Vm_min, Pg_max,
659
659
  Pg_min, tanmax, Qg_max, Qg_min, tapm_max, tapm_min, tapt_max, tapt_min,
660
660
  alltapm, alltapt, k_m, k_tau, c0, c1, c2, c_s, c_v, Sbase, rates, br_mon_idx,
661
- n_br_mon, gen_disp_idx, nig, Sg_undis, pf_options.control_Q, opf_options.acopf_mode),
661
+ n_br_mon, gen_disp_idx, gen_nondisp_idx, Sg_undis, pf_options.control_Q, opf_options.acopf_mode),
662
662
  verbose=opf_options.verbose,
663
663
  max_iter=opf_options.ips_iterations,
664
664
  tol=opf_options.ips_tolerance,
@@ -671,18 +671,18 @@ def ac_optimal_power_flow(nc: NumericalCircuit,
671
671
  acopf_mode=opf_options.acopf_mode)
672
672
 
673
673
  # Save Results DataFrame for tests
674
- # pd.DataFrame(Va).transpose().to_csv('pegase89resth.csv')
675
- # pd.DataFrame(Vm).transpose().to_csv('pegase89resV.csv')
676
- # pd.DataFrame(Pg_dis).transpose().to_csv('pegase89resP.csv')
677
- # pd.DataFrame(Qg_dis).transpose().to_csv('pegase89resQ.csv')
674
+ #pd.DataFrame(Va).transpose().to_csv('REEresth.csv')
675
+ #pd.DataFrame(Vm).transpose().to_csv('REEresV.csv')
676
+ #pd.DataFrame(Pg_dis).transpose().to_csv('REEresP.csv')
677
+ #pd.DataFrame(Qg_dis).transpose().to_csv('REEresQ.csv')
678
678
 
679
679
  Pg = np.zeros(len(ind_gens))
680
680
  Qg = np.zeros(len(ind_gens))
681
681
 
682
682
  Pg[gen_disp_idx] = Pg_dis
683
683
  Qg[gen_disp_idx] = Qg_dis
684
- Pg[nig] = np.real(Sg_undis)
685
- Qg[nig] = np.imag(Sg_undis)
684
+ Pg[gen_nondisp_idx] = np.real(Sg_undis)
685
+ Qg[gen_nondisp_idx] = np.imag(Sg_undis)
686
686
 
687
687
  # convert the lagrange multipliers to significant ones
688
688
  lam_p, lam_q = result.lam[:nbus], result.lam[nbus:2 * nbus]