GridCalEngine 5.1.24__tar.gz → 5.1.25__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 (715) hide show
  1. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Compilers/circuit_to_data.py +4 -0
  2. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/DataStructures/branch_data.py +17 -7
  3. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/DataStructures/shunt_data.py +8 -1
  4. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/tap_changer.py +10 -1
  5. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Parents/editable_device.py +7 -5
  6. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/assets.py +8 -7
  7. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/multi_circuit.py +77 -77
  8. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/profile.py +1 -1
  9. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_to_gridcal.py +1 -1
  10. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Derivatives/csc_derivatives.py +2 -1
  11. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/pf_advanced_formulation.py +17 -4
  12. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/power_flow_options.py +4 -0
  13. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/common.py +62 -14
  14. {GridCalEngine-5.1.24/GridCalEngine/Devices → GridCalEngine-5.1.25/GridCalEngine/Utils/Sparse}/sparse_array.py +209 -7
  15. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/__version__.py +1 -1
  16. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/PKG-INFO +1 -1
  17. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Compilers/__init__.py +0 -0
  18. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Compilers/circuit_to_bentayga.py +0 -0
  19. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Compilers/circuit_to_newton_pa.py +0 -0
  20. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Compilers/circuit_to_optimods.py +0 -0
  21. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Compilers/circuit_to_pgm.py +0 -0
  22. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/DataStructures/__init__.py +0 -0
  23. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/DataStructures/battery_data.py +0 -0
  24. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/DataStructures/bus_data.py +0 -0
  25. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/DataStructures/fluid_node_data.py +0 -0
  26. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/DataStructures/fluid_p2x_data.py +0 -0
  27. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/DataStructures/fluid_path_data.py +0 -0
  28. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/DataStructures/fluid_pump_data.py +0 -0
  29. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/DataStructures/fluid_turbine_data.py +0 -0
  30. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/DataStructures/generator_data.py +0 -0
  31. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/DataStructures/hvdc_data.py +0 -0
  32. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/DataStructures/load_data.py +0 -0
  33. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/DataStructures/numerical_circuit.py +0 -0
  34. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/DataStructures/vsc_data.py +0 -0
  35. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Aggregation/__init__.py +0 -0
  36. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Aggregation/area.py +0 -0
  37. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Aggregation/branch_group.py +0 -0
  38. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Aggregation/community.py +0 -0
  39. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Aggregation/contingency.py +0 -0
  40. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Aggregation/contingency_group.py +0 -0
  41. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Aggregation/country.py +0 -0
  42. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Aggregation/investment.py +0 -0
  43. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Aggregation/investments_group.py +0 -0
  44. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Aggregation/modelling_authority.py +0 -0
  45. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Aggregation/municipality.py +0 -0
  46. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Aggregation/region.py +0 -0
  47. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Aggregation/zone.py +0 -0
  48. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Associations/__init__.py +0 -0
  49. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Associations/association.py +0 -0
  50. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Associations/emission_gas.py +0 -0
  51. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Associations/fuel.py +0 -0
  52. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Associations/technology.py +0 -0
  53. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/__init__.py +0 -0
  54. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/branch.py +0 -0
  55. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/dc_line.py +0 -0
  56. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/hvdc_line.py +0 -0
  57. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/line.py +0 -0
  58. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/line_locations.py +0 -0
  59. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/overhead_line_type.py +0 -0
  60. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/sequence_line_type.py +0 -0
  61. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/series_reactance.py +0 -0
  62. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/switch.py +0 -0
  63. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/transformer.py +0 -0
  64. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/transformer3w.py +0 -0
  65. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/transformer_type.py +0 -0
  66. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/underground_line_type.py +0 -0
  67. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/upfc.py +0 -0
  68. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/vsc.py +0 -0
  69. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/winding.py +0 -0
  70. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Branches/wire.py +0 -0
  71. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Diagrams/__init__.py +0 -0
  72. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Diagrams/base_diagram.py +0 -0
  73. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Diagrams/graphic_location.py +0 -0
  74. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Diagrams/map_diagram.py +0 -0
  75. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Diagrams/map_location.py +0 -0
  76. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Diagrams/palettes.py +0 -0
  77. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Diagrams/schematic_diagram.py +0 -0
  78. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Fluid/__init__.py +0 -0
  79. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Fluid/fluid_injection_template.py +0 -0
  80. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Fluid/fluid_node.py +0 -0
  81. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Fluid/fluid_p2x.py +0 -0
  82. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Fluid/fluid_path.py +0 -0
  83. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Fluid/fluid_pump.py +0 -0
  84. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Fluid/fluid_turbine.py +0 -0
  85. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Injections/__init__.py +0 -0
  86. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Injections/battery.py +0 -0
  87. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Injections/controllable_shunt.py +0 -0
  88. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Injections/current_injection.py +0 -0
  89. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Injections/external_grid.py +0 -0
  90. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Injections/generator.py +0 -0
  91. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Injections/generator_q_curve.py +0 -0
  92. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Injections/load.py +0 -0
  93. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Injections/shunt.py +0 -0
  94. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Injections/static_generator.py +0 -0
  95. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Parents/__init__.py +0 -0
  96. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Parents/branch_parent.py +0 -0
  97. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Parents/controllable_branch_parent.py +0 -0
  98. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Parents/generator_parent.py +0 -0
  99. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Parents/injection_parent.py +0 -0
  100. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Parents/load_parent.py +0 -0
  101. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Parents/shunt_parent.py +0 -0
  102. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Substation/__init__.py +0 -0
  103. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Substation/bus.py +0 -0
  104. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Substation/busbar.py +0 -0
  105. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Substation/connectivity_node.py +0 -0
  106. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Substation/substation.py +0 -0
  107. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/Substation/voltage_level.py +0 -0
  108. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/__init__.py +0 -0
  109. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/comparison.py +0 -0
  110. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/measurement.py +0 -0
  111. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Devices/types.py +0 -0
  112. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/__init__.py +0 -0
  113. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/base/__init__.py +0 -0
  114. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/base/base_circuit.py +0 -0
  115. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/base/base_device.py +0 -0
  116. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/base/base_property.py +0 -0
  117. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/base/units.py +0 -0
  118. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/__init__.py +0 -0
  119. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/__init__.py +0 -0
  120. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/base.py +0 -0
  121. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_assets/__init__.py +0 -0
  122. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_assets/cgmes_2_4_15_assets.py +0 -0
  123. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_assets/cgmes_3_0_0_assets.py +0 -0
  124. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_circuit.py +0 -0
  125. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_data_parser.py +0 -0
  126. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_data_validator.py +0 -0
  127. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_enums.py +0 -0
  128. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_export.py +0 -0
  129. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_poperty.py +0 -0
  130. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_utils.py +0 -0
  131. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/__init__.py +0 -0
  132. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/__init__.py +0 -0
  133. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ac_line_segment.py +0 -0
  134. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_converter.py +0 -0
  135. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_converterdc_terminal.py +0 -0
  136. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_terminal.py +0 -0
  137. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/active_power_limit.py +0 -0
  138. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/analog_control.py +0 -0
  139. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/apparent_power_limit.py +0 -0
  140. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/asynchronous_machine.py +0 -0
  141. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/base_voltage.py +0 -0
  142. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/basic_interval_schedule.py +0 -0
  143. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/bay.py +0 -0
  144. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/breaker.py +0 -0
  145. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/bus_name_marker.py +0 -0
  146. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/busbar_section.py +0 -0
  147. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conducting_equipment.py +0 -0
  148. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conductor.py +0 -0
  149. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conform_load.py +0 -0
  150. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conform_load_group.py +0 -0
  151. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connectivity_node.py +0 -0
  152. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connectivity_node_container.py +0 -0
  153. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connector.py +0 -0
  154. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control.py +0 -0
  155. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control_area.py +0 -0
  156. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control_area_generating_unit.py +0 -0
  157. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/coordinate_system.py +0 -0
  158. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/cs_converter.py +0 -0
  159. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/current_limit.py +0 -0
  160. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/curve.py +0 -0
  161. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/curve_data.py +0 -0
  162. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_base_terminal.py +0 -0
  163. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_breaker.py +0 -0
  164. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_busbar.py +0 -0
  165. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_chopper.py +0 -0
  166. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_conducting_equipment.py +0 -0
  167. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_converter_unit.py +0 -0
  168. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_disconnector.py +0 -0
  169. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_equipment_container.py +0 -0
  170. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_ground.py +0 -0
  171. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_line.py +0 -0
  172. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_line_segment.py +0 -0
  173. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_node.py +0 -0
  174. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_series_device.py +0 -0
  175. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_shunt.py +0 -0
  176. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_switch.py +0 -0
  177. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_terminal.py +0 -0
  178. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_topological_island.py +0 -0
  179. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_topological_node.py +0 -0
  180. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/disconnector.py +0 -0
  181. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/earth_fault_compensator.py +0 -0
  182. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_area.py +0 -0
  183. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_consumer.py +0 -0
  184. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_scheduling_type.py +0 -0
  185. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_source.py +0 -0
  186. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equipment.py +0 -0
  187. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equipment_container.py +0 -0
  188. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_branch.py +0 -0
  189. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_equipment.py +0 -0
  190. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_injection.py +0 -0
  191. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_network.py +0 -0
  192. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_shunt.py +0 -0
  193. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/external_network_injection.py +0 -0
  194. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/fossil_fuel.py +0 -0
  195. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/full_model.py +0 -0
  196. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/generating_unit.py +0 -0
  197. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/geographical_region.py +0 -0
  198. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ground.py +0 -0
  199. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ground_disconnector.py +0 -0
  200. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/grounding_impedance.py +0 -0
  201. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_generating_unit.py +0 -0
  202. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_power_plant.py +0 -0
  203. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_pump.py +0 -0
  204. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/identified_object.py +0 -0
  205. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/junction.py +0 -0
  206. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/limit.py +0 -0
  207. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/limit_set.py +0 -0
  208. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/line.py +0 -0
  209. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/linear_shunt_compensator.py +0 -0
  210. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_area.py +0 -0
  211. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_break_switch.py +0 -0
  212. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_group.py +0 -0
  213. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_response_characteristic.py +0 -0
  214. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/location.py +0 -0
  215. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/measurement.py +0 -0
  216. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/measurement_value.py +0 -0
  217. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/mutual_coupling.py +0 -0
  218. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/non_conform_load.py +0 -0
  219. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/non_conform_load_group.py +0 -0
  220. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nonlinear_shunt_compensator.py +0 -0
  221. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nonlinear_shunt_compensator_point.py +0 -0
  222. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nuclear_generating_unit.py +0 -0
  223. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit.py +0 -0
  224. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit_set.py +0 -0
  225. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit_type.py +0 -0
  226. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/per_lengthdc_line_parameter.py +0 -0
  227. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/petersen_coil.py +0 -0
  228. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer.py +0 -0
  229. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_asymmetrical.py +0 -0
  230. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_linear.py +0 -0
  231. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_non_linear.py +0 -0
  232. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_symmetrical.py +0 -0
  233. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_table.py +0 -0
  234. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_table_point.py +0 -0
  235. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_tabular.py +0 -0
  236. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/position_point.py +0 -0
  237. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_system_resource.py +0 -0
  238. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_transformer.py +0 -0
  239. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_transformer_end.py +0 -0
  240. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/protected_switch.py +0 -0
  241. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/quality61850.py +0 -0
  242. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer.py +0 -0
  243. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer_table.py +0 -0
  244. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer_table_point.py +0 -0
  245. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/reactive_capability_curve.py +0 -0
  246. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regular_interval_schedule.py +0 -0
  247. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regulating_cond_eq.py +0 -0
  248. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regulating_control.py +0 -0
  249. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/reporting_group.py +0 -0
  250. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/rotating_machine.py +0 -0
  251. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/season_day_type_schedule.py +0 -0
  252. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/series_compensator.py +0 -0
  253. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/shunt_compensator.py +0 -0
  254. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/solar_generating_unit.py +0 -0
  255. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/static_var_compensator.py +0 -0
  256. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sub_geographical_region.py +0 -0
  257. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sub_load_area.py +0 -0
  258. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/substation.py +0 -0
  259. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_injection.py +0 -0
  260. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_power_flow.py +0 -0
  261. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_shunt_compensator_sections.py +0 -0
  262. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_status.py +0 -0
  263. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_tap_step.py +0 -0
  264. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_voltage.py +0 -0
  265. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/switch.py +0 -0
  266. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/synchronous_machine.py +0 -0
  267. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer.py +0 -0
  268. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer_control.py +0 -0
  269. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer_table_point.py +0 -0
  270. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/terminal.py +0 -0
  271. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/thermal_generating_unit.py +0 -0
  272. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tie_flow.py +0 -0
  273. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/topological_island.py +0 -0
  274. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/topological_node.py +0 -0
  275. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/transformer_end.py +0 -0
  276. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/voltage_level.py +0 -0
  277. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/voltage_limit.py +0 -0
  278. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/vs_capability_curve.py +0 -0
  279. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/vs_converter.py +0 -0
  280. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/wind_generating_unit.py +0 -0
  281. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/__init__.py +0 -0
  282. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/__init__.py +0 -0
  283. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ac_line_segment.py +0 -0
  284. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_converter.py +0 -0
  285. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_converterdc_terminal.py +0 -0
  286. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_terminal.py +0 -0
  287. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/active_power_limit.py +0 -0
  288. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/analog_control.py +0 -0
  289. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/apparent_power_limit.py +0 -0
  290. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/asynchronous_machine.py +0 -0
  291. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/auxiliary_equipment.py +0 -0
  292. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/base_voltage.py +0 -0
  293. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/basic_interval_schedule.py +0 -0
  294. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/battery_unit.py +0 -0
  295. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/bay.py +0 -0
  296. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/boundary_point.py +0 -0
  297. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/breaker.py +0 -0
  298. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/bus_name_marker.py +0 -0
  299. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/busbar_section.py +0 -0
  300. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/caes_plant.py +0 -0
  301. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/clamp.py +0 -0
  302. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cogeneration_plant.py +0 -0
  303. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/combined_cycle_plant.py +0 -0
  304. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conducting_equipment.py +0 -0
  305. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conductor.py +0 -0
  306. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conform_load.py +0 -0
  307. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conform_load_group.py +0 -0
  308. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connectivity_node.py +0 -0
  309. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connectivity_node_container.py +0 -0
  310. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connector.py +0 -0
  311. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control.py +0 -0
  312. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control_area.py +0 -0
  313. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control_area_generating_unit.py +0 -0
  314. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/coordinate_system.py +0 -0
  315. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cs_converter.py +0 -0
  316. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/current_limit.py +0 -0
  317. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/current_transformer.py +0 -0
  318. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/curve.py +0 -0
  319. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/curve_data.py +0 -0
  320. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cut.py +0 -0
  321. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_base_terminal.py +0 -0
  322. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_breaker.py +0 -0
  323. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_busbar.py +0 -0
  324. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_chopper.py +0 -0
  325. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_conducting_equipment.py +0 -0
  326. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_converter_unit.py +0 -0
  327. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_disconnector.py +0 -0
  328. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_equipment_container.py +0 -0
  329. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_ground.py +0 -0
  330. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_line.py +0 -0
  331. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_line_segment.py +0 -0
  332. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_node.py +0 -0
  333. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_series_device.py +0 -0
  334. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_shunt.py +0 -0
  335. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_switch.py +0 -0
  336. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_terminal.py +0 -0
  337. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_topological_island.py +0 -0
  338. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_topological_node.py +0 -0
  339. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/disconnecting_circuit_breaker.py +0 -0
  340. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/disconnector.py +0 -0
  341. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/earth_fault_compensator.py +0 -0
  342. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_area.py +0 -0
  343. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_connection.py +0 -0
  344. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_consumer.py +0 -0
  345. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_scheduling_type.py +0 -0
  346. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_source.py +0 -0
  347. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equipment.py +0 -0
  348. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equipment_container.py +0 -0
  349. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_branch.py +0 -0
  350. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_equipment.py +0 -0
  351. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_injection.py +0 -0
  352. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_network.py +0 -0
  353. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_shunt.py +0 -0
  354. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/external_network_injection.py +0 -0
  355. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fault_indicator.py +0 -0
  356. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fossil_fuel.py +0 -0
  357. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fuse.py +0 -0
  358. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/generating_unit.py +0 -0
  359. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/geographical_region.py +0 -0
  360. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ground.py +0 -0
  361. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ground_disconnector.py +0 -0
  362. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/grounding_impedance.py +0 -0
  363. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_generating_unit.py +0 -0
  364. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_power_plant.py +0 -0
  365. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_pump.py +0 -0
  366. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/identified_object.py +0 -0
  367. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/io_point.py +0 -0
  368. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/jumper.py +0 -0
  369. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/junction.py +0 -0
  370. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/limit.py +0 -0
  371. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/limit_set.py +0 -0
  372. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/line.py +0 -0
  373. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/linear_shunt_compensator.py +0 -0
  374. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_area.py +0 -0
  375. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_break_switch.py +0 -0
  376. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_group.py +0 -0
  377. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_response_characteristic.py +0 -0
  378. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/location.py +0 -0
  379. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/measurement.py +0 -0
  380. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/measurement_value.py +0 -0
  381. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/mutual_coupling.py +0 -0
  382. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/non_conform_load.py +0 -0
  383. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/non_conform_load_group.py +0 -0
  384. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nonlinear_shunt_compensator.py +0 -0
  385. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nonlinear_shunt_compensator_point.py +0 -0
  386. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nuclear_generating_unit.py +0 -0
  387. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit.py +0 -0
  388. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit_set.py +0 -0
  389. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit_type.py +0 -0
  390. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/petersen_coil.py +0 -0
  391. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer.py +0 -0
  392. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_asymmetrical.py +0 -0
  393. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_linear.py +0 -0
  394. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_non_linear.py +0 -0
  395. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_symmetrical.py +0 -0
  396. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_table.py +0 -0
  397. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_table_point.py +0 -0
  398. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_tabular.py +0 -0
  399. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/photo_voltaic_unit.py +0 -0
  400. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/position_point.py +0 -0
  401. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/post_line_sensor.py +0 -0
  402. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/potential_transformer.py +0 -0
  403. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_connection.py +0 -0
  404. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_unit.py +0 -0
  405. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_wind_unit.py +0 -0
  406. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_system_resource.py +0 -0
  407. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_transformer.py +0 -0
  408. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_transformer_end.py +0 -0
  409. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/protected_switch.py +0 -0
  410. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer.py +0 -0
  411. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer_table.py +0 -0
  412. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer_table_point.py +0 -0
  413. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/reactive_capability_curve.py +0 -0
  414. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regular_interval_schedule.py +0 -0
  415. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regulating_cond_eq.py +0 -0
  416. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regulating_control.py +0 -0
  417. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/reporting_group.py +0 -0
  418. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/rotating_machine.py +0 -0
  419. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/season_day_type_schedule.py +0 -0
  420. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sensor.py +0 -0
  421. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/series_compensator.py +0 -0
  422. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/service_location.py +0 -0
  423. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/shunt_compensator.py +0 -0
  424. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/solar_generating_unit.py +0 -0
  425. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/solar_power_plant.py +0 -0
  426. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/static_var_compensator.py +0 -0
  427. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sub_geographical_region.py +0 -0
  428. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sub_load_area.py +0 -0
  429. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/substation.py +0 -0
  430. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/surge_arrester.py +0 -0
  431. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_injection.py +0 -0
  432. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_power_flow.py +0 -0
  433. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_shunt_compensator_sections.py +0 -0
  434. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_status.py +0 -0
  435. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_switch.py +0 -0
  436. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_tap_step.py +0 -0
  437. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_voltage.py +0 -0
  438. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/switch.py +0 -0
  439. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/synchronous_machine.py +0 -0
  440. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer.py +0 -0
  441. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer_control.py +0 -0
  442. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer_table_point.py +0 -0
  443. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/terminal.py +0 -0
  444. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/thermal_generating_unit.py +0 -0
  445. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tie_flow.py +0 -0
  446. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/topological_island.py +0 -0
  447. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/topological_node.py +0 -0
  448. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/transformer_end.py +0 -0
  449. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/voltage_level.py +0 -0
  450. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/voltage_limit.py +0 -0
  451. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/vs_capability_curve.py +0 -0
  452. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/vs_converter.py +0 -0
  453. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wave_trap.py +0 -0
  454. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wind_generating_unit.py +0 -0
  455. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wind_power_plant.py +0 -0
  456. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/work_location.py +0 -0
  457. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/cgmes_writer.py +0 -0
  458. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/gridcal_to_cgmes.py +0 -0
  459. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/rdfs_infos.py +0 -0
  460. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cgmes/rdfs_serializations.py +0 -0
  461. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cim16/__init__.py +0 -0
  462. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cim16/cim_circuit.py +0 -0
  463. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cim16/cim_data_parser.py +0 -0
  464. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cim16/cim_devices.py +0 -0
  465. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cim16/cim_enums.py +0 -0
  466. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/cim16/cim_parser.py +0 -0
  467. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/db/__init__.py +0 -0
  468. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/db/base_db.py +0 -0
  469. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/db/cgmes_lookup_db.py +0 -0
  470. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/db/db_handler.py +0 -0
  471. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/db/file_system.py +0 -0
  472. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/cim/db/psse_lookup_db.py +0 -0
  473. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/dgs/__init__.py +0 -0
  474. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/dgs/dgs_parser.py +0 -0
  475. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/epc/__init__.py +0 -0
  476. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/epc/epc_parser.py +0 -0
  477. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/file_handler.py +0 -0
  478. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/file_system.py +0 -0
  479. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/gridcal/__init__.py +0 -0
  480. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/gridcal/catalogue.py +0 -0
  481. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/gridcal/contingency_parser.py +0 -0
  482. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/gridcal/excel_interface.py +0 -0
  483. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/gridcal/generic_io_functions.py +0 -0
  484. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/gridcal/h5_interface.py +0 -0
  485. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/gridcal/json_parser.py +0 -0
  486. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/gridcal/pack_unpack.py +0 -0
  487. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/gridcal/remote.py +0 -0
  488. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/gridcal/sqlite_interface.py +0 -0
  489. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/gridcal/zip_interface.py +0 -0
  490. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/matpower/__init__.py +0 -0
  491. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/matpower/matpower_branch_definitions.py +0 -0
  492. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/matpower/matpower_bus_definitions.py +0 -0
  493. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/matpower/matpower_gen_definitions.py +0 -0
  494. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/matpower/matpower_parser.py +0 -0
  495. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/matpower/matpower_storage_definitions.py +0 -0
  496. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/others/__init__.py +0 -0
  497. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/others/dpx_parser.py +0 -0
  498. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/others/ipa_parser.py +0 -0
  499. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/others/plx_parser.py +0 -0
  500. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/others/pypsa_parser.py +0 -0
  501. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/__init__.py +0 -0
  502. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/__init__.py +0 -0
  503. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/area.py +0 -0
  504. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/branch.py +0 -0
  505. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/bus.py +0 -0
  506. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/facts.py +0 -0
  507. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/fixed_shunt.py +0 -0
  508. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/generator.py +0 -0
  509. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/gne_device.py +0 -0
  510. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/induction_machine.py +0 -0
  511. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/inter_area.py +0 -0
  512. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/load.py +0 -0
  513. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/node.py +0 -0
  514. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/owner.py +0 -0
  515. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/psse_circuit.py +0 -0
  516. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/psse_object.py +0 -0
  517. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/psse_property.py +0 -0
  518. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/substation.py +0 -0
  519. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/switched_shunt.py +0 -0
  520. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/system_switching_device.py +0 -0
  521. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/transformer.py +0 -0
  522. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/two_terminal_dc_line.py +0 -0
  523. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/vsc_dc_line.py +0 -0
  524. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/devices/zone.py +0 -0
  525. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/gridcal_to_raw.py +0 -0
  526. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/raw_functions.py +0 -0
  527. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/raw_parser_legacy.py +0 -0
  528. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/raw_parser_writer.py +0 -0
  529. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/raw_to_gridcal.py +0 -0
  530. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/rawx_parser_legacy.py +0 -0
  531. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/IO/raw/rawx_parser_writer.py +0 -0
  532. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/LICENSE.txt +0 -0
  533. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ATC/__init__.py +0 -0
  534. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ATC/available_transfer_capacity_driver.py +0 -0
  535. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ATC/available_transfer_capacity_options.py +0 -0
  536. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ATC/available_transfer_capacity_ts_driver.py +0 -0
  537. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Clustering/__init__.py +0 -0
  538. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Clustering/clustering.py +0 -0
  539. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Clustering/clustering_driver.py +0 -0
  540. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Clustering/clustering_options.py +0 -0
  541. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Clustering/clustering_results.py +0 -0
  542. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/__init__.py +0 -0
  543. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/helm_contingencies.py +0 -0
  544. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/helm_contingency_analysis.py +0 -0
  545. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/linear_contingency_analysis.py +0 -0
  546. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/nonlinear_contingency_analysis.py +0 -0
  547. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/optimal_linear_contingency_analysis.py +0 -0
  548. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/srap.py +0 -0
  549. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContingencyAnalysis/__init__.py +0 -0
  550. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContingencyAnalysis/contingencies_report.py +0 -0
  551. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_driver.py +0 -0
  552. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_options.py +0 -0
  553. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_results.py +0 -0
  554. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_driver.py +0 -0
  555. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_results.py +0 -0
  556. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_plan.py +0 -0
  557. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContinuationPowerFlow/__init__.py +0 -0
  558. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow.py +0 -0
  559. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_driver.py +0 -0
  560. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_input.py +0 -0
  561. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_options.py +0 -0
  562. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_results.py +0 -0
  563. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Derivatives/__init__.py +0 -0
  564. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Derivatives/ac_jacobian.py +0 -0
  565. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Derivatives/acdc_jacobian.py +0 -0
  566. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Derivatives/csr_derivatives.py +0 -0
  567. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Derivatives/matpower_derivatives.py +0 -0
  568. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Dynamics/__init__.py +0 -0
  569. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Dynamics/dynamic_modules.py +0 -0
  570. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Dynamics/transient_stability_driver.py +0 -0
  571. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/InputsAnalysis/__init__.py +0 -0
  572. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/InputsAnalysis/inputs_analysis_driver.py +0 -0
  573. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/NSGA_3.py +0 -0
  574. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/__init__.py +0 -0
  575. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/mixed_variable_NSGA_2.py +0 -0
  576. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/random_eval.py +0 -0
  577. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/stop_crits.py +0 -0
  578. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/InvestmentsEvaluation/__init__.py +0 -0
  579. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_driver.py +0 -0
  580. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_options.py +0 -0
  581. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_results.py +0 -0
  582. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/LinearFactors/__init__.py +0 -0
  583. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/LinearFactors/linear_analysis.py +0 -0
  584. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/LinearFactors/linear_analysis_driver.py +0 -0
  585. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/LinearFactors/linear_analysis_options.py +0 -0
  586. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/LinearFactors/linear_analysis_results.py +0 -0
  587. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_driver.py +0 -0
  588. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_results.py +0 -0
  589. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/NTC/__init__.py +0 -0
  590. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/NTC/ntc_driver.py +0 -0
  591. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/NTC/ntc_opf.py +0 -0
  592. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/NTC/ntc_options.py +0 -0
  593. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/NTC/ntc_results.py +0 -0
  594. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/NTC/ntc_ts_driver.py +0 -0
  595. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/NTC/ntc_ts_results.py +0 -0
  596. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/NodalCapacity/__init__.py +0 -0
  597. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/NodalCapacity/nodal_capacity_options.py +0 -0
  598. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/NodalCapacity/nodal_capacity_ts_driver.py +0 -0
  599. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/NodalCapacity/nodal_capacity_ts_results.py +0 -0
  600. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/OPF/NumericalMethods/__init__.py +0 -0
  601. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf.py +0 -0
  602. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf_autodif.py +0 -0
  603. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf_derivatives.py +0 -0
  604. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/OPF/__init__.py +0 -0
  605. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/OPF/linear_opf_ts.py +0 -0
  606. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/OPF/opf_driver.py +0 -0
  607. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/OPF/opf_options.py +0 -0
  608. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/OPF/opf_results.py +0 -0
  609. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/OPF/opf_ts_driver.py +0 -0
  610. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/OPF/opf_ts_results.py +0 -0
  611. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/OPF/simple_dispatch_ts.py +0 -0
  612. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/__init__.py +0 -0
  613. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/common_functions.py +0 -0
  614. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/discrete_controls.py +0 -0
  615. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/fast_decoupled.py +0 -0
  616. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/gauss_power_flow.py +0 -0
  617. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/helm_power_flow.py +0 -0
  618. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/iwamoto_newton_raphson.py +0 -0
  619. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/levenberg_marquadt_fx.py +0 -0
  620. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/linearized_power_flow.py +0 -0
  621. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_fx.py +0 -0
  622. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/pf_basic_formulation.py +0 -0
  623. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/pf_formulation_template.py +0 -0
  624. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/powell_fx.py +0 -0
  625. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/__init__.py +0 -0
  626. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/grid_analysis.py +0 -0
  627. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/power_flow_driver.py +0 -0
  628. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/power_flow_results.py +0 -0
  629. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_driver.py +0 -0
  630. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_input.py +0 -0
  631. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_results.py +0 -0
  632. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/PowerFlow/power_flow_worker.py +0 -0
  633. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ShortCircuitStudies/__init__.py +0 -0
  634. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit.py +0 -0
  635. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_driver.py +0 -0
  636. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_options.py +0 -0
  637. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_results.py +0 -0
  638. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_worker.py +0 -0
  639. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/SigmaAnalysis/__init__.py +0 -0
  640. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/SigmaAnalysis/sigma_analysis_driver.py +0 -0
  641. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/StateEstimation/__init__.py +0 -0
  642. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/StateEstimation/state_estimation.py +0 -0
  643. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/StateEstimation/state_stimation_driver.py +0 -0
  644. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Stochastic/__init__.py +0 -0
  645. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Stochastic/blackout_driver.py +0 -0
  646. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Stochastic/latin_hypercube_sampling.py +0 -0
  647. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Stochastic/reliability_driver.py +0 -0
  648. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Stochastic/reliability_iterable.py +0 -0
  649. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_driver.py +0 -0
  650. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_input.py +0 -0
  651. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_results.py +0 -0
  652. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Topology/__init__.py +0 -0
  653. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Topology/node_groups_driver.py +0 -0
  654. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Topology/topology_processor_driver.py +0 -0
  655. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/Topology/topology_reduction_driver.py +0 -0
  656. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/__init__.py +0 -0
  657. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/driver_template.py +0 -0
  658. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/driver_types.py +0 -0
  659. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/options_template.py +0 -0
  660. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/results_table.py +0 -0
  661. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/results_template.py +0 -0
  662. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Simulations/types.py +0 -0
  663. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Topology/__init__.py +0 -0
  664. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Topology/admittance_matrices.py +0 -0
  665. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Topology/detect_substations.py +0 -0
  666. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Topology/simulation_indices.py +0 -0
  667. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Topology/topology.py +0 -0
  668. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Topology/topology_processor.py +0 -0
  669. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Topology/topology_substation_reduction.py +0 -0
  670. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/Filtering/__init__.py +0 -0
  671. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/Filtering/filtering.py +0 -0
  672. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/Filtering/objects_filtering.py +0 -0
  673. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/Filtering/results_table_filtering.py +0 -0
  674. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/Filtering/timeseries_filtering.py +0 -0
  675. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/MIP/SimpleMip/__init__.py +0 -0
  676. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/MIP/SimpleMip/highs.py +0 -0
  677. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/MIP/SimpleMip/lpmodel.py +0 -0
  678. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/MIP/SimpleMip/lpobjects.py +0 -0
  679. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/MIP/__init__.py +0 -0
  680. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/MIP/ortools_interface.py +0 -0
  681. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/MIP/pulp_interface.py +0 -0
  682. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/MIP/selected_interface.py +0 -0
  683. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/MVRSM_mo_pareto.py +0 -0
  684. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/MVRSM_mo_scaled.py +0 -0
  685. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/MVRSM_original.py +0 -0
  686. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/__init__.py +0 -0
  687. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/autodiff.py +0 -0
  688. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/ips.py +0 -0
  689. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/iwamoto.py +0 -0
  690. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/levenberg_marquadt.py +0 -0
  691. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/newton_raphson.py +0 -0
  692. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/newton_raphson_ode.py +0 -0
  693. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/non_dominated_sorting.py +0 -0
  694. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/nsga3.py +0 -0
  695. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/powell.py +0 -0
  696. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/sparse_solve.py +0 -0
  697. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/NumericalMethods/weldorf_online_stddev.py +0 -0
  698. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/Sparse/__init__.py +0 -0
  699. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/Sparse/csc.py +0 -0
  700. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/Sparse/csc2.py +0 -0
  701. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/Sparse/csc_numba.py +0 -0
  702. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/Sparse/utils.py +0 -0
  703. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/ThirdParty/SyntheticNetworks/__init__.py +0 -0
  704. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/ThirdParty/SyntheticNetworks/rpgm_algo.py +0 -0
  705. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/ThirdParty/__init__.py +0 -0
  706. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/__init__.py +0 -0
  707. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/scores.py +0 -0
  708. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/Utils/zip_file_mgmt.py +0 -0
  709. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/__init__.py +0 -0
  710. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/api.py +0 -0
  711. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/basic_structures.py +0 -0
  712. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/data_logger.py +0 -0
  713. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/GridCalEngine/enumerations.py +0 -0
  714. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/setup.cfg +0 -0
  715. {GridCalEngine-5.1.24 → GridCalEngine-5.1.25}/setup.py +0 -0
