GridCalEngine 5.1.28__tar.gz → 5.1.30__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 (717) hide show
  1. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Compilers/circuit_to_newton_pa.py +4 -4
  2. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Aggregation/__init__.py +1 -0
  3. GridCalEngine-5.1.30/GridCalEngine/Devices/Aggregation/inter_aggregation_info.py +125 -0
  4. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/assets.py +27 -27
  5. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/multi_circuit.py +110 -23
  6. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/gridcal/pack_unpack.py +3 -0
  7. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ATC/available_transfer_capacity_driver.py +39 -105
  8. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ATC/available_transfer_capacity_options.py +0 -1
  9. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/optimal_linear_contingency_analysis.py +1 -2
  10. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/NodalCapacity/nodal_capacity_ts_driver.py +1 -2
  11. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/OPF/linear_opf_ts.py +7 -7
  12. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/OPF/opf_driver.py +1 -2
  13. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/OPF/opf_options.py +6 -21
  14. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/OPF/opf_ts_driver.py +2 -4
  15. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/__version__.py +1 -1
  16. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/enumerations.py +2 -0
  17. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/PKG-INFO +1 -1
  18. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Compilers/__init__.py +0 -0
  19. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Compilers/circuit_to_bentayga.py +0 -0
  20. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Compilers/circuit_to_data.py +0 -0
  21. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Compilers/circuit_to_optimods.py +0 -0
  22. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Compilers/circuit_to_pgm.py +0 -0
  23. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/DataStructures/__init__.py +0 -0
  24. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/DataStructures/battery_data.py +0 -0
  25. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/DataStructures/branch_data.py +0 -0
  26. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/DataStructures/bus_data.py +0 -0
  27. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/DataStructures/fluid_node_data.py +0 -0
  28. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/DataStructures/fluid_p2x_data.py +0 -0
  29. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/DataStructures/fluid_path_data.py +0 -0
  30. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/DataStructures/fluid_pump_data.py +0 -0
  31. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/DataStructures/fluid_turbine_data.py +0 -0
  32. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/DataStructures/generator_data.py +0 -0
  33. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/DataStructures/hvdc_data.py +0 -0
  34. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/DataStructures/load_data.py +0 -0
  35. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/DataStructures/numerical_circuit.py +0 -0
  36. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/DataStructures/shunt_data.py +0 -0
  37. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/DataStructures/vsc_data.py +0 -0
  38. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Aggregation/area.py +0 -0
  39. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Aggregation/branch_group.py +0 -0
  40. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Aggregation/community.py +0 -0
  41. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Aggregation/contingency.py +0 -0
  42. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Aggregation/contingency_group.py +0 -0
  43. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Aggregation/country.py +0 -0
  44. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Aggregation/investment.py +0 -0
  45. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Aggregation/investments_group.py +0 -0
  46. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Aggregation/modelling_authority.py +0 -0
  47. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Aggregation/municipality.py +0 -0
  48. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Aggregation/region.py +0 -0
  49. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Aggregation/zone.py +0 -0
  50. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Associations/__init__.py +0 -0
  51. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Associations/association.py +0 -0
  52. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Associations/emission_gas.py +0 -0
  53. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Associations/fuel.py +0 -0
  54. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Associations/technology.py +0 -0
  55. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/__init__.py +0 -0
  56. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/branch.py +0 -0
  57. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/dc_line.py +0 -0
  58. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/hvdc_line.py +0 -0
  59. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/line.py +0 -0
  60. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/line_locations.py +0 -0
  61. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/overhead_line_type.py +0 -0
  62. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/sequence_line_type.py +0 -0
  63. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/series_reactance.py +0 -0
  64. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/switch.py +0 -0
  65. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/tap_changer.py +0 -0
  66. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/transformer.py +0 -0
  67. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/transformer3w.py +0 -0
  68. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/transformer_type.py +0 -0
  69. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/underground_line_type.py +0 -0
  70. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/upfc.py +0 -0
  71. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/vsc.py +0 -0
  72. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/winding.py +0 -0
  73. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Branches/wire.py +0 -0
  74. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Diagrams/__init__.py +0 -0
  75. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Diagrams/base_diagram.py +0 -0
  76. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Diagrams/graphic_location.py +0 -0
  77. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Diagrams/map_diagram.py +0 -0
  78. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Diagrams/map_location.py +0 -0
  79. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Diagrams/palettes.py +0 -0
  80. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Diagrams/schematic_diagram.py +0 -0
  81. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Fluid/__init__.py +0 -0
  82. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Fluid/fluid_injection_template.py +0 -0
  83. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Fluid/fluid_node.py +0 -0
  84. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Fluid/fluid_p2x.py +0 -0
  85. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Fluid/fluid_path.py +0 -0
  86. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Fluid/fluid_pump.py +0 -0
  87. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Fluid/fluid_turbine.py +0 -0
  88. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Injections/__init__.py +0 -0
  89. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Injections/battery.py +0 -0
  90. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Injections/controllable_shunt.py +0 -0
  91. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Injections/current_injection.py +0 -0
  92. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Injections/external_grid.py +0 -0
  93. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Injections/generator.py +0 -0
  94. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Injections/generator_q_curve.py +0 -0
  95. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Injections/load.py +0 -0
  96. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Injections/shunt.py +0 -0
  97. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Injections/static_generator.py +0 -0
  98. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Parents/__init__.py +0 -0
  99. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Parents/branch_parent.py +0 -0
  100. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Parents/controllable_branch_parent.py +0 -0
  101. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Parents/editable_device.py +0 -0
  102. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Parents/generator_parent.py +0 -0
  103. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Parents/injection_parent.py +0 -0
  104. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Parents/load_parent.py +0 -0
  105. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Parents/shunt_parent.py +0 -0
  106. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Substation/__init__.py +0 -0
  107. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Substation/bus.py +0 -0
  108. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Substation/busbar.py +0 -0
  109. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Substation/connectivity_node.py +0 -0
  110. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Substation/substation.py +0 -0
  111. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/Substation/voltage_level.py +0 -0
  112. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/__init__.py +0 -0
  113. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/comparison.py +0 -0
  114. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/measurement.py +0 -0
  115. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/profile.py +0 -0
  116. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Devices/types.py +0 -0
  117. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/__init__.py +0 -0
  118. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/base/__init__.py +0 -0
  119. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/base/base_circuit.py +0 -0
  120. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/base/base_device.py +0 -0
  121. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/base/base_property.py +0 -0
  122. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/base/units.py +0 -0
  123. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/__init__.py +0 -0
  124. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/__init__.py +0 -0
  125. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/base.py +0 -0
  126. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_assets/__init__.py +0 -0
  127. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_assets/cgmes_2_4_15_assets.py +0 -0
  128. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_assets/cgmes_3_0_0_assets.py +0 -0
  129. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_circuit.py +0 -0
  130. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_data_parser.py +0 -0
  131. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_data_validator.py +0 -0
  132. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_enums.py +0 -0
  133. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_export.py +0 -0
  134. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_poperty.py +0 -0
  135. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_to_gridcal.py +0 -0
  136. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_utils.py +0 -0
  137. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/__init__.py +0 -0
  138. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/__init__.py +0 -0
  139. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ac_line_segment.py +0 -0
  140. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_converter.py +0 -0
  141. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_converterdc_terminal.py +0 -0
  142. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_terminal.py +0 -0
  143. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/active_power_limit.py +0 -0
  144. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/analog_control.py +0 -0
  145. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/apparent_power_limit.py +0 -0
  146. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/asynchronous_machine.py +0 -0
  147. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/base_voltage.py +0 -0
  148. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/basic_interval_schedule.py +0 -0
  149. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/bay.py +0 -0
  150. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/breaker.py +0 -0
  151. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/bus_name_marker.py +0 -0
  152. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/busbar_section.py +0 -0
  153. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conducting_equipment.py +0 -0
  154. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conductor.py +0 -0
  155. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conform_load.py +0 -0
  156. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conform_load_group.py +0 -0
  157. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connectivity_node.py +0 -0
  158. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connectivity_node_container.py +0 -0
  159. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connector.py +0 -0
  160. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control.py +0 -0
  161. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control_area.py +0 -0
  162. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control_area_generating_unit.py +0 -0
  163. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/coordinate_system.py +0 -0
  164. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/cs_converter.py +0 -0
  165. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/current_limit.py +0 -0
  166. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/curve.py +0 -0
  167. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/curve_data.py +0 -0
  168. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_base_terminal.py +0 -0
  169. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_breaker.py +0 -0
  170. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_busbar.py +0 -0
  171. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_chopper.py +0 -0
  172. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_conducting_equipment.py +0 -0
  173. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_converter_unit.py +0 -0
  174. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_disconnector.py +0 -0
  175. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_equipment_container.py +0 -0
  176. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_ground.py +0 -0
  177. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_line.py +0 -0
  178. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_line_segment.py +0 -0
  179. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_node.py +0 -0
  180. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_series_device.py +0 -0
  181. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_shunt.py +0 -0
  182. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_switch.py +0 -0
  183. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_terminal.py +0 -0
  184. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_topological_island.py +0 -0
  185. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_topological_node.py +0 -0
  186. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/disconnector.py +0 -0
  187. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/earth_fault_compensator.py +0 -0
  188. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_area.py +0 -0
  189. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_consumer.py +0 -0
  190. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_scheduling_type.py +0 -0
  191. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_source.py +0 -0
  192. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equipment.py +0 -0
  193. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equipment_container.py +0 -0
  194. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_branch.py +0 -0
  195. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_equipment.py +0 -0
  196. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_injection.py +0 -0
  197. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_network.py +0 -0
  198. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_shunt.py +0 -0
  199. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/external_network_injection.py +0 -0
  200. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/fossil_fuel.py +0 -0
  201. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/full_model.py +0 -0
  202. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/generating_unit.py +0 -0
  203. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/geographical_region.py +0 -0
  204. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ground.py +0 -0
  205. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ground_disconnector.py +0 -0
  206. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/grounding_impedance.py +0 -0
  207. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_generating_unit.py +0 -0
  208. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_power_plant.py +0 -0
  209. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_pump.py +0 -0
  210. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/identified_object.py +0 -0
  211. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/junction.py +0 -0
  212. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/limit.py +0 -0
  213. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/limit_set.py +0 -0
  214. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/line.py +0 -0
  215. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/linear_shunt_compensator.py +0 -0
  216. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_area.py +0 -0
  217. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_break_switch.py +0 -0
  218. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_group.py +0 -0
  219. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_response_characteristic.py +0 -0
  220. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/location.py +0 -0
  221. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/measurement.py +0 -0
  222. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/measurement_value.py +0 -0
  223. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/mutual_coupling.py +0 -0
  224. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/non_conform_load.py +0 -0
  225. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/non_conform_load_group.py +0 -0
  226. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nonlinear_shunt_compensator.py +0 -0
  227. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nonlinear_shunt_compensator_point.py +0 -0
  228. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nuclear_generating_unit.py +0 -0
  229. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit.py +0 -0
  230. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit_set.py +0 -0
  231. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit_type.py +0 -0
  232. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/per_lengthdc_line_parameter.py +0 -0
  233. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/petersen_coil.py +0 -0
  234. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer.py +0 -0
  235. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_asymmetrical.py +0 -0
  236. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_linear.py +0 -0
  237. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_non_linear.py +0 -0
  238. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_symmetrical.py +0 -0
  239. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_table.py +0 -0
  240. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_table_point.py +0 -0
  241. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_tabular.py +0 -0
  242. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/position_point.py +0 -0
  243. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_system_resource.py +0 -0
  244. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_transformer.py +0 -0
  245. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_transformer_end.py +0 -0
  246. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/protected_switch.py +0 -0
  247. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/quality61850.py +0 -0
  248. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer.py +0 -0
  249. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer_table.py +0 -0
  250. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer_table_point.py +0 -0
  251. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/reactive_capability_curve.py +0 -0
  252. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regular_interval_schedule.py +0 -0
  253. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regulating_cond_eq.py +0 -0
  254. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regulating_control.py +0 -0
  255. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/reporting_group.py +0 -0
  256. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/rotating_machine.py +0 -0
  257. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/season_day_type_schedule.py +0 -0
  258. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/series_compensator.py +0 -0
  259. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/shunt_compensator.py +0 -0
  260. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/solar_generating_unit.py +0 -0
  261. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/static_var_compensator.py +0 -0
  262. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sub_geographical_region.py +0 -0
  263. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sub_load_area.py +0 -0
  264. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/substation.py +0 -0
  265. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_injection.py +0 -0
  266. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_power_flow.py +0 -0
  267. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_shunt_compensator_sections.py +0 -0
  268. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_status.py +0 -0
  269. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_tap_step.py +0 -0
  270. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_voltage.py +0 -0
  271. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/switch.py +0 -0
  272. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/synchronous_machine.py +0 -0
  273. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer.py +0 -0
  274. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer_control.py +0 -0
  275. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer_table_point.py +0 -0
  276. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/terminal.py +0 -0
  277. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/thermal_generating_unit.py +0 -0
  278. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tie_flow.py +0 -0
  279. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/topological_island.py +0 -0
  280. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/topological_node.py +0 -0
  281. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/transformer_end.py +0 -0
  282. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/voltage_level.py +0 -0
  283. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/voltage_limit.py +0 -0
  284. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/vs_capability_curve.py +0 -0
  285. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/vs_converter.py +0 -0
  286. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/wind_generating_unit.py +0 -0
  287. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/__init__.py +0 -0
  288. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/__init__.py +0 -0
  289. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ac_line_segment.py +0 -0
  290. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_converter.py +0 -0
  291. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_converterdc_terminal.py +0 -0
  292. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_terminal.py +0 -0
  293. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/active_power_limit.py +0 -0
  294. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/analog_control.py +0 -0
  295. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/apparent_power_limit.py +0 -0
  296. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/asynchronous_machine.py +0 -0
  297. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/auxiliary_equipment.py +0 -0
  298. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/base_voltage.py +0 -0
  299. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/basic_interval_schedule.py +0 -0
  300. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/battery_unit.py +0 -0
  301. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/bay.py +0 -0
  302. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/boundary_point.py +0 -0
  303. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/breaker.py +0 -0
  304. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/bus_name_marker.py +0 -0
  305. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/busbar_section.py +0 -0
  306. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/caes_plant.py +0 -0
  307. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/clamp.py +0 -0
  308. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cogeneration_plant.py +0 -0
  309. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/combined_cycle_plant.py +0 -0
  310. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conducting_equipment.py +0 -0
  311. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conductor.py +0 -0
  312. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conform_load.py +0 -0
  313. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conform_load_group.py +0 -0
  314. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connectivity_node.py +0 -0
  315. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connectivity_node_container.py +0 -0
  316. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connector.py +0 -0
  317. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control.py +0 -0
  318. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control_area.py +0 -0
  319. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control_area_generating_unit.py +0 -0
  320. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/coordinate_system.py +0 -0
  321. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cs_converter.py +0 -0
  322. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/current_limit.py +0 -0
  323. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/current_transformer.py +0 -0
  324. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/curve.py +0 -0
  325. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/curve_data.py +0 -0
  326. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cut.py +0 -0
  327. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_base_terminal.py +0 -0
  328. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_breaker.py +0 -0
  329. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_busbar.py +0 -0
  330. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_chopper.py +0 -0
  331. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_conducting_equipment.py +0 -0
  332. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_converter_unit.py +0 -0
  333. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_disconnector.py +0 -0
  334. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_equipment_container.py +0 -0
  335. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_ground.py +0 -0
  336. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_line.py +0 -0
  337. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_line_segment.py +0 -0
  338. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_node.py +0 -0
  339. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_series_device.py +0 -0
  340. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_shunt.py +0 -0
  341. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_switch.py +0 -0
  342. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_terminal.py +0 -0
  343. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_topological_island.py +0 -0
  344. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_topological_node.py +0 -0
  345. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/disconnecting_circuit_breaker.py +0 -0
  346. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/disconnector.py +0 -0
  347. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/earth_fault_compensator.py +0 -0
  348. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_area.py +0 -0
  349. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_connection.py +0 -0
  350. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_consumer.py +0 -0
  351. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_scheduling_type.py +0 -0
  352. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_source.py +0 -0
  353. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equipment.py +0 -0
  354. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equipment_container.py +0 -0
  355. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_branch.py +0 -0
  356. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_equipment.py +0 -0
  357. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_injection.py +0 -0
  358. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_network.py +0 -0
  359. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_shunt.py +0 -0
  360. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/external_network_injection.py +0 -0
  361. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fault_indicator.py +0 -0
  362. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fossil_fuel.py +0 -0
  363. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fuse.py +0 -0
  364. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/generating_unit.py +0 -0
  365. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/geographical_region.py +0 -0
  366. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ground.py +0 -0
  367. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ground_disconnector.py +0 -0
  368. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/grounding_impedance.py +0 -0
  369. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_generating_unit.py +0 -0
  370. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_power_plant.py +0 -0
  371. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_pump.py +0 -0
  372. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/identified_object.py +0 -0
  373. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/io_point.py +0 -0
  374. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/jumper.py +0 -0
  375. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/junction.py +0 -0
  376. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/limit.py +0 -0
  377. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/limit_set.py +0 -0
  378. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/line.py +0 -0
  379. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/linear_shunt_compensator.py +0 -0
  380. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_area.py +0 -0
  381. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_break_switch.py +0 -0
  382. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_group.py +0 -0
  383. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_response_characteristic.py +0 -0
  384. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/location.py +0 -0
  385. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/measurement.py +0 -0
  386. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/measurement_value.py +0 -0
  387. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/mutual_coupling.py +0 -0
  388. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/non_conform_load.py +0 -0
  389. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/non_conform_load_group.py +0 -0
  390. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nonlinear_shunt_compensator.py +0 -0
  391. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nonlinear_shunt_compensator_point.py +0 -0
  392. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nuclear_generating_unit.py +0 -0
  393. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit.py +0 -0
  394. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit_set.py +0 -0
  395. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit_type.py +0 -0
  396. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/petersen_coil.py +0 -0
  397. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer.py +0 -0
  398. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_asymmetrical.py +0 -0
  399. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_linear.py +0 -0
  400. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_non_linear.py +0 -0
  401. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_symmetrical.py +0 -0
  402. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_table.py +0 -0
  403. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_table_point.py +0 -0
  404. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_tabular.py +0 -0
  405. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/photo_voltaic_unit.py +0 -0
  406. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/position_point.py +0 -0
  407. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/post_line_sensor.py +0 -0
  408. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/potential_transformer.py +0 -0
  409. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_connection.py +0 -0
  410. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_unit.py +0 -0
  411. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_wind_unit.py +0 -0
  412. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_system_resource.py +0 -0
  413. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_transformer.py +0 -0
  414. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_transformer_end.py +0 -0
  415. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/protected_switch.py +0 -0
  416. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer.py +0 -0
  417. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer_table.py +0 -0
  418. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer_table_point.py +0 -0
  419. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/reactive_capability_curve.py +0 -0
  420. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regular_interval_schedule.py +0 -0
  421. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regulating_cond_eq.py +0 -0
  422. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regulating_control.py +0 -0
  423. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/reporting_group.py +0 -0
  424. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/rotating_machine.py +0 -0
  425. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/season_day_type_schedule.py +0 -0
  426. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sensor.py +0 -0
  427. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/series_compensator.py +0 -0
  428. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/service_location.py +0 -0
  429. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/shunt_compensator.py +0 -0
  430. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/solar_generating_unit.py +0 -0
  431. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/solar_power_plant.py +0 -0
  432. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/static_var_compensator.py +0 -0
  433. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sub_geographical_region.py +0 -0
  434. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sub_load_area.py +0 -0
  435. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/substation.py +0 -0
  436. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/surge_arrester.py +0 -0
  437. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_injection.py +0 -0
  438. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_power_flow.py +0 -0
  439. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_shunt_compensator_sections.py +0 -0
  440. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_status.py +0 -0
  441. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_switch.py +0 -0
  442. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_tap_step.py +0 -0
  443. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_voltage.py +0 -0
  444. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/switch.py +0 -0
  445. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/synchronous_machine.py +0 -0
  446. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer.py +0 -0
  447. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer_control.py +0 -0
  448. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer_table_point.py +0 -0
  449. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/terminal.py +0 -0
  450. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/thermal_generating_unit.py +0 -0
  451. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tie_flow.py +0 -0
  452. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/topological_island.py +0 -0
  453. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/topological_node.py +0 -0
  454. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/transformer_end.py +0 -0
  455. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/voltage_level.py +0 -0
  456. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/voltage_limit.py +0 -0
  457. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/vs_capability_curve.py +0 -0
  458. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/vs_converter.py +0 -0
  459. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wave_trap.py +0 -0
  460. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wind_generating_unit.py +0 -0
  461. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wind_power_plant.py +0 -0
  462. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/work_location.py +0 -0
  463. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/cgmes_writer.py +0 -0
  464. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/gridcal_to_cgmes.py +0 -0
  465. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/rdfs_infos.py +0 -0
  466. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cgmes/rdfs_serializations.py +0 -0
  467. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cim16/__init__.py +0 -0
  468. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cim16/cim_circuit.py +0 -0
  469. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cim16/cim_data_parser.py +0 -0
  470. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cim16/cim_devices.py +0 -0
  471. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cim16/cim_enums.py +0 -0
  472. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/cim16/cim_parser.py +0 -0
  473. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/db/__init__.py +0 -0
  474. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/db/base_db.py +0 -0
  475. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/db/cgmes_lookup_db.py +0 -0
  476. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/db/db_handler.py +0 -0
  477. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/db/file_system.py +0 -0
  478. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/cim/db/psse_lookup_db.py +0 -0
  479. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/dgs/__init__.py +0 -0
  480. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/dgs/dgs_parser.py +0 -0
  481. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/epc/__init__.py +0 -0
  482. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/epc/epc_parser.py +0 -0
  483. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/file_handler.py +0 -0
  484. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/file_system.py +0 -0
  485. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/gridcal/__init__.py +0 -0
  486. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/gridcal/catalogue.py +0 -0
  487. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/gridcal/contingency_parser.py +0 -0
  488. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/gridcal/excel_interface.py +0 -0
  489. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/gridcal/generic_io_functions.py +0 -0
  490. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/gridcal/h5_interface.py +0 -0
  491. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/gridcal/json_parser.py +0 -0
  492. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/gridcal/remote.py +0 -0
  493. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/gridcal/results_export.py +0 -0
  494. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/gridcal/sqlite_interface.py +0 -0
  495. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/gridcal/zip_interface.py +0 -0
  496. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/matpower/__init__.py +0 -0
  497. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/matpower/matpower_branch_definitions.py +0 -0
  498. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/matpower/matpower_bus_definitions.py +0 -0
  499. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/matpower/matpower_gen_definitions.py +0 -0
  500. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/matpower/matpower_parser.py +0 -0
  501. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/matpower/matpower_storage_definitions.py +0 -0
  502. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/others/__init__.py +0 -0
  503. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/others/dpx_parser.py +0 -0
  504. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/others/ipa_parser.py +0 -0
  505. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/others/plx_parser.py +0 -0
  506. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/others/pypsa_parser.py +0 -0
  507. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/__init__.py +0 -0
  508. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/__init__.py +0 -0
  509. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/area.py +0 -0
  510. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/branch.py +0 -0
  511. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/bus.py +0 -0
  512. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/facts.py +0 -0
  513. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/fixed_shunt.py +0 -0
  514. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/generator.py +0 -0
  515. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/gne_device.py +0 -0
  516. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/induction_machine.py +0 -0
  517. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/inter_area.py +0 -0
  518. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/load.py +0 -0
  519. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/node.py +0 -0
  520. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/owner.py +0 -0
  521. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/psse_circuit.py +0 -0
  522. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/psse_object.py +0 -0
  523. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/psse_property.py +0 -0
  524. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/substation.py +0 -0
  525. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/switched_shunt.py +0 -0
  526. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/system_switching_device.py +0 -0
  527. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/transformer.py +0 -0
  528. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/two_terminal_dc_line.py +0 -0
  529. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/vsc_dc_line.py +0 -0
  530. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/devices/zone.py +0 -0
  531. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/gridcal_to_raw.py +0 -0
  532. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/raw_functions.py +0 -0
  533. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/raw_parser_legacy.py +0 -0
  534. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/raw_parser_writer.py +0 -0
  535. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/raw_to_gridcal.py +0 -0
  536. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/rawx_parser_legacy.py +0 -0
  537. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/IO/raw/rawx_parser_writer.py +0 -0
  538. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/LICENSE.txt +0 -0
  539. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ATC/__init__.py +0 -0
  540. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ATC/available_transfer_capacity_ts_driver.py +0 -0
  541. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Clustering/__init__.py +0 -0
  542. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Clustering/clustering.py +0 -0
  543. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Clustering/clustering_driver.py +0 -0
  544. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Clustering/clustering_options.py +0 -0
  545. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Clustering/clustering_results.py +0 -0
  546. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/__init__.py +0 -0
  547. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/helm_contingencies.py +0 -0
  548. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/helm_contingency_analysis.py +0 -0
  549. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/linear_contingency_analysis.py +0 -0
  550. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/nonlinear_contingency_analysis.py +0 -0
  551. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/srap.py +0 -0
  552. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContingencyAnalysis/__init__.py +0 -0
  553. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContingencyAnalysis/contingencies_report.py +0 -0
  554. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_driver.py +0 -0
  555. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_options.py +0 -0
  556. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_results.py +0 -0
  557. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_driver.py +0 -0
  558. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_results.py +0 -0
  559. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_plan.py +0 -0
  560. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContinuationPowerFlow/__init__.py +0 -0
  561. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow.py +0 -0
  562. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_driver.py +0 -0
  563. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_input.py +0 -0
  564. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_options.py +0 -0
  565. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_results.py +0 -0
  566. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Derivatives/__init__.py +0 -0
  567. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Derivatives/ac_jacobian.py +0 -0
  568. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Derivatives/acdc_jacobian.py +0 -0
  569. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Derivatives/csc_derivatives.py +0 -0
  570. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Derivatives/csr_derivatives.py +0 -0
  571. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Derivatives/matpower_derivatives.py +0 -0
  572. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Dynamics/__init__.py +0 -0
  573. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Dynamics/dynamic_modules.py +0 -0
  574. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Dynamics/transient_stability_driver.py +0 -0
  575. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/InputsAnalysis/__init__.py +0 -0
  576. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/InputsAnalysis/inputs_analysis_driver.py +0 -0
  577. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/NSGA_3.py +0 -0
  578. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/__init__.py +0 -0
  579. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/mixed_variable_NSGA_2.py +0 -0
  580. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/random_eval.py +0 -0
  581. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/stop_crits.py +0 -0
  582. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/InvestmentsEvaluation/__init__.py +0 -0
  583. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_driver.py +0 -0
  584. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_options.py +0 -0
  585. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_results.py +0 -0
  586. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/LinearFactors/__init__.py +0 -0
  587. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/LinearFactors/linear_analysis.py +0 -0
  588. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/LinearFactors/linear_analysis_driver.py +0 -0
  589. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/LinearFactors/linear_analysis_options.py +0 -0
  590. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/LinearFactors/linear_analysis_results.py +0 -0
  591. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_driver.py +0 -0
  592. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_results.py +0 -0
  593. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/NTC/__init__.py +0 -0
  594. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/NTC/ntc_driver.py +0 -0
  595. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/NTC/ntc_opf.py +0 -0
  596. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/NTC/ntc_options.py +0 -0
  597. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/NTC/ntc_results.py +0 -0
  598. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/NTC/ntc_ts_driver.py +0 -0
  599. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/NTC/ntc_ts_results.py +0 -0
  600. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/NodalCapacity/__init__.py +0 -0
  601. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/NodalCapacity/nodal_capacity_options.py +0 -0
  602. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/NodalCapacity/nodal_capacity_ts_results.py +0 -0
  603. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/OPF/NumericalMethods/__init__.py +0 -0
  604. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf.py +0 -0
  605. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf_autodif.py +0 -0
  606. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf_derivatives.py +0 -0
  607. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/OPF/__init__.py +0 -0
  608. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/OPF/opf_results.py +0 -0
  609. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/OPF/opf_ts_results.py +0 -0
  610. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/OPF/simple_dispatch_ts.py +0 -0
  611. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/__init__.py +0 -0
  612. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/common_functions.py +0 -0
  613. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/discrete_controls.py +0 -0
  614. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/fast_decoupled.py +0 -0
  615. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/gauss_power_flow.py +0 -0
  616. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/helm_power_flow.py +0 -0
  617. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/iwamoto_newton_raphson.py +0 -0
  618. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/levenberg_marquadt_fx.py +0 -0
  619. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/linearized_power_flow.py +0 -0
  620. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_fx.py +0 -0
  621. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/pf_advanced_formulation.py +0 -0
  622. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/pf_basic_formulation.py +0 -0
  623. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/pf_formulation_template.py +0 -0
  624. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/powell_fx.py +0 -0
  625. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/__init__.py +0 -0
  626. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/grid_analysis.py +0 -0
  627. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/power_flow_driver.py +0 -0
  628. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/power_flow_options.py +0 -0
  629. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/power_flow_results.py +0 -0
  630. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_driver.py +0 -0
  631. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_input.py +0 -0
  632. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_results.py +0 -0
  633. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/PowerFlow/power_flow_worker.py +0 -0
  634. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ShortCircuitStudies/__init__.py +0 -0
  635. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit.py +0 -0
  636. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_driver.py +0 -0
  637. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_options.py +0 -0
  638. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_results.py +0 -0
  639. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_worker.py +0 -0
  640. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/SigmaAnalysis/__init__.py +0 -0
  641. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/SigmaAnalysis/sigma_analysis_driver.py +0 -0
  642. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/StateEstimation/__init__.py +0 -0
  643. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/StateEstimation/state_estimation.py +0 -0
  644. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/StateEstimation/state_stimation_driver.py +0 -0
  645. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Stochastic/__init__.py +0 -0
  646. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Stochastic/blackout_driver.py +0 -0
  647. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Stochastic/latin_hypercube_sampling.py +0 -0
  648. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Stochastic/reliability_driver.py +0 -0
  649. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Stochastic/reliability_iterable.py +0 -0
  650. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_driver.py +0 -0
  651. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_input.py +0 -0
  652. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_results.py +0 -0
  653. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Topology/__init__.py +0 -0
  654. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Topology/node_groups_driver.py +0 -0
  655. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Topology/topology_processor_driver.py +0 -0
  656. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/Topology/topology_reduction_driver.py +0 -0
  657. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/__init__.py +0 -0
  658. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/driver_template.py +0 -0
  659. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/driver_types.py +0 -0
  660. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/options_template.py +0 -0
  661. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/results_table.py +0 -0
  662. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/results_template.py +0 -0
  663. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Simulations/types.py +0 -0
  664. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Topology/__init__.py +0 -0
  665. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Topology/admittance_matrices.py +0 -0
  666. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Topology/detect_substations.py +0 -0
  667. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Topology/simulation_indices.py +0 -0
  668. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Topology/topology.py +0 -0
  669. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Topology/topology_processor.py +0 -0
  670. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Topology/topology_substation_reduction.py +0 -0
  671. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/Filtering/__init__.py +0 -0
  672. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/Filtering/filtering.py +0 -0
  673. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/Filtering/objects_filtering.py +0 -0
  674. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/Filtering/results_table_filtering.py +0 -0
  675. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/Filtering/timeseries_filtering.py +0 -0
  676. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/MIP/SimpleMip/__init__.py +0 -0
  677. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/MIP/SimpleMip/highs.py +0 -0
  678. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/MIP/SimpleMip/lpmodel.py +0 -0
  679. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/MIP/SimpleMip/lpobjects.py +0 -0
  680. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/MIP/__init__.py +0 -0
  681. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/MIP/ortools_interface.py +0 -0
  682. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/MIP/pulp_interface.py +0 -0
  683. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/MIP/selected_interface.py +0 -0
  684. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/MVRSM_mo_pareto.py +0 -0
  685. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/MVRSM_mo_scaled.py +0 -0
  686. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/MVRSM_original.py +0 -0
  687. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/__init__.py +0 -0
  688. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/autodiff.py +0 -0
  689. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/common.py +0 -0
  690. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/ips.py +0 -0
  691. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/iwamoto.py +0 -0
  692. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/levenberg_marquadt.py +0 -0
  693. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/newton_raphson.py +0 -0
  694. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/newton_raphson_ode.py +0 -0
  695. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/non_dominated_sorting.py +0 -0
  696. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/nsga3.py +0 -0
  697. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/powell.py +0 -0
  698. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/sparse_solve.py +0 -0
  699. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/NumericalMethods/weldorf_online_stddev.py +0 -0
  700. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/Sparse/__init__.py +0 -0
  701. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/Sparse/csc.py +0 -0
  702. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/Sparse/csc2.py +0 -0
  703. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/Sparse/csc_numba.py +0 -0
  704. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/Sparse/sparse_array.py +0 -0
  705. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/Sparse/utils.py +0 -0
  706. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/ThirdParty/SyntheticNetworks/__init__.py +0 -0
  707. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/ThirdParty/SyntheticNetworks/rpgm_algo.py +0 -0
  708. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/ThirdParty/__init__.py +0 -0
  709. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/__init__.py +0 -0
  710. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/scores.py +0 -0
  711. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/Utils/zip_file_mgmt.py +0 -0
  712. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/__init__.py +0 -0
  713. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/api.py +0 -0
  714. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/basic_structures.py +0 -0
  715. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/GridCalEngine/data_logger.py +0 -0
  716. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/setup.cfg +0 -0
  717. {GridCalEngine-5.1.28 → GridCalEngine-5.1.30}/setup.py +0 -0