@@ -1007,6 +1007,8 @@ def get_branch_data(
1007
1007
  logger=logger)
1008
1008
 
1009
1009
  data.conn[ii] = elm.conn
1010
+ data.m_taps[ii] = elm.tap_changer.tap_modules_array
1011
+ data.tau_taps[ii] = elm.tap_changer.tap_angles_array
1010
1012
 
1011
1013
  ii += 1
1012
1014
 
@@ -1034,6 +1036,8 @@ def get_branch_data(
1034
1036
  logger=logger)
1035
1037
 
1036
1038
  data.conn[ii] = elm.conn
1039
+ data.m_taps[ii] = elm.tap_changer.tap_modules_array
1040
+ data.tau_taps[ii] = elm.tap_changer.tap_angles_array
1037
1041
 
1038
1042
  ii += 1
1039
1043
 
@@ -19,6 +19,7 @@ import pandas as pd
19
19
  import scipy.sparse as sp
20
20
  import GridCalEngine.Topology.topology as tp
21
21
  from GridCalEngine.enumerations import WindingsConnection
22
+ from GridCalEngine.Utils.Sparse.sparse_array import SparseObjectArray
22
23
  from GridCalEngine.basic_structures import Vec, IntVec, StrVec, ObjVec, CxVec, BoolVec
23
24
  from typing import List, Tuple, Dict
24
25
 
@@ -50,15 +51,10 @@ class BranchData:
50
51
  self.F: IntVec = np.zeros(self.nelm, dtype=int) # indices of the "from" buses
51
52
  self.T: IntVec = np.zeros(self.nelm, dtype=int) # indices of the "to" buses
52
53
 
53
- # reliabilty
54
+ # reliability
54
55
  self.mttf: Vec = np.zeros(self.nelm, dtype=float)
55
56
  self.mttr: Vec = np.zeros(self.nelm, dtype=float)
56
57
 
57
- # composite losses curve (c * x^2 + b * x + a)
58
- # self.a: Vec = np.zeros(self.nelm, dtype=float)
59
- # self.b: Vec = np.zeros(self.nelm, dtype=float)
60
- # self.c: Vec = np.zeros(self.nelm, dtype=float)
61
-
62
58
  self.R: Vec = np.zeros(self.nelm, dtype=float)
63
59
  self.X: Vec = np.zeros(self.nelm, dtype=float)
64
60
  self.G: Vec = np.zeros(self.nelm, dtype=float)
@@ -74,7 +70,10 @@ class BranchData:
74
70
  self.G2: Vec = np.zeros(self.nelm, dtype=float)
75
71
  self.B2: Vec = np.zeros(self.nelm, dtype=float)