@@ -1257,11 +1257,11 @@ def get_newton_pa_linear_opf_options(opf_opt: OptimalPowerFlowOptions,
1257
1257
  opt.use_ramp_constraints = False
1258
1258
  opt.lodf_threshold = opf_opt.lodf_tolerance
1259
1259
 
1260
- if opf_opt.areas_from is not None:
1261
- opt.areas_from = [area_dict[e] for e in opf_opt.areas_from]
1260
+ if opf_opt.aggregations_from is not None:
1261
+ opt.areas_from = [area_dict[e] for e in opf_opt.aggregations_from]
1262
1262
 
1263
- if opf_opt.areas_to is not None:
1264
- opt.areas_to = [area_dict[e] for e in opf_opt.areas_to]
1263
+ if opf_opt.aggregations_to is not None:
1264
+ opt.areas_to = [area_dict[e] for e in opf_opt.aggregations_to]
1265
1265
 
1266
1266
  return opt
1267
1267
 
@@ -27,3 +27,4 @@ from GridCalEngine.Devices.Aggregation.region import Region
27
27
  from GridCalEngine.Devices.Aggregation.municipality import Municipality
28
28
  from GridCalEngine.Devices.Aggregation.branch_group import BranchGroup
29
29
  from GridCalEngine.Devices.Aggregation.modelling_authority import ModellingAuthority
30
+ from GridCalEngine.Devices.Aggregation.inter_aggregation_info import InterAggregationInfo
@@ -0,0 +1,125 @@
1
+ # GridCal
2
+ # Copyright (C) 2015 - 2024 Santiago Peñate Vera
3
+ #
4
+ # This program is free software; you can redistribute it and/or
5
+ # modify it under the terms of the GNU Lesser General Public
6
+ # License as published by the Free Software Foundation; either
7
+ # version 3 of the License, or (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public License
15
+ # along with this program; if not, write to the Free Software Foundation,
16
+ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
+ from __future__ import annotations
18
+ from typing import List, Tuple, TYPE_CHECKING
19
+ import numpy as np
20
+ from GridCalEngine.Devices.Parents.editable_device import EditableDevice, DeviceType
21
+ from GridCalEngine.basic_structures import IntVec, Vec
22
+ from GridCalEngine.basic_structures import Logger
23
+
24
+ if TYPE_CHECKING:
25
+ from GridCalEngine.Devices.Substation.bus import Bus
26
+ from GridCalEngine.Devices.Aggregation.area import Area
27
+ from GridCalEngine.Devices.Aggregation.zone import Zone
28
+ from GridCalEngine.Devices.Aggregation.country import Country
29
+ from GridCalEngine.Devices.Branches.hvdc_line import HvdcLine
30
+ from GridCalEngine.Devices.types import BRANCH_TYPES
31
+
32
+
33
+ class InterAggregationInfo(EditableDevice):
34
+ """
35
+ Class to store information of inter area, inter country, etc
36
+ """
37
+
38
+ def __init__(self,
39
+ valid: bool,
40
+ lst_from: List[Tuple[int, Bus]],
41
+ lst_to: List[Tuple[int, Bus]],
42
+ lst_br: List[Tuple[int, BRANCH_TYPES, float]],
43
+ lst_br_hvdc: List[Tuple[int, HvdcLine, float]],
44
+ objects_from: List[Area | Zone | Country],
45
+ objects_to: List[Area | Zone | Country],
46
+ logger: Logger = Logger()):
47
+ """
48
+
49
+ :param valid:
50
+ :param lst_from: list of tuples bus idx, Bus in the areas from
51
+ :param lst_to: list of tuples bus idx, Bus in the areas to
52
+ :param lst_br: List of inter area Branches (branch index, branch object, flow sense w.r.t the area exchange),
53
+ :param lst_br_hvdc: List of inter area HVDC (branch index, branch object, flow sense w.r.t the area exchange),
54
+ :param objects_from: List of areas from
55
+ :param objects_to: List of areas to
56
+ :param logger: Logger object
57
+ """
58
+ EditableDevice.__init__(self,
59
+ name="",
60
+ code="",
61
+ idtag=None,
62
+ device_type=DeviceType.InterAggregationInfo)
63
+
64
+ self.valid: float = valid
65
+
66
+ # store the bus index and the bus object ptr
67
+ self.lst_from: List[Tuple[int, Bus]] = lst_from
68
+ self.lst_to: List[Tuple[int, Bus]] = lst_to
69
+
70
+ # store the branch index, the branch ptr and the sense
71
+ self.lst_br: List[Tuple[int, BRANCH_TYPES, float]] = lst_br
72
+ self.lst_br_hvdc = lst_br_hvdc
73
+
74
+ self.objects_from: List[Area | Zone | Country] = objects_from
75
+ self.objects_to: List[Area | Zone | Country] = objects_to
76
+
77
+ self.logger = logger
78
+
79
+ @property
80
+ def idx_bus_from(self) -> IntVec:
81
+ """
82
+ Get bus of the aggregation "from" indices
83
+ :return: IntVec
84
+ """
85
+ return np.array([i for i, bus in self.lst_from])
86
+
87
+ @property
88
+ def idx_bus_to(self) -> IntVec:
89
+ """
90
+ Get bus of the aggregation "to" indices
91
+ :return: IntVec
92
+ """
93
+ return np.array([i for i, bus in self.lst_to])
94
+
95
+ @property
96
+ def idx_branches(self) -> IntVec:
97
+ """
98
+ Get array of tie-branches indices
99
+ :return: IntVec
100
+ """
101
+ return np.array([i for i, bus, sense in self.lst_br])
102
+
103
+ @property
104
+ def sense_branches(self) -> Vec:
105
+ """
106
+ Get array of tie-branch sense values (1 for from->to, -1 for to->from)
107
+ :return: IntVec
108
+ """
109
+ return np.array([sense for i, bus, sense in self.lst_br])
110
+
111
+ @property
112
+ def idx_hvdc(self) -> IntVec:
113
+ """
114
+
115
+ :return:
116
+ """
117
+ return np.array([i for i, bus, sense in self.lst_br_hvdc])
118
+
119
+ @property
120
+ def sense_hvdc(self) -> Vec:
121
+ """
122
+
123
+ :return:
124
+ """
125
+ return np.array([sense for i, bus, sense in self.lst_br_hvdc])
@@ -471,7 +471,7 @@ class Assets:
471
471
 
472
472
  def format_profiles(self, index: pd.DatetimeIndex):
473
473
  """
474
- Format the pandas profiles in place using a time index.
474
+ Format the profiles in place using a time index.
475
475
  :param index: Time profile
476
476
  """
477
477
 
@@ -480,7 +480,7 @@ class Assets:
480
480
  for key, tpe in self.device_type_name_dict.items():
481
481
  elements = self.get_elements_by_type(device_type=tpe)
482
482
  for elm in elements:
483
- elm.create_profiles(index)
483
+ elm.ensure_profiles_exist(index)
484
484
 
485
485
  def set_time_profile(self, unix_data: IntVec):
486
486
  """
@@ -605,7 +605,7 @@ class Assets:
605
605
  device=obj.idtag)
606
606
  else:
607
607
  if self.time_profile is not None:
608
- obj.create_profiles(self.time_profile)
608
+ obj.ensure_profiles_exist(self.time_profile)
609
609
  self._lines.append(obj)
610
610
 
611
611
  return obj
@@ -647,7 +647,7 @@ class Assets:
647
647
  """
648
648
 
649
649
  if self.time_profile is not None:
650
- obj.create_profiles(self.time_profile)
650
+ obj.ensure_profiles_exist(self.time_profile)
651
651
  self._dc_lines.append(obj)
652
652
 
653
653
  def delete_dc_line(self, obj: dev.DcLine):
@@ -701,7 +701,7 @@ class Assets:
701
701
  """
702
702
 
703
703
  if self.time_profile is not None:
704
- obj.create_profiles(self.time_profile)
704
+ obj.ensure_profiles_exist(self.time_profile)
705
705
  self._transformers2w.append(obj)
706
706
 
707
707
  def delete_transformer2w(self, obj: dev.Transformer2W):
@@ -755,7 +755,7 @@ class Assets:
755
755
  """
756
756
 
757
757
  if self.time_profile is not None:
758
- obj.create_profiles(self.time_profile)
758
+ obj.ensure_profiles_exist(self.time_profile)
759
759
  self._hvdc_lines.append(obj)
760
760
 
761
761
  def delete_hvdc_line(self, obj: dev.HvdcLine):
@@ -802,7 +802,7 @@ class Assets:
802
802
  """
803
803
 
804
804
  if self.time_profile is not None:
805
- obj.create_profiles(self.time_profile)
805
+ obj.ensure_profiles_exist(self.time_profile)
806
806
  self._vsc_devices.append(obj)
807
807
 
808
808
  def delete_vsc_converter(self, obj: dev.VSC):
@@ -842,7 +842,7 @@ class Assets:
842
842
  """
843
843
 
844
844
  if self.time_profile is not None:
845
- obj.create_profiles(self.time_profile)
845
+ obj.ensure_profiles_exist(self.time_profile)
846
846
  self._upfc_devices.append(obj)
847
847
 
848
848
  def delete_upfc_converter(self, obj: dev.UPFC):
@@ -889,7 +889,7 @@ class Assets:
889
889
  """
890
890
 
891
891
  if self.time_profile is not None:
892
- obj.create_profiles(self.time_profile)
892
+ obj.ensure_profiles_exist(self.time_profile)
893
893
  self._switch_devices.append(obj)
894
894
 
895
895
  return obj
@@ -946,7 +946,7 @@ class Assets:
946
946
  """
947
947
 
948
948
  if self.time_profile is not None:
949
- obj.create_profiles(self.time_profile)
949
+ obj.ensure_profiles_exist(self.time_profile)
950
950
  self._transformers3w.append(obj)
951
951
  if add_middle_bus:
952
952
  self.add_bus(obj.bus0) # add the middle transformer
@@ -1009,7 +1009,7 @@ class Assets:
1009
1009
  """
1010
1010
 
1011
1011
  if self.time_profile is not None:
1012
- obj.create_profiles(self.time_profile)
1012
+ obj.ensure_profiles_exist(self.time_profile)
1013
1013
  self._windings.append(obj)
1014
1014
 
1015
1015
  def delete_winding(self, obj: dev.Winding):
@@ -1091,7 +1091,7 @@ class Assets:
1091
1091
  """
1092
1092
 
1093
1093
  if self.time_profile is not None:
1094
- obj.create_profiles(self.time_profile)
1094
+ obj.ensure_profiles_exist(self.time_profile)
1095
1095
  self._series_reactances.append(obj)
1096
1096
 
1097
1097
  def delete_series_reactance(self, obj: dev.SeriesReactance) -> None:
@@ -1176,7 +1176,7 @@ class Assets:
1176
1176
  obj = dev.Bus()
1177
1177
 
1178
1178
  if self.time_profile is not None:
1179
- obj.create_profiles(self.time_profile)
1179
+ obj.ensure_profiles_exist(self.time_profile)
1180
1180
 
1181
1181
  self._buses.append(obj)
1182
1182
 
@@ -1392,7 +1392,7 @@ class Assets:
1392
1392
  """
1393
1393
 
1394
1394
  if self.time_profile is not None:
1395
- obj.create_profiles(self.time_profile)
1395
+ obj.ensure_profiles_exist(self.time_profile)
1396
1396
  self._voltage_levels.append(obj)
1397
1397
 
1398
1398
  def delete_voltage_level(self, obj: dev.VoltageLevel) -> None:
@@ -2039,7 +2039,7 @@ class Assets:
2039
2039
  """
2040
2040
 
2041
2041
  if self.time_profile is not None:
2042
- obj.create_profiles(self.time_profile)
2042
+ obj.ensure_profiles_exist(self.time_profile)
2043
2043
  self._pi_measurements.append(obj)
2044
2044
 
2045
2045
  def delete_pi_measurement(self, obj: dev.PiMeasurement) -> None:
@@ -2101,7 +2101,7 @@ class Assets:
2101
2101
  """
2102
2102
 
2103
2103
  if self.time_profile is not None:
2104
- obj.create_profiles(self.time_profile)
2104
+ obj.ensure_profiles_exist(self.time_profile)
2105
2105
  self._qi_measurements.append(obj)
2106
2106
 
2107
2107
  def delete_qi_measurement(self, obj: dev.QiMeasurement) -> None:
@@ -2164,7 +2164,7 @@ class Assets:
2164
2164
  """
2165
2165
 
2166
2166
  if self.time_profile is not None:
2167
- obj.create_profiles(self.time_profile)
2167
+ obj.ensure_profiles_exist(self.time_profile)
2168
2168
  self._vm_measurements.append(obj)
2169
2169
 
2170
2170
  def delete_vm_measurement(self, obj: dev.VmMeasurement) -> None:
@@ -2227,7 +2227,7 @@ class Assets:
2227
2227
  """
2228
2228
 
2229
2229
  if self.time_profile is not None:
2230
- obj.create_profiles(self.time_profile)
2230
+ obj.ensure_profiles_exist(self.time_profile)
2231
2231
  self._pf_measurements.append(obj)
2232
2232
 
2233
2233
  def delete_pf_measurement(self, obj: dev.PfMeasurement) -> None:
@@ -2290,7 +2290,7 @@ class Assets:
2290
2290
  """
2291
2291
 
2292
2292
  if self.time_profile is not None:
2293
- obj.create_profiles(self.time_profile)
2293
+ obj.ensure_profiles_exist(self.time_profile)
2294
2294
  self._qf_measurements.append(obj)
2295
2295
 
2296
2296
  def delete_qf_measurement(self, obj: dev.QfMeasurement) -> None:
@@ -2353,7 +2353,7 @@ class Assets:
2353
2353
  """
2354
2354
 
2355
2355
  if self.time_profile is not None:
2356
- obj.create_profiles(self.time_profile)
2356
+ obj.ensure_profiles_exist(self.time_profile)
2357
2357
  self._if_measurements.append(obj)
2358
2358
 
2359
2359
  def delete_if_measurement(self, obj: dev.IfMeasurement) -> None:
@@ -2617,7 +2617,7 @@ class Assets:
2617
2617
  """
2618
2618
 
2619
2619
  if self.time_profile is not None:
2620
- obj.create_profiles(self.time_profile)
2620
+ obj.ensure_profiles_exist(self.time_profile)
2621
2621
  self._branch_groups.append(obj)
2622
2622
 
2623
2623
  def delete_branch_group(self, obj: dev.BranchGroup) -> None:
@@ -2902,7 +2902,7 @@ class Assets:
2902
2902
  """
2903
2903
 
2904
2904
  if self.time_profile is not None:
2905
- obj.create_profiles(self.time_profile)
2905
+ obj.ensure_profiles_exist(self.time_profile)
2906
2906
  self._communities.append(obj)
2907
2907
 
2908
2908
  def delete_community(self, obj: dev.Community) -> None:
@@ -2973,7 +2973,7 @@ class Assets:
2973
2973
  """
2974
2974
 
2975
2975
  if self.time_profile is not None:
2976
- obj.create_profiles(self.time_profile)
2976
+ obj.ensure_profiles_exist(self.time_profile)
2977
2977
  self._regions.append(obj)
2978
2978
 
2979
2979
  def delete_region(self, obj: dev.Region) -> None:
@@ -3040,7 +3040,7 @@ class Assets:
3040
3040
  """
3041
3041
 
3042
3042
  if self.time_profile is not None:
3043
- obj.create_profiles(self.time_profile)
3043
+ obj.ensure_profiles_exist(self.time_profile)
3044
3044
  self._municipalities.append(obj)
3045
3045
 
3046
3046
  def delete_municipality(self, obj: dev.Municipality) -> None:
@@ -3453,7 +3453,7 @@ class Assets:
3453
3453
  """
3454
3454
 
3455
3455
  if self.time_profile is not None:
3456
- obj.create_profiles(self.time_profile)
3456
+ obj.ensure_profiles_exist(self.time_profile)
3457
3457
  self._modelling_authorities.append(obj)
3458
3458
 
3459
3459
  def delete_modelling_authority(self, obj: dev.ModellingAuthority) -> None:
@@ -3745,7 +3745,7 @@ class Assets:
3745
3745
  self._fluid_nodes.append(obj)
3746
3746
 
3747
3747
  if self.time_profile is not None:
3748
- obj.create_profiles(self.time_profile)
3748
+ obj.ensure_profiles_exist(self.time_profile)
3749
3749
 
3750
3750
  def delete_fluid_node(self, obj: dev.FluidNode):
3751
3751
  """
@@ -3804,7 +3804,7 @@ class Assets:
3804
3804
  self._fluid_paths.append(obj)
3805
3805
 
3806
3806
  if self.time_profile is not None:
3807
- obj.create_profiles(self.time_profile)
3807
+ obj.ensure_profiles_exist(self.time_profile)
3808
3808
 
3809
3809
  def delete_fluid_path(self, obj: dev.FluidPath):
3810
3810
  """
@@ -14,6 +14,7 @@
14
14
  # You should have received a copy of the GNU Lesser General Public License
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
+ from __future__ import annotations
17
18
 
18
19
  import os
19
20
  import cmath
@@ -31,7 +32,7 @@ from GridCalEngine.Devices.Parents.editable_device import EditableDevice
31
32
  from GridCalEngine.basic_structures import IntVec, Vec, Mat, CxVec, IntMat, CxMat
32
33
 
33
34
  import GridCalEngine.Devices as dev
34
- from GridCalEngine.Devices.types import ALL_DEV_TYPES, INJECTION_DEVICE_TYPES, FLUID_TYPES
35
+ from GridCalEngine.Devices.types import ALL_DEV_TYPES, INJECTION_DEVICE_TYPES, FLUID_TYPES, AREA_TYPES
35
36
  from GridCalEngine.basic_structures import Logger
36
37
  import GridCalEngine.Topology.topology as tp
37
38
  from GridCalEngine.Topology.topology_processor import TopologyProcessorInfo, process_grid_topology_at
@@ -999,7 +1000,7 @@ class MultiCircuit(Assets):
999
1000
 
1000
1001
  return logger
1001
1002
 
1002
- def import_bus_lat_lon(self, df: pd.DataFrame, bus_col, lat_col, lon_col) -> Logger:
1003
+ def import_bus_lat_lon(self, df: pd.DataFrame, bus_col: str, lat_col: str, lon_col: str) -> Logger:
1003
1004
  """
1004
1005
  Import the buses' latitude and longitude
1005
1006
  :param df: Pandas DataFrame with the information
@@ -1047,66 +1048,86 @@ class MultiCircuit(Assets):
1047
1048
  lst[k] = 0
1048
1049
  return lst
1049
1050
 
1050
- def get_area_buses(self, area: dev.Area) -> List[Tuple[int, dev.Bus]]:
1051
+ def get_areas_buses(self, areas: List[dev.Area]) -> List[Tuple[int, dev.Bus]]:
1051
1052
  """
1052
1053
  Get the selected buses
1053
- :return:
1054
+ :return: list of bus indices and bus ptr
1054
1055
  """
1055
1056
  lst: List[Tuple[int, dev.Bus]] = list()
1056
1057
  for k, bus in enumerate(self._buses):
1057
- if bus.area == area:
1058
+ if bus.area in areas:
1058
1059
  lst.append((k, bus))
1059
1060
  return lst
1060
1061
 
1061
- def get_areas_buses(self, areas: List[dev.Area]) -> List[Tuple[int, dev.Bus]]:
1062
+ def get_zone_buses(self, zones: List[dev.Zone]) -> List[Tuple[int, dev.Bus]]:
1062
1063
  """
1063
1064
  Get the selected buses
1064
- :return:
1065
+ :return: list of bus indices and bus ptr
1065
1066
  """
1066
1067
  lst: List[Tuple[int, dev.Bus]] = list()
1067
1068
  for k, bus in enumerate(self._buses):
1068
- if bus.area in areas:
1069
+ if bus.zone in zones:
1069
1070
  lst.append((k, bus))
1070
1071
  return lst
1071
1072
 
1072
- def get_zone_buses(self, zone: dev.Zone) -> List[Tuple[int, dev.Bus]]:
1073
+ def get_country_buses(self, countries: List[dev.Country]) -> List[Tuple[int, dev.Bus]]:
1073
1074
  """
1074
1075
  Get the selected buses
1075
- :return:
1076
+ :return: list of bus indices and bus ptr
1076
1077
  """
1077
1078
  lst: List[Tuple[int, dev.Bus]] = list()
1078
1079
  for k, bus in enumerate(self._buses):
1079
- if bus.zone == zone:
1080
+ if bus.country in countries:
1080
1081
  lst.append((k, bus))
1081
1082
  return lst
1082
1083
 
1083
- def get_inter_area_branches(self, a1: dev.Area, a2: dev.Area):
1084
+ def get_aggregation_buses(self, aggregations: List[AREA_TYPES]) -> List[Tuple[int, dev.Bus]]:
1084
1085
  """
1085
- Get the inter-area Branches
1086
+ Get the selected buses
1087
+ :param aggregations:
1088
+ :return: list of bus indices and bus ptr
1089
+ """
1090
+ if len(aggregations) == 0:
1091
+ return list()
1092
+
1093
+ if isinstance(aggregations[0], dev.Area):
1094
+ return self.get_areas_buses(aggregations)
1095
+
1096
+ if isinstance(aggregations[0], dev.Zone):
1097
+ return self.get_zone_buses(aggregations)
1098
+
1099
+ if isinstance(aggregations[0], dev.Country):
1100
+ return self.get_country_buses(aggregations)
1101
+
1102
+ raise TypeError("Aggregation type not supported")
1103
+
1104
+ def get_inter_areas_branches(self, a1: List[dev.Area], a2: List[dev.Area]) -> List[Tuple[int, object, float]]:
1105
+ """
1106
+ Get the inter-area Branches. HVDC Branches are not considered
1086
1107
  :param a1: Area from
1087
1108
  :param a2: Area to
1088
1109
  :return: List of (branch index, branch object, flow sense w.r.t the area exchange)
1089
1110
  """
1090
1111
  lst: List[Tuple[int, object, float]] = list()
1091
- for k, branch in enumerate(self.get_branches()):
1092
- if branch.bus_from.area == a1 and branch.bus_to.area == a2:
1112
+ for k, branch in enumerate(self.get_branches_wo_hvdc()):
1113
+ if branch.bus_from.area in a1 and branch.bus_to.area in a2:
1093
1114
  lst.append((k, branch, 1.0))
1094
- elif branch.bus_from.area == a2 and branch.bus_to.area == a1:
1115
+ elif branch.bus_from.area in a2 and branch.bus_to.area in a1:
1095
1116
  lst.append((k, branch, -1.0))
1096
1117
  return lst
1097
1118
 
1098
- def get_inter_areas_branches(self, a1: List[dev.Area], a2: List[dev.Area]) -> List[Tuple[int, object, float]]:
1119
+ def get_inter_buses_branches(self, a1: Set[dev.Bus], a2: Set[dev.Bus]) -> List[Tuple[int, object, float]]:
1099
1120
  """
1100
- Get the inter-area Branches. HVDC Branches are not considered
1101
- :param a1: Area from
1102
- :param a2: Area to
1121
+ Get the inter-buese Branches. HVDC Branches are not considered
1122
+ :param a1: Group of Buses 1
1123
+ :param a2: Group of Buses 1
1103
1124
  :return: List of (branch index, branch object, flow sense w.r.t the area exchange)
1104
1125
  """
1105
1126
  lst: List[Tuple[int, object, float]] = list()
1106
1127
  for k, branch in enumerate(self.get_branches_wo_hvdc()):
1107
- if branch.bus_from.area in a1 and branch.bus_to.area in a2:
1128
+ if branch.bus_from in a1 and branch.bus_to in a2:
1108
1129
  lst.append((k, branch, 1.0))
1109
- elif branch.bus_from.area in a2 and branch.bus_to.area in a1:
1130
+ elif branch.bus_from in a2 and branch.bus_to in a1:
1110
1131
  lst.append((k, branch, -1.0))
1111
1132
  return lst
1112
1133
 
@@ -1125,6 +1146,21 @@ class MultiCircuit(Assets):
1125
1146
  lst.append((k, branch, -1.0))
1126
1147
  return lst
1127
1148
 
1149
+ def get_inter_buses_hvdc_branches(self, a1: Set[dev.Bus], a2: Set[dev.Bus]) -> List[Tuple[int, object, float]]:
1150
+ """
1151
+ Get the inter-area Branches
1152
+ :param a1: Group of Buses 1
1153
+ :param a2: Group of Buses 1
1154
+ :return: List of (branch index, branch object, flow sense w.r.t the area exchange)
1155
+ """
1156
+ lst: List[Tuple[int, object, float]] = list()
1157
+ for k, branch in enumerate(self._hvdc_lines):
1158
+ if branch.bus_from in a1 and branch.bus_to in a2:
1159
+ lst.append((k, branch, 1.0))
1160
+ elif branch.bus_from in a2 and branch.bus_to in a1:
1161
+ lst.append((k, branch, -1.0))
1162
+ return lst
1163
+
1128
1164
  def get_inter_zone_branches(self, z1: dev.Zone, z2: dev.Zone) -> List[Tuple[int, object, float]]:
1129
1165
  """
1130
1166
  Get the inter-area Branches
@@ -1198,6 +1234,57 @@ class MultiCircuit(Assets):
1198
1234
 
1199
1235
  return area_names, bus_area_indices, F, T, hvdc_F, hvdc_T
1200
1236
 
1237
+ def get_inter_aggregation_info(self,
1238
+ objects_from: List[AREA_TYPES],
1239
+ objects_to: List[AREA_TYPES]) -> dev.InterAggregationInfo:
1240
+ """
1241
+ Get the lists that help defining the inter area objects
1242
+ :param objects_from: list of objects from
1243
+ :param objects_to: list of objects to
1244
+ :return: InterAggregationInfo
1245
+ """
1246
+ logger = Logger()
1247
+
1248
+ if len(objects_from) == 0 or len(objects_to) == 0:
1249
+ logger.add_error(msg=f'One of the lists has no elements')
1250
+ return dev.InterAggregationInfo(valid=False, lst_from=[], lst_to=[], lst_br=[], lst_br_hvdc=[],
1251
+ objects_from=[], objects_to=[], logger=logger)
1252
+
1253
+ # find the buses in the aggregation from
1254
+ lst_from = self.get_aggregation_buses(objects_from)
1255
+ buses_from_set = {x[1] for x in lst_from}
1256
+
1257
+ # find the buses in the aggregation to
1258
+ lst_to = self.get_aggregation_buses(objects_to)
1259
+ buses_to_set = {x[1] for x in lst_to}
1260
+
1261
+ buses_intersection = buses_from_set & buses_to_set
1262
+
1263
+ if len(buses_intersection) > 0:
1264
+ dev_tpe_from = objects_from[0].device_type
1265
+ dev_tpe_to = objects_to[0].device_type
1266
+
1267
+ for bus in buses_intersection:
1268
+ logger.add_error(msg=f'Bus in both selected {dev_tpe_from.value} to {dev_tpe_to.value}',
1269
+ device_class=bus.device_type.value,
1270
+ device=bus.name)
1271
+
1272
+ return dev.InterAggregationInfo(valid=False, lst_from=[], lst_to=[], lst_br=[], lst_br_hvdc=[],
1273
+ objects_from=[], objects_to=[], logger=logger)
1274
+
1275
+ # find the tie branches
1276
+ lst_br = self.get_inter_buses_branches(buses_from_set, buses_to_set)
1277
+ lst_br_hvdc = self.get_inter_buses_hvdc_branches(buses_from_set, buses_to_set)
1278
+
1279
+ return dev.InterAggregationInfo(valid=True,
1280
+ lst_from=lst_from,
1281
+ lst_to=lst_to,
1282
+ lst_br=lst_br,
1283
+ lst_br_hvdc=lst_br_hvdc,
1284
+ objects_from=objects_from,
1285
+ objects_to=objects_to,
1286
+ logger=logger)
1287
+
1201
1288
  def change_base(self, Sbase_new: float):
1202
1289
  """
1203
1290
  Change the elements base impedance
@@ -1708,7 +1795,7 @@ class MultiCircuit(Assets):
1708
1795
  # for each category
1709
1796
  # for key, template_elms_list in self.categorized_template_objects_dict.items():
1710
1797
 
1711
- # for each object type
1798
+ # for each object type
1712
1799
  for template_elm in self.template_items():
1713
1800
 
1714
1801
  # get all objects of the type
@@ -373,6 +373,8 @@ def get_profile_from_dict(profile: Profile,
373
373
  else:
374
374
  arr = [collection.get(i, default_value) for i in data['dense_data']]
375
375
  profile.set(np.array(arr))
376
+
377
+ # mark as initialized
376
378
  profile.set_initialized()
377
379
 
378
380
 
@@ -1126,6 +1128,7 @@ def parse_object_type_from_json(template_elm: ALL_DEV_TYPES,
1126
1128
  gc_prop=gc_prop,
1127
1129
  elm=elm,
1128
1130
  property_value=val)
1131
+ print()
1129
1132
 
1130
1133
  elif gc_prop.tpe == int:
1131
1134
  # set the value directly