76
72
 
77
- self.conn: ObjVec = np.array([WindingsConnection.GG] * self.nelm)
73
+ self.conn: ObjVec = np.full(self.nelm, fill_value=WindingsConnection.GG, dtype=object)
74
+
75
+ self.m_taps = SparseObjectArray(n=self.nelm)
76
+ self.tau_taps = SparseObjectArray(n=self.nelm)
78
77
 
79
78
  self.k: Vec = np.ones(nelm, dtype=float)
80
79
 
@@ -169,6 +168,8 @@ class BranchData:
169
168
  data.alpha3 = self.alpha3[elm_idx]
170
169
 
171
170
  data.conn = self.conn[elm_idx] # winding connection
171
+ data.m_taps = self.m_taps.slice(elm_idx)
172
+ data.tau_taps = self.tau_taps.slice(elm_idx)
172
173
 
173
174
  data.tap_phase_control_mode = self.tap_phase_control_mode[elm_idx]
174
175
  data.tap_module_control_mode = self.tap_module_control_mode[elm_idx]
@@ -254,6 +255,8 @@ class BranchData:
254
255
  data.alpha3 = self.alpha3.copy()
255
256
 
256
257
  data.conn = self.conn.copy() # winding connection
258
+ data.m_taps = self.m_taps.copy()
259
+ data.tau_taps = self.tau_taps.copy()
257
260
 
258
261
  data.tap_phase_control_mode = self.tap_phase_control_mode.copy()
259
262
  data.tap_module_control_mode = self.tap_module_control_mode.copy()
@@ -294,6 +297,13 @@ class BranchData:
294
297
 
295
298
  return data
296
299
 
300
+ def get_series_admittance(self) -> CxVec:
301
+ """
302
+ Get the series admittance of the branches
303
+ :return: complex vector
304
+ """
305
+ return 1.0 / (self.R + 1j * self.X)
306
+
297
307
  def get_island(self, bus_idx: Vec) -> IntVec:
298
308
  """
299
309
  Get the array of branch indices that belong to the islands given by the bus indices
@@ -17,6 +17,7 @@
17
17
  import numpy as np
18
18
  import scipy.sparse as sp
19
19
  import GridCalEngine.Topology.topology as tp
20
+ from GridCalEngine.Utils.Sparse.sparse_array import SparseObjectArray
20
21
  from GridCalEngine.basic_structures import Vec, CxVec, IntVec, StrVec, BoolVec
21
22
 
22
23
 
@@ -48,7 +49,9 @@ class ShuntData:
48
49
 
49
50
  self.cost: Vec = np.zeros(nelm, dtype=float)
50
51
 
51
- # reliabilty
52
+ self.taps = SparseObjectArray(n=self.nelm)
53
+
54
+ # reliability
52
55
  self.mttf: Vec = np.zeros(nelm, dtype=float)
53
56
  self.mttr: Vec = np.zeros(nelm, dtype=float)
54
57
 
@@ -88,6 +91,8 @@ class ShuntData:
88
91
 
89
92
  data.cost = self.cost[elm_idx]
90
93
 
94
+ data.taps = self.taps.slice(elm_idx)
95
+
91
96
  data.mttf = self.mttf[elm_idx]
92
97
  data.mttr = self.mttr[elm_idx]
93
98
 
@@ -117,6 +122,8 @@ class ShuntData:
117
122
 
118
123
  data.cost = self.cost.copy()
119
124
 
125
+ data.taps = self.taps.copy()
126
+
120
127
  data.mttf = self.mttf.copy()
121
128
  data.mttr = self.mttr.copy()
122
129
 
@@ -87,6 +87,14 @@ class TapChanger:
87
87
  """
88
88
  self._tap_position = val
89
89
 
90
+ @property
91
+ def tap_modules_array(self):
92
+ return self._m_array
93
+
94
+ @property
95
+ def tap_angles_array(self):
96
+ return self._tau_array
97
+
90
98
  def resize(self) -> None:
91
99
  """
92
100
  Resize and recalc the tap positions array
@@ -252,7 +260,8 @@ class TapChanger:
252
260
  :param tap_module: float value of the tap module
253
261
  """
254
262
  if self.tc_type != TapChangerTypes.NoRegulation:
255
- return find_closest_number(arr=self._tau_array, target=tap_module)
263
+ _, val = find_closest_number(arr=self._tau_array, target=tap_module)
264
+ return val
256
265
 
257
266
  def get_tap_module_min(self) -> float:
258
267
  """
@@ -225,7 +225,8 @@ class EditableDevice:
225
225
  # list of properties that cannot be edited
226
226
  self.non_editable_properties: List[str] = list()
227
227
 
228
- self.properties_with_profile: Dict[str, Optional[Any]] = dict()
228
+ # dictionary with property name -> profile name
229
+ self.properties_with_profile: Dict[str, str] = dict()
229
230
 
230
231
  self.register(key='idtag', units='', tpe=str, definition='Unique ID', editable=False)
231
232
  self.register(key='name', units='', tpe=str, definition='Name of the device.')
@@ -342,6 +343,7 @@ class EditableDevice:
342
343
  """
343
344
  assert (hasattr(self, key)) # the property must exist, this avoids bugs when registering
344
345
 
346
+ # create GCProp object
345
347
  prop = GCProp(prop_name=key,
346
348
  units=units,
347
349
  tpe=tpe,
@@ -360,7 +362,7 @@ class EditableDevice:
360
362
 
361
363
  if profile_name != '':
362
364
  assert (hasattr(self, profile_name)) # the profile property must exist, this avoids bugs in registering
363
- assert (isinstance(getattr(self, profile_name), Profile))
365
+ assert (isinstance(getattr(self, profile_name), Profile)) # the profile must be of type "Profile"
364
366
  self.properties_with_profile[key] = profile_name
365
367
 
366
368
  if not editable:
@@ -708,9 +710,9 @@ class EditableDevice:
708
710
  Set the profile values at t
709
711
  :param t: time index (integer)
710
712
  """
711
- for magnitude in self.properties_with_profile.keys():
712
- profile: Profile = getattr(self, self.properties_with_profile[magnitude])
713
- setattr(self, magnitude, profile[t])
713
+ for property_name, profile_name in self.properties_with_profile.items():
714
+ profile: Profile = getattr(self, profile_name)
715
+ setattr(self, property_name, profile[t])
714
716
 
715
717
  def get_profile(self, magnitude: str) -> Union[Profile, None]:
716
718
  """
@@ -207,7 +207,7 @@ class Assets:
207
207
  self._diagrams: List[Union[dev.MapDiagram, dev.SchematicDiagram]] = list()
208
208
 
209
209
  # objects with profiles
210
- self.objects_with_profiles = {
210
+ self.template_objects_dict = {
211
211
  "Regions": [
212
212
  dev.Country(),
213
213
  dev.Community(),
@@ -286,7 +286,7 @@ class Assets:
286
286
 
287
287
  self.properties_with_profile = ['Y']
288
288
  '''
289
- for key, elm_list in self.objects_with_profiles.items():
289
+ for key, elm_list in self.template_objects_dict.items():
290
290
  for elm in elm_list:
291
291
  if elm.properties_with_profile is not None:
292
292
  key = str(elm.device_type.value)
@@ -308,11 +308,12 @@ class Assets:
308
308
  for key, tpe in self.device_type_name_dict.items():
309
309
  yield tpe
310
310
 
311
- def items_declared(self) -> Generator[ALL_DEV_TYPES, None, None]:
311
+ def template_items(self) -> Generator[ALL_DEV_TYPES, None, None]:
312
312
  """
313
- Iterator of the declared objects in the MultiCircuit
313
+ Iterator of the declared objects in the MultiCircuit.
314
+ These are the object types that you see in the App DataBase tree
314
315
  """
315
- for key, elm_type_list in self.objects_with_profiles.items():
316
+ for key, elm_type_list in self.template_objects_dict.items():
316
317
  for elm in elm_type_list:
317
318
  yield elm
318
319
 
@@ -508,7 +509,7 @@ class Assets:
508
509
  # for elm in elements:
509
510
  # elm.ensure_profiles_exist(self.time_profile)
510
511
 
511
- for elm in self.items_declared():
512
+ for elm in self.items():
512
513
  elm.ensure_profiles_exist(self.time_profile)
513
514
 
514
515
  def delete_profiles(self):
@@ -5322,6 +5323,6 @@ class Assets:
5322
5323
  Clear the multi-circuit (remove the bus and branch objects)
5323
5324
  """
5324
5325
 
5325
- for key, elm_list in self.objects_with_profiles.items():
5326
+ for key, elm_list in self.template_objects_dict.items():
5326
5327
  for elm in elm_list:
5327
5328
  self.get_elements_by_type(device_type=elm.device_type).clear()
@@ -206,24 +206,24 @@ class MultiCircuit(Assets):
206
206
  """
207
207
  return (self.get_bus_number() + self.get_connectivity_nodes_number()) > 0
208
208
 
209
- def get_objects_with_profiles_list(self) -> List[ALL_DEV_TYPES]:
209
+ def get_template_objects_list(self) -> List[ALL_DEV_TYPES]:
210
210
  """
211
211
  get objects_with_profiles in the form of list
212
212
  :return: List[dev.EditableDevice]
213
213
  """
214
214
  lst = list()
215
- for key, elm_list in self.objects_with_profiles.items():
215
+ for key, elm_list in self.template_objects_dict.items():
216
216
  for elm in elm_list:
217
217
  lst.append(elm)
218
218
  return lst
219
219
 
220
- def get_objects_with_profiles_str_dict(self) -> Dict[str, List[str]]:
220
+ def get_template_objects_str_dict(self) -> Dict[str, List[str]]:
221
221
  """
222
222
  get objects_with_profiles as a strings dictionary
223
223
  :return:
224
224
  """
225
225
  d = dict()
226
- for key, elm_list in self.objects_with_profiles.items():
226
+ for key, elm_list in self.template_objects_dict.items():
227
227
  d[key] = [o.device_type.value for o in elm_list]
228
228
  return d
229
229
 
@@ -761,7 +761,7 @@ class MultiCircuit(Assets):
761
761
  """
762
762
  self.ensure_profiles_exist()
763
763
 
764
- for device in self.items_declared():
764
+ for device in self.items():
765
765
  device.set_profile_values(t)
766
766
 
767
767
  self.snapshot_time = self.time_profile[t]
@@ -1706,89 +1706,89 @@ class MultiCircuit(Assets):
1706
1706
  expected_value=self.get_snapshot_time_unix())
1707
1707
 
1708
1708
  # for each category
1709
- for key, template_elms_list in self.objects_with_profiles.items():
1709
+ # for key, template_elms_list in self.categorized_template_objects_dict.items():
1710
1710
 
1711
1711
  # for each object type
1712
- for template_elm in template_elms_list:
1712
+ for template_elm in self.template_items():
1713
1713
 
1714
- # get all objects of the type
1715
- elms1 = self.get_elements_by_type(device_type=template_elm.device_type)
1716
- elms2 = grid2.get_elements_by_type(device_type=template_elm.device_type)
1714
+ # get all objects of the type
1715
+ elms1 = self.get_elements_by_type(device_type=template_elm.device_type)
1716
+ elms2 = grid2.get_elements_by_type(device_type=template_elm.device_type)
1717
1717
 
1718
- if len(elms1) != len(elms2):
1719
- logger.add_error(msg="Different number of elements",
1720
- device_class=template_elm.device_type.value,
1721
- value=len(elms2),
1722
- expected_value=len(elms1))
1718
+ if len(elms1) != len(elms2):
1719
+ logger.add_error(msg="Different number of elements",
1720
+ device_class=template_elm.device_type.value,
1721
+ value=len(elms2),
1722
+ expected_value=len(elms1))
1723
1723
 
1724
- # for every property
1725
- for prop_name, prop in template_elm.registered_properties.items():
1724
+ # for every property
1725
+ for prop_name, prop in template_elm.registered_properties.items():
1726
1726
 
1727
- if skip_internals:
1728
- analyze = prop.display
1729
- else:
1730
- analyze = True
1727
+ if skip_internals:
1728
+ analyze = prop.display
1729
+ else:
1730
+ analyze = True
1731
+
1732
+ if analyze:
1733
+ # for every pair of elements:
1734
+ for elm1, elm2 in zip(elms1, elms2):
1731
1735
 
1732
- if analyze:
1733
- # for every pair of elements:
1734
- for elm1, elm2 in zip(elms1, elms2):
1736
+ # compare the snapshot values
1737
+ v1 = elm1.get_property_value(prop=prop, t_idx=None)
1738
+ v2 = elm2.get_property_value(prop=prop, t_idx=None)
1735
1739
 
1736
- # compare the snapshot values
1737
- v1 = elm1.get_property_value(prop=prop, t_idx=None)
1738
- v2 = elm2.get_property_value(prop=prop, t_idx=None)
1740
+ if v1 != v2:
1741
+ logger.add_error(msg="Different snapshot values",
1742
+ device_class=template_elm.device_type.value,
1743
+ device_property=prop.name,
1744
+ value=v2,
1745
+ expected_value=v1)
1739
1746
 
1740
- if v1 != v2:
1741
- logger.add_error(msg="Different snapshot values",
1747
+ if prop.has_profile():
1748
+ p1 = elm1.get_profile_by_prop(prop=prop)
1749
+ p2 = elm1.get_profile_by_prop(prop=prop)
1750
+
1751
+ if p1 != p2:
1752
+ logger.add_error(msg="Different profile values",
1742
1753
  device_class=template_elm.device_type.value,
1743
1754
  device_property=prop.name,
1744
- value=v2,
1745
- expected_value=v1)
1746
-
1747
- if prop.has_profile():
1748
- p1 = elm1.get_profile_by_prop(prop=prop)
1749
- p2 = elm1.get_profile_by_prop(prop=prop)
1750
-
1751
- if p1 != p2:
1752
- logger.add_error(msg="Different profile values",
1753
- device_class=template_elm.device_type.value,
1754
- device_property=prop.name,
1755
- object_value=p2,
1756
- expected_object_value=p1)
1757
-
1758
- if detailed_profile_comparison:
1759
- for t_idx in range(nt):
1760
-
1761
- v1 = p1[t_idx]
1762
- v2 = p2[t_idx]
1763
-
1764
- if v1 != v2:
1765
- logger.add_error(msg="Different time series values",
1766
- device_class=template_elm.device_type.value,
1767
- device_property=prop.name,
1768
- device=str(elm1),
1769
- value=v2,
1770
- expected_value=v1)
1771
-
1772
- v1b = elm1.get_property_value(prop=prop, t_idx=t_idx)
1773
- v2b = elm2.get_property_value(prop=prop, t_idx=t_idx)
1774
-
1775
- if v1 != v1b:
1776
- logger.add_error(
1777
- msg="Profile getting values differ with different getter methods!",
1778
- device_class=template_elm.device_type.value,
1779
- device_property=prop.name,
1780
- device=str(elm1),
1781
- value=v1b,
1782
- expected_value=v1)
1783
-
1784
- if v2 != v2b:
1785
- logger.add_error(
1786
- msg="Profile getting values differ with different getter methods!",
1787
- device_class=template_elm.device_type.value,
1788
- device_property=prop.name,
1789
- device=str(elm1),
1790
- value=v1b,
1791
- expected_value=v1)
1755
+ object_value=p2,
1756
+ expected_object_value=p1)
1757
+
1758
+ if detailed_profile_comparison:
1759
+ for t_idx in range(nt):
1760
+
1761
+ v1 = p1[t_idx]
1762
+ v2 = p2[t_idx]
1763
+
1764
+ if v1 != v2:
1765
+ logger.add_error(msg="Different time series values",
1766
+ device_class=template_elm.device_type.value,
1767
+ device_property=prop.name,
1768
+ device=str(elm1),
1769
+ value=v2,
1770
+ expected_value=v1)
1771
+
1772
+ v1b = elm1.get_property_value(prop=prop, t_idx=t_idx)
1773
+ v2b = elm2.get_property_value(prop=prop, t_idx=t_idx)
1774
+
1775
+ if v1 != v1b:
1776
+ logger.add_error(
1777
+ msg="Profile getting values differ with different getter methods!",
1778
+ device_class=template_elm.device_type.value,
1779
+ device_property=prop.name,
1780
+ device=str(elm1),
1781
+ value=v1b,
1782
+ expected_value=v1)
1783
+
1784
+ if v2 != v2b:
1785
+ logger.add_error(
1786
+ msg="Profile getting values differ with different getter methods!",
1787
+ device_class=template_elm.device_type.value,
1788
+ device_property=prop.name,
1789
+ device=str(elm1),
1790
+ value=v1b,
1791
+ expected_value=v1)
1792
1792
 
1793
1793
  # if any error in the logger, bad
1794
1794
  return logger.error_count() == 0, logger
@@ -21,7 +21,7 @@ import numpy as np
21
21
  import numba as nb
22
22
  from GridCalEngine.basic_structures import Numeric, NumericVec, IntVec
23
23
  from GridCalEngine.enumerations import DeviceType
24
- from GridCalEngine.Devices.sparse_array import SparseArray, PROFILE_TYPES, check_type
24
+ from GridCalEngine.Utils.Sparse.sparse_array import SparseArray, PROFILE_TYPES, check_type
25
25
 
26
26
 
27
27
  @nb.njit()
@@ -402,7 +402,7 @@ def get_gcdev_loads(cgmes_model: CgmesCircuit,
402
402
  if cgmes_elm.LoadResponse is not None:
403
403
 
404
404
  if cgmes_elm.LoadResponse.exponentModel:
405
- print(f'Exponent model True at {cgmes_elm.name}')
405
+ # print(f'Exponent model True at {cgmes_elm.name}')
406
406
  pass # TODO convert exponent to ZIP
407
407
  else: # ZIP model
408
408
  # TODO check all attributes
@@ -58,7 +58,8 @@ def dSbus_dV_numba_sparse_csc(Yx: CxVec, Yp: IntVec, Yi: IntVec, V: CxVec, Vm: C
58
58
  for j in range(n): # for each column ...
59
59
 
60
60
  # compute the unitary vector of the voltage
61
- E[j] /= Vm[j]
61
+ if Vm[j] > 0.0:
62
+ E[j] /= Vm[j]
62
63
 
63
64
  for k in range(Yp[j], Yp[j + 1]): # for each row ...
64
65
  # row index
@@ -26,6 +26,7 @@ from GridCalEngine.DataStructures.numerical_circuit import NumericalCircuit
26
26
  import GridCalEngine.Simulations.Derivatives.csc_derivatives as deriv
27
27
  from GridCalEngine.Topology.simulation_indices import compile_types
28
28
  from GridCalEngine.Utils.Sparse.csc2 import CSC, CxCSC, sp_slice, csc_stack_2d_ff, scipy_to_mat
29
+ from GridCalEngine.Utils.NumericalMethods.common import find_closest_number
29
30
  from GridCalEngine.Simulations.PowerFlow.NumericalMethods.common_functions import expand
30
31
  from GridCalEngine.Simulations.PowerFlow.NumericalMethods.common_functions import compute_fx_error
31
32
  from GridCalEngine.Simulations.PowerFlow.NumericalMethods.discrete_controls import (control_q_inside_method,
@@ -243,7 +244,7 @@ class PfAdvancedFormulation(PfFormulationTemplate):
243
244
  self.idx_dQt = np.array(0, dtype=int)
244
245
 
245
246
  k_v_m = self.analyze_branch_controls() # this fills the indices above
246
- vd, pq, pv, pqv, p, self.no_slack = compile_types(
247
+ self.vd, pq, pv, pqv, p, self.no_slack = compile_types(
247
248
  Pbus=self.nc.Sbus.real,
248
249
  types=self.bus_types
249
250
  )
@@ -255,7 +256,7 @@ class PfAdvancedFormulation(PfFormulationTemplate):
255
256
 
256
257
  self.Gsw = self.nc.branch_data.G0sw[self.idx_conv]
257
258
 
258
- self.Ys = 1.0 / (self.nc.branch_data.R + 1j * self.nc.branch_data.X)
259
+ self.Ys: CxVec = self.nc.branch_data.get_series_admittance()
259
260
 
260
261
  self.adm = compute_admittances(
261
262
  R=self.nc.branch_data.R,
@@ -547,8 +548,7 @@ class PfAdvancedFormulation(PfFormulationTemplate):
547
548
  changed, pv, pq, pqv, p = control_q_inside_method(self.Scalc, self.S0,
548
549
  self.pv, self.pq,
549
550
  self.pqv, self.p,
550
- self.Qmin,
551
- self.Qmax)
551
+ self.Qmin, self.Qmax)
552
552
 
553
553
  if len(changed) > 0:
554
554
  any_change = True
@@ -572,6 +572,12 @@ class PfAdvancedFormulation(PfFormulationTemplate):
572
572
  # update the tap module control
573
573
  if self.options.control_taps_modules:
574
574
  for i, k in enumerate(self.idx_dm):
575
+
576
+ m_taps = self.nc.branch_data.m_taps[i]
577
+
578
+ if self.options.orthogonalize_controls and m_taps is not None:
579
+ _, self.m[i] = find_closest_number(arr=m_taps, target=self.m[i])
580
+
575
581
  if self.m[i] < self.nc.branch_data.tap_module_min[k]:
576
582
  self.m[i] = self.nc.branch_data.tap_module_min[k]
577
583
  self.tap_module_control_mode[k] = TapModuleControl.fixed
@@ -590,7 +596,14 @@ class PfAdvancedFormulation(PfFormulationTemplate):
590
596
 
591
597
  # update the tap phase control
592
598
  if self.options.control_taps_phase:
599
+
593
600
  for i, k in enumerate(self.idx_dtau):
601
+
602
+ tau_taps = self.nc.branch_data.tau_taps[i]
603
+
604
+ if self.options.orthogonalize_controls and tau_taps is not None:
605
+ _, self.tau[i] = find_closest_number(arr=tau_taps, target=self.tau[i])
606
+
594
607
  if self.tau[i] < self.nc.branch_data.tap_angle_min[k]:
595
608
  self.tau[i] = self.nc.branch_data.tap_angle_min[k]
596
609
  self.tap_phase_control_mode[k] = TapPhaseControl.fixed
@@ -36,6 +36,7 @@ class PowerFlowOptions(OptionsTemplate):
36
36
  control_taps_modules: bool = True,
37
37
  control_taps_phase: bool = True,
38
38
  control_remote_voltage: bool = True,
39
+ orthogonalize_controls: bool = True,
39
40
  apply_temperature_correction: bool = True,
40
41
  branch_impedance_tolerance_mode=BranchImpedanceMode.Specified,
41
42
  distributed_slack: bool = False,
@@ -86,6 +87,8 @@ class PowerFlowOptions(OptionsTemplate):
86
87
 
87
88
  self.control_remote_voltage = control_remote_voltage
88
89
 
90
+ self.orthogonalize_controls = orthogonalize_controls
91
+
89
92
  self.apply_temperature_correction = apply_temperature_correction
90
93
 
91
94
  self.branch_impedance_tolerance_mode = branch_impedance_tolerance_mode
@@ -113,6 +116,7 @@ class PowerFlowOptions(OptionsTemplate):
113
116
  self.register(key="control_taps_modules", tpe=bool)
114
117
  self.register(key="control_taps_phase", tpe=bool)
115
118
  self.register(key="control_remote_voltage", tpe=bool)
119
+ self.register(key="orthogonalize_controls", tpe=bool)
116
120
  self.register(key="apply_temperature_correction", tpe=bool)
117
121
  self.register(key="branch_impedance_tolerance_mode", tpe=BranchImpedanceMode)
118
122
  self.register(key="distributed_slack", tpe=bool)
@@ -128,21 +128,69 @@ class ConvexMethodResult:
128
128
  print("Elapsed:\t", self.elapsed, 's')
129
129
 
130
130
 
131
- def find_closest_number(arr: Vec, target: float) -> float:
131
+ # def find_closest_number(arr: Vec, target: float) -> Tuple[int, float]:
132
+ # """
133
+ # Find the closest number that exists in array
134
+ # :param arr: Array to be searched
135
+ # :param target: Value to search for
136
+ # :return: index in the array, Closes adjusted or truncated value
137
+ # """
138
+ # idx: int = np.searchsorted(a=arr, v=target, side='left')
139
+ # if idx == 0:
140
+ # return idx, arr[0]
141
+ # if idx == len(arr):
142
+ # return idx, arr[-1]
143
+ # before = arr[idx - 1]
144
+ # after = arr[idx]
145
+ # if after - target < target - before:
146
+ # return idx, after
147
+ # else:
148
+ # return idx - 1, before
149
+
150
+
151
+ @nb.njit(cache=True)
152
+ def find_closest_number(arr: Vec, target: float) -> Tuple[int, float]:
132
153
  """
133
154
  Find the closest number that exists in array
134
- :param arr: Array to be searched
155
+ :param arr: Array to be searched (must be sorted from min to max)
135
156
  :param target: Value to search for
136
- :return: Closes adjusted or truncated value
157
+ :return: index in the array, Closes adjusted or truncated value
137
158
  """
138
- idx = np.searchsorted(arr, target)
139
- if idx == 0:
140
- return arr[0]
141
- if idx == len(arr):
142
- return arr[-1]
143
- before = arr[idx - 1]
144
- after = arr[idx]
145
- if after - target < target - before:
146
- return after
147
- else:
148
- return before
159
+ if len(arr) == 0:
160
+ # nothing to do
161
+ return -1, target
162
+
163
+ prev: float = arr[0]
164
+
165
+ if target <= prev:
166
+ return 0, prev
167
+
168
+ last: float = arr[-1]
169
+ if target >= last:
170
+ return len(arr) - 1, last
171
+
172
+ for i in range(1, len(arr)):
173
+ val: float = arr[i]
174
+
175
+ if val <= prev:
176
+ # test that the values strictly increase
177
+ raise Exception("The array must be monotonically increasing")
178
+
179
+ if prev < target <= val:
180
+ # the value is within the interval
181
+
182
+ d_prev = target - prev
183
+ d_post = val - target
184
+
185
+ if abs(d_prev - d_post) < 1e-10:
186
+ return i, val
187
+ else:
188
+ if d_prev < d_post:
189
+ return i - 1, prev
190
+ else:
191
+ return i, val
192
+
193
+ prev = val
194
+
195
+ # if we reached here, something went wrong...
196
+ return 0, arr[0]