GridCalEngine 5.1.49__tar.gz → 5.1.51__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 (749) hide show
  1. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Compilers/circuit_to_data.py +18 -7
  2. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Compilers/circuit_to_newton_pa.py +6 -10
  3. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/DataStructures/branch_data.py +6 -6
  4. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/DataStructures/hvdc_data.py +23 -6
  5. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/DataStructures/numerical_circuit.py +75 -45
  6. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Aggregation/__init__.py +3 -0
  7. GridCalEngine-5.1.51/GridCalEngine/Devices/Aggregation/facility.py +47 -0
  8. GridCalEngine-5.1.51/GridCalEngine/Devices/Aggregation/remedial_action.py +123 -0
  9. GridCalEngine-5.1.51/GridCalEngine/Devices/Aggregation/remedial_action_group.py +66 -0
  10. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/dc_line.py +34 -2
  11. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/hvdc_line.py +25 -1
  12. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/line.py +30 -4
  13. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/tap_changer.py +134 -13
  14. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/transformer.py +2 -0
  15. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/transformer3w.py +292 -30
  16. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Parents/branch_parent.py +2 -0
  17. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Parents/controllable_branch_parent.py +2 -0
  18. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Parents/editable_device.py +8 -6
  19. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Parents/injection_parent.py +6 -0
  20. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/assets.py +639 -246
  21. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/multi_circuit.py +56 -7
  22. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/types.py +3 -2
  23. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/__init__.py +0 -2
  24. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_circuit.py +10 -1
  25. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_to_gridcal.py +744 -105
  26. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_utils.py +119 -60
  27. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_injection.py +1 -1
  28. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_power_flow.py +1 -1
  29. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_status.py +1 -1
  30. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_tap_step.py +1 -1
  31. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_voltage.py +1 -1
  32. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/gridcal_to_cgmes.py +537 -133
  33. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/file_handler.py +33 -5
  34. GridCalEngine-5.1.51/GridCalEngine/IO/file_system.py +97 -0
  35. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/gridcal/pack_unpack.py +19 -11
  36. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/gridcal/remote.py +1 -1
  37. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/vsc_dc_line.py +1 -1
  38. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/gridcal_to_raw.py +3 -3
  39. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/raw_parser_writer.py +23 -35
  40. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/raw_to_gridcal.py +15 -4
  41. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/LICENSE.txt +1 -1
  42. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ATC/available_transfer_capacity_driver.py +16 -15
  43. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ATC/available_transfer_capacity_ts_driver.py +2 -2
  44. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/linear_contingency_analysis.py +1 -1
  45. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/nonlinear_contingency_analysis.py +2 -2
  46. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/optimal_linear_contingency_analysis.py +4 -2
  47. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/NTC/ntc_driver.py +28 -67
  48. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/NTC/ntc_opf.py +271 -204
  49. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/NTC/ntc_options.py +29 -21
  50. GridCalEngine-5.1.51/GridCalEngine/Simulations/NTC/ntc_results.py +397 -0
  51. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/NTC/ntc_ts_driver.py +53 -71
  52. GridCalEngine-5.1.51/GridCalEngine/Simulations/NTC/ntc_ts_results.py +384 -0
  53. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/NodalCapacity/nodal_capacity_ts_driver.py +3 -1
  54. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/OPF/__init__.py +0 -1
  55. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/OPF/linear_opf_ts.py +122 -93
  56. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/OPF/opf_driver.py +3 -1
  57. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/OPF/opf_options.py +6 -3
  58. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/OPF/opf_results.py +1 -1
  59. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/OPF/opf_ts_driver.py +6 -2
  60. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/power_flow_worker.py +2 -2
  61. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/results_table.py +21 -0
  62. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/__init__.py +39 -0
  63. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/apis/__init__.py +2 -0
  64. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/apis/copt_api.py +1068 -0
  65. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/apis/cplex_cmd.py +279 -0
  66. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/apis/cplex_py.py +331 -0
  67. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/apis/gurobi_cmd.py +225 -0
  68. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/apis/gurobi_py.py +386 -0
  69. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/apis/highs_cmd.py +281 -0
  70. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/apis/highs_py.py +323 -0
  71. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/apis/lp_solver.py +294 -0
  72. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/apis/lp_solver_cmd.py +290 -0
  73. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/apis/scip_api.py +712 -0
  74. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/apis/xpress_api.py +759 -0
  75. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/constants.py +147 -0
  76. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/model/lp_objects.py +1302 -0
  77. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/model/lp_problem.py +1182 -0
  78. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/mps_lp.py +467 -0
  79. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/paths.py +70 -0
  80. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/pulp.py +293 -0
  81. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/sparse.py +88 -0
  82. GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/utilities.py +186 -0
  83. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Topology/topology_processor.py +37 -18
  84. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/MIP/SimpleMip/highs.py +12 -12
  85. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/MIP/SimpleMip/lpmodel.py +25 -25
  86. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/MIP/SimpleMip/lpobjects.py +12 -5
  87. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/MIP/ortools_interface.py +56 -19
  88. GridCalEngine-5.1.51/GridCalEngine/Utils/MIP/pulp_interface.py +389 -0
  89. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/MIP/selected_interface.py +2 -2
  90. GridCalEngine-5.1.51/GridCalEngine/Utils/__init__.py +0 -0
  91. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/__version__.py +1 -1
  92. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/api.py +1 -1
  93. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/enumerations.py +57 -5
  94. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/PKG-INFO +1 -1
  95. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/setup.py +1 -2
  96. GridCalEngine-5.1.49/GridCalEngine/IO/file_system.py +0 -36
  97. GridCalEngine-5.1.49/GridCalEngine/IO/raw/raw_parser_legacy.py +0 -2537
  98. GridCalEngine-5.1.49/GridCalEngine/IO/raw/rawx_parser_legacy.py +0 -1302
  99. GridCalEngine-5.1.49/GridCalEngine/Simulations/NTC/ntc_results.py +0 -1468
  100. GridCalEngine-5.1.49/GridCalEngine/Simulations/NTC/ntc_ts_results.py +0 -922
  101. GridCalEngine-5.1.49/GridCalEngine/Topology/topology_substation_reduction.py +0 -285
  102. GridCalEngine-5.1.49/GridCalEngine/Utils/MIP/pulp_interface.py +0 -272
  103. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Compilers/__init__.py +0 -0
  104. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Compilers/circuit_to_bentayga.py +0 -0
  105. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Compilers/circuit_to_optimods.py +0 -0
  106. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Compilers/circuit_to_pgm.py +0 -0
  107. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/DataStructures/__init__.py +0 -0
  108. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/DataStructures/battery_data.py +0 -0
  109. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/DataStructures/bus_data.py +0 -0
  110. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/DataStructures/fluid_node_data.py +0 -0
  111. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/DataStructures/fluid_p2x_data.py +0 -0
  112. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/DataStructures/fluid_path_data.py +0 -0
  113. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/DataStructures/fluid_pump_data.py +0 -0
  114. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/DataStructures/fluid_turbine_data.py +0 -0
  115. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/DataStructures/generator_data.py +0 -0
  116. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/DataStructures/load_data.py +0 -0
  117. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/DataStructures/shunt_data.py +0 -0
  118. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/DataStructures/vsc_data.py +0 -0
  119. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Aggregation/area.py +0 -0
  120. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Aggregation/branch_group.py +0 -0
  121. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Aggregation/community.py +0 -0
  122. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Aggregation/contingency.py +0 -0
  123. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Aggregation/contingency_group.py +0 -0
  124. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Aggregation/country.py +0 -0
  125. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Aggregation/inter_aggregation_info.py +0 -0
  126. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Aggregation/investment.py +0 -0
  127. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Aggregation/investments_group.py +0 -0
  128. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Aggregation/modelling_authority.py +0 -0
  129. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Aggregation/municipality.py +0 -0
  130. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Aggregation/region.py +0 -0
  131. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Aggregation/zone.py +0 -0
  132. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Associations/__init__.py +0 -0
  133. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Associations/association.py +0 -0
  134. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Associations/emission_gas.py +0 -0
  135. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Associations/fuel.py +0 -0
  136. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Associations/technology.py +0 -0
  137. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/__init__.py +0 -0
  138. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/branch.py +0 -0
  139. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/line_locations.py +0 -0
  140. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/overhead_line_type.py +0 -0
  141. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/sequence_line_type.py +0 -0
  142. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/series_reactance.py +0 -0
  143. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/switch.py +0 -0
  144. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/transformer_type.py +0 -0
  145. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/underground_line_type.py +0 -0
  146. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/upfc.py +0 -0
  147. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/vsc.py +0 -0
  148. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/winding.py +0 -0
  149. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Branches/wire.py +0 -0
  150. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Diagrams/__init__.py +0 -0
  151. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Diagrams/base_diagram.py +0 -0
  152. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Diagrams/graphic_location.py +0 -0
  153. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Diagrams/map_diagram.py +0 -0
  154. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Diagrams/map_location.py +0 -0
  155. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Diagrams/palettes.py +0 -0
  156. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Diagrams/schematic_diagram.py +0 -0
  157. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Fluid/__init__.py +0 -0
  158. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Fluid/fluid_injection_template.py +0 -0
  159. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Fluid/fluid_node.py +0 -0
  160. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Fluid/fluid_p2x.py +0 -0
  161. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Fluid/fluid_path.py +0 -0
  162. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Fluid/fluid_pump.py +0 -0
  163. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Fluid/fluid_turbine.py +0 -0
  164. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Injections/__init__.py +0 -0
  165. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Injections/battery.py +0 -0
  166. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Injections/controllable_shunt.py +0 -0
  167. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Injections/current_injection.py +0 -0
  168. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Injections/external_grid.py +0 -0
  169. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Injections/generator.py +0 -0
  170. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Injections/generator_q_curve.py +0 -0
  171. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Injections/load.py +0 -0
  172. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Injections/shunt.py +0 -0
  173. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Injections/static_generator.py +0 -0
  174. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Parents/__init__.py +0 -0
  175. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Parents/generator_parent.py +0 -0
  176. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Parents/load_parent.py +0 -0
  177. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Parents/physical_device.py +0 -0
  178. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Parents/shunt_parent.py +0 -0
  179. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Substation/__init__.py +0 -0
  180. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Substation/bus.py +0 -0
  181. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Substation/busbar.py +0 -0
  182. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Substation/connectivity_node.py +0 -0
  183. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Substation/substation.py +0 -0
  184. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/Substation/voltage_level.py +0 -0
  185. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/__init__.py +0 -0
  186. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/comparison.py +0 -0
  187. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/measurement.py +0 -0
  188. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Devices/profile.py +0 -0
  189. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/base/__init__.py +0 -0
  190. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/base/base_circuit.py +0 -0
  191. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/base/base_device.py +0 -0
  192. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/base/base_property.py +0 -0
  193. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/base/units.py +0 -0
  194. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/__init__.py +0 -0
  195. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/__init__.py +0 -0
  196. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/base.py +0 -0
  197. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_assets/__init__.py +0 -0
  198. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_assets/cgmes_2_4_15_assets.py +0 -0
  199. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_assets/cgmes_3_0_0_assets.py +0 -0
  200. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_data_parser.py +0 -0
  201. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_data_validator.py +0 -0
  202. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_enums.py +0 -0
  203. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_export.py +0 -0
  204. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_poperty.py +0 -0
  205. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/__init__.py +0 -0
  206. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/__init__.py +0 -0
  207. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ac_line_segment.py +0 -0
  208. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_converter.py +0 -0
  209. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_converterdc_terminal.py +0 -0
  210. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_terminal.py +0 -0
  211. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/active_power_limit.py +0 -0
  212. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/analog_control.py +0 -0
  213. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/apparent_power_limit.py +0 -0
  214. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/asynchronous_machine.py +0 -0
  215. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/base_voltage.py +0 -0
  216. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/basic_interval_schedule.py +0 -0
  217. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/bay.py +0 -0
  218. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/breaker.py +0 -0
  219. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/bus_name_marker.py +0 -0
  220. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/busbar_section.py +0 -0
  221. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conducting_equipment.py +0 -0
  222. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conductor.py +0 -0
  223. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conform_load.py +0 -0
  224. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conform_load_group.py +0 -0
  225. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connectivity_node.py +0 -0
  226. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connectivity_node_container.py +0 -0
  227. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connector.py +0 -0
  228. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control.py +0 -0
  229. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control_area.py +0 -0
  230. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control_area_generating_unit.py +0 -0
  231. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/coordinate_system.py +0 -0
  232. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/cs_converter.py +0 -0
  233. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/current_limit.py +0 -0
  234. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/curve.py +0 -0
  235. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/curve_data.py +0 -0
  236. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_base_terminal.py +0 -0
  237. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_breaker.py +0 -0
  238. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_busbar.py +0 -0
  239. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_chopper.py +0 -0
  240. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_conducting_equipment.py +0 -0
  241. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_converter_unit.py +0 -0
  242. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_disconnector.py +0 -0
  243. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_equipment_container.py +0 -0
  244. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_ground.py +0 -0
  245. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_line.py +0 -0
  246. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_line_segment.py +0 -0
  247. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_node.py +0 -0
  248. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_series_device.py +0 -0
  249. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_shunt.py +0 -0
  250. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_switch.py +0 -0
  251. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_terminal.py +0 -0
  252. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_topological_island.py +0 -0
  253. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_topological_node.py +0 -0
  254. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/disconnector.py +0 -0
  255. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/earth_fault_compensator.py +0 -0
  256. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_area.py +0 -0
  257. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_consumer.py +0 -0
  258. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_scheduling_type.py +0 -0
  259. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_source.py +0 -0
  260. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equipment.py +0 -0
  261. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equipment_container.py +0 -0
  262. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_branch.py +0 -0
  263. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_equipment.py +0 -0
  264. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_injection.py +0 -0
  265. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_network.py +0 -0
  266. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_shunt.py +0 -0
  267. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/external_network_injection.py +0 -0
  268. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/fossil_fuel.py +0 -0
  269. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/full_model.py +0 -0
  270. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/generating_unit.py +0 -0
  271. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/geographical_region.py +0 -0
  272. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ground.py +0 -0
  273. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ground_disconnector.py +0 -0
  274. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/grounding_impedance.py +0 -0
  275. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_generating_unit.py +0 -0
  276. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_power_plant.py +0 -0
  277. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_pump.py +0 -0
  278. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/identified_object.py +0 -0
  279. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/junction.py +0 -0
  280. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/limit.py +0 -0
  281. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/limit_set.py +0 -0
  282. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/line.py +0 -0
  283. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/linear_shunt_compensator.py +0 -0
  284. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_area.py +0 -0
  285. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_break_switch.py +0 -0
  286. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_group.py +0 -0
  287. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_response_characteristic.py +0 -0
  288. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/location.py +0 -0
  289. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/measurement.py +0 -0
  290. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/measurement_value.py +0 -0
  291. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/mutual_coupling.py +0 -0
  292. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/non_conform_load.py +0 -0
  293. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/non_conform_load_group.py +0 -0
  294. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nonlinear_shunt_compensator.py +0 -0
  295. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nonlinear_shunt_compensator_point.py +0 -0
  296. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nuclear_generating_unit.py +0 -0
  297. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit.py +0 -0
  298. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit_set.py +0 -0
  299. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit_type.py +0 -0
  300. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/per_lengthdc_line_parameter.py +0 -0
  301. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/petersen_coil.py +0 -0
  302. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer.py +0 -0
  303. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_asymmetrical.py +0 -0
  304. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_linear.py +0 -0
  305. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_non_linear.py +0 -0
  306. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_symmetrical.py +0 -0
  307. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_table.py +0 -0
  308. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_table_point.py +0 -0
  309. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_tabular.py +0 -0
  310. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/position_point.py +0 -0
  311. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_system_resource.py +0 -0
  312. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_transformer.py +0 -0
  313. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_transformer_end.py +0 -0
  314. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/protected_switch.py +0 -0
  315. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/quality61850.py +0 -0
  316. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer.py +0 -0
  317. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer_table.py +0 -0
  318. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer_table_point.py +0 -0
  319. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/reactive_capability_curve.py +0 -0
  320. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regular_interval_schedule.py +0 -0
  321. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regulating_cond_eq.py +0 -0
  322. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regulating_control.py +0 -0
  323. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/reporting_group.py +0 -0
  324. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/rotating_machine.py +0 -0
  325. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/season_day_type_schedule.py +0 -0
  326. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/series_compensator.py +0 -0
  327. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/shunt_compensator.py +0 -0
  328. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/solar_generating_unit.py +0 -0
  329. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/static_var_compensator.py +0 -0
  330. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sub_geographical_region.py +0 -0
  331. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sub_load_area.py +0 -0
  332. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/substation.py +0 -0
  333. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_shunt_compensator_sections.py +0 -0
  334. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/switch.py +0 -0
  335. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/synchronous_machine.py +0 -0
  336. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer.py +0 -0
  337. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer_control.py +0 -0
  338. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer_table_point.py +0 -0
  339. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/terminal.py +0 -0
  340. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/thermal_generating_unit.py +0 -0
  341. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tie_flow.py +0 -0
  342. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/topological_island.py +0 -0
  343. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/topological_node.py +0 -0
  344. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/transformer_end.py +0 -0
  345. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/voltage_level.py +0 -0
  346. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/voltage_limit.py +0 -0
  347. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/vs_capability_curve.py +0 -0
  348. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/vs_converter.py +0 -0
  349. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/wind_generating_unit.py +0 -0
  350. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/__init__.py +0 -0
  351. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/__init__.py +0 -0
  352. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ac_line_segment.py +0 -0
  353. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_converter.py +0 -0
  354. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_converterdc_terminal.py +0 -0
  355. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_terminal.py +0 -0
  356. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/active_power_limit.py +0 -0
  357. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/analog_control.py +0 -0
  358. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/apparent_power_limit.py +0 -0
  359. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/asynchronous_machine.py +0 -0
  360. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/auxiliary_equipment.py +0 -0
  361. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/base_voltage.py +0 -0
  362. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/basic_interval_schedule.py +0 -0
  363. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/battery_unit.py +0 -0
  364. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/bay.py +0 -0
  365. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/boundary_point.py +0 -0
  366. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/breaker.py +0 -0
  367. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/bus_name_marker.py +0 -0
  368. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/busbar_section.py +0 -0
  369. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/caes_plant.py +0 -0
  370. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/clamp.py +0 -0
  371. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cogeneration_plant.py +0 -0
  372. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/combined_cycle_plant.py +0 -0
  373. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conducting_equipment.py +0 -0
  374. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conductor.py +0 -0
  375. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conform_load.py +0 -0
  376. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conform_load_group.py +0 -0
  377. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connectivity_node.py +0 -0
  378. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connectivity_node_container.py +0 -0
  379. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connector.py +0 -0
  380. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control.py +0 -0
  381. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control_area.py +0 -0
  382. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control_area_generating_unit.py +0 -0
  383. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/coordinate_system.py +0 -0
  384. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cs_converter.py +0 -0
  385. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/current_limit.py +0 -0
  386. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/current_transformer.py +0 -0
  387. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/curve.py +0 -0
  388. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/curve_data.py +0 -0
  389. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cut.py +0 -0
  390. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_base_terminal.py +0 -0
  391. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_breaker.py +0 -0
  392. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_busbar.py +0 -0
  393. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_chopper.py +0 -0
  394. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_conducting_equipment.py +0 -0
  395. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_converter_unit.py +0 -0
  396. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_disconnector.py +0 -0
  397. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_equipment_container.py +0 -0
  398. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_ground.py +0 -0
  399. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_line.py +0 -0
  400. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_line_segment.py +0 -0
  401. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_node.py +0 -0
  402. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_series_device.py +0 -0
  403. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_shunt.py +0 -0
  404. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_switch.py +0 -0
  405. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_terminal.py +0 -0
  406. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_topological_island.py +0 -0
  407. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_topological_node.py +0 -0
  408. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/disconnecting_circuit_breaker.py +0 -0
  409. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/disconnector.py +0 -0
  410. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/earth_fault_compensator.py +0 -0
  411. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_area.py +0 -0
  412. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_connection.py +0 -0
  413. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_consumer.py +0 -0
  414. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_scheduling_type.py +0 -0
  415. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_source.py +0 -0
  416. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equipment.py +0 -0
  417. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equipment_container.py +0 -0
  418. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_branch.py +0 -0
  419. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_equipment.py +0 -0
  420. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_injection.py +0 -0
  421. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_network.py +0 -0
  422. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_shunt.py +0 -0
  423. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/external_network_injection.py +0 -0
  424. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fault_indicator.py +0 -0
  425. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fossil_fuel.py +0 -0
  426. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fuse.py +0 -0
  427. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/generating_unit.py +0 -0
  428. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/geographical_region.py +0 -0
  429. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ground.py +0 -0
  430. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ground_disconnector.py +0 -0
  431. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/grounding_impedance.py +0 -0
  432. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_generating_unit.py +0 -0
  433. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_power_plant.py +0 -0
  434. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_pump.py +0 -0
  435. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/identified_object.py +0 -0
  436. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/io_point.py +0 -0
  437. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/jumper.py +0 -0
  438. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/junction.py +0 -0
  439. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/limit.py +0 -0
  440. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/limit_set.py +0 -0
  441. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/line.py +0 -0
  442. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/linear_shunt_compensator.py +0 -0
  443. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_area.py +0 -0
  444. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_break_switch.py +0 -0
  445. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_group.py +0 -0
  446. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_response_characteristic.py +0 -0
  447. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/location.py +0 -0
  448. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/measurement.py +0 -0
  449. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/measurement_value.py +0 -0
  450. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/mutual_coupling.py +0 -0
  451. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/non_conform_load.py +0 -0
  452. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/non_conform_load_group.py +0 -0
  453. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nonlinear_shunt_compensator.py +0 -0
  454. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nonlinear_shunt_compensator_point.py +0 -0
  455. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nuclear_generating_unit.py +0 -0
  456. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit.py +0 -0
  457. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit_set.py +0 -0
  458. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit_type.py +0 -0
  459. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/petersen_coil.py +0 -0
  460. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer.py +0 -0
  461. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_asymmetrical.py +0 -0
  462. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_linear.py +0 -0
  463. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_non_linear.py +0 -0
  464. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_symmetrical.py +0 -0
  465. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_table.py +0 -0
  466. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_table_point.py +0 -0
  467. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_tabular.py +0 -0
  468. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/photo_voltaic_unit.py +0 -0
  469. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/position_point.py +0 -0
  470. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/post_line_sensor.py +0 -0
  471. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/potential_transformer.py +0 -0
  472. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_connection.py +0 -0
  473. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_unit.py +0 -0
  474. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_wind_unit.py +0 -0
  475. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_system_resource.py +0 -0
  476. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_transformer.py +0 -0
  477. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_transformer_end.py +0 -0
  478. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/protected_switch.py +0 -0
  479. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer.py +0 -0
  480. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer_table.py +0 -0
  481. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer_table_point.py +0 -0
  482. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/reactive_capability_curve.py +0 -0
  483. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regular_interval_schedule.py +0 -0
  484. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regulating_cond_eq.py +0 -0
  485. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regulating_control.py +0 -0
  486. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/reporting_group.py +0 -0
  487. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/rotating_machine.py +0 -0
  488. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/season_day_type_schedule.py +0 -0
  489. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sensor.py +0 -0
  490. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/series_compensator.py +0 -0
  491. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/service_location.py +0 -0
  492. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/shunt_compensator.py +0 -0
  493. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/solar_generating_unit.py +0 -0
  494. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/solar_power_plant.py +0 -0
  495. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/static_var_compensator.py +0 -0
  496. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sub_geographical_region.py +0 -0
  497. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sub_load_area.py +0 -0
  498. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/substation.py +0 -0
  499. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/surge_arrester.py +0 -0
  500. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_injection.py +0 -0
  501. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_power_flow.py +0 -0
  502. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_shunt_compensator_sections.py +0 -0
  503. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_status.py +0 -0
  504. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_switch.py +0 -0
  505. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_tap_step.py +0 -0
  506. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_voltage.py +0 -0
  507. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/switch.py +0 -0
  508. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/synchronous_machine.py +0 -0
  509. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer.py +0 -0
  510. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer_control.py +0 -0
  511. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer_table_point.py +0 -0
  512. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/terminal.py +0 -0
  513. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/thermal_generating_unit.py +0 -0
  514. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tie_flow.py +0 -0
  515. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/topological_island.py +0 -0
  516. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/topological_node.py +0 -0
  517. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/transformer_end.py +0 -0
  518. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/voltage_level.py +0 -0
  519. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/voltage_limit.py +0 -0
  520. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/vs_capability_curve.py +0 -0
  521. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/vs_converter.py +0 -0
  522. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wave_trap.py +0 -0
  523. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wind_generating_unit.py +0 -0
  524. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wind_power_plant.py +0 -0
  525. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/work_location.py +0 -0
  526. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/cgmes_writer.py +0 -0
  527. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/rdfs_infos.py +0 -0
  528. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cgmes/rdfs_serializations.py +0 -0
  529. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cim16/__init__.py +0 -0
  530. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cim16/cim_circuit.py +0 -0
  531. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cim16/cim_data_parser.py +0 -0
  532. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cim16/cim_devices.py +0 -0
  533. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cim16/cim_enums.py +0 -0
  534. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/cim16/cim_parser.py +0 -0
  535. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/db/__init__.py +0 -0
  536. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/db/base_db.py +0 -0
  537. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/db/cgmes_lookup_db.py +0 -0
  538. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/db/db_handler.py +0 -0
  539. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/db/file_system.py +0 -0
  540. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/cim/db/psse_lookup_db.py +0 -0
  541. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/dgs/__init__.py +0 -0
  542. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/dgs/dgs_parser.py +0 -0
  543. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/epc/__init__.py +0 -0
  544. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/epc/epc_parser.py +0 -0
  545. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/gridcal/__init__.py +0 -0
  546. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/gridcal/catalogue.py +0 -0
  547. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/gridcal/contingency_parser.py +0 -0
  548. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/gridcal/excel_interface.py +0 -0
  549. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/gridcal/generic_io_functions.py +0 -0
  550. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/gridcal/h5_interface.py +0 -0
  551. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/gridcal/json_parser.py +0 -0
  552. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/gridcal/results_export.py +0 -0
  553. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/gridcal/sqlite_interface.py +0 -0
  554. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/gridcal/zip_interface.py +0 -0
  555. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/matpower/__init__.py +0 -0
  556. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/matpower/matpower_branch_definitions.py +0 -0
  557. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/matpower/matpower_bus_definitions.py +0 -0
  558. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/matpower/matpower_gen_definitions.py +0 -0
  559. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/matpower/matpower_parser.py +0 -0
  560. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/matpower/matpower_storage_definitions.py +0 -0
  561. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/others/__init__.py +0 -0
  562. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/others/dpx_parser.py +0 -0
  563. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/others/ipa_parser.py +0 -0
  564. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/others/plx_parser.py +0 -0
  565. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/others/pypsa_parser.py +0 -0
  566. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/__init__.py +0 -0
  567. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/__init__.py +0 -0
  568. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/area.py +0 -0
  569. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/branch.py +0 -0
  570. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/bus.py +0 -0
  571. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/facts.py +0 -0
  572. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/fixed_shunt.py +0 -0
  573. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/generator.py +0 -0
  574. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/gne_device.py +0 -0
  575. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/induction_machine.py +0 -0
  576. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/inter_area.py +0 -0
  577. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/load.py +0 -0
  578. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/node.py +0 -0
  579. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/owner.py +0 -0
  580. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/psse_circuit.py +0 -0
  581. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/psse_object.py +0 -0
  582. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/psse_property.py +0 -0
  583. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/substation.py +0 -0
  584. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/switched_shunt.py +0 -0
  585. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/system_switching_device.py +0 -0
  586. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/transformer.py +0 -0
  587. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/two_terminal_dc_line.py +0 -0
  588. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/devices/zone.py +0 -0
  589. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/raw_functions.py +0 -0
  590. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/IO/raw/rawx_parser_writer.py +0 -0
  591. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ATC/__init__.py +0 -0
  592. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ATC/available_transfer_capacity_options.py +0 -0
  593. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Clustering/__init__.py +0 -0
  594. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Clustering/clustering.py +0 -0
  595. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Clustering/clustering_driver.py +0 -0
  596. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Clustering/clustering_options.py +0 -0
  597. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Clustering/clustering_results.py +0 -0
  598. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/__init__.py +0 -0
  599. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/helm_contingencies.py +0 -0
  600. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/helm_contingency_analysis.py +0 -0
  601. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/srap.py +0 -0
  602. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContingencyAnalysis/__init__.py +0 -0
  603. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContingencyAnalysis/contingencies_report.py +0 -0
  604. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_driver.py +0 -0
  605. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_options.py +0 -0
  606. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_results.py +0 -0
  607. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_driver.py +0 -0
  608. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_results.py +0 -0
  609. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_plan.py +0 -0
  610. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContinuationPowerFlow/__init__.py +0 -0
  611. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow.py +0 -0
  612. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_driver.py +0 -0
  613. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_input.py +0 -0
  614. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_options.py +0 -0
  615. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_results.py +0 -0
  616. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Derivatives/__init__.py +0 -0
  617. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Derivatives/ac_jacobian.py +0 -0
  618. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Derivatives/acdc_jacobian.py +0 -0
  619. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Derivatives/csc_derivatives.py +0 -0
  620. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Derivatives/csr_derivatives.py +0 -0
  621. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Derivatives/matpower_derivatives.py +0 -0
  622. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Dynamics/__init__.py +0 -0
  623. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Dynamics/dynamic_modules.py +0 -0
  624. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Dynamics/transient_stability_driver.py +0 -0
  625. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/InputsAnalysis/__init__.py +0 -0
  626. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/InputsAnalysis/inputs_analysis_driver.py +0 -0
  627. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/NSGA_3.py +0 -0
  628. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/__init__.py +0 -0
  629. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/mixed_variable_NSGA_2.py +0 -0
  630. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/random_eval.py +0 -0
  631. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/stop_crits.py +0 -0
  632. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/InvestmentsEvaluation/__init__.py +0 -0
  633. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_driver.py +0 -0
  634. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_options.py +0 -0
  635. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_results.py +0 -0
  636. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/LinearFactors/__init__.py +0 -0
  637. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/LinearFactors/linear_analysis.py +0 -0
  638. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/LinearFactors/linear_analysis_driver.py +0 -0
  639. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/LinearFactors/linear_analysis_options.py +0 -0
  640. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/LinearFactors/linear_analysis_results.py +0 -0
  641. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_driver.py +0 -0
  642. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_results.py +0 -0
  643. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/NTC/__init__.py +0 -0
  644. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/NodalCapacity/__init__.py +0 -0
  645. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/NodalCapacity/nodal_capacity_options.py +0 -0
  646. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/NodalCapacity/nodal_capacity_ts_results.py +0 -0
  647. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/OPF/NumericalMethods/__init__.py +0 -0
  648. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf.py +0 -0
  649. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf_autodif.py +0 -0
  650. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf_derivatives.py +0 -0
  651. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/OPF/opf_ts_results.py +0 -0
  652. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/OPF/simple_dispatch_ts.py +0 -0
  653. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/__init__.py +0 -0
  654. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/common_functions.py +0 -0
  655. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/discrete_controls.py +0 -0
  656. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/fast_decoupled.py +0 -0
  657. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/gauss_power_flow.py +0 -0
  658. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/helm_power_flow.py +0 -0
  659. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/iwamoto_newton_raphson.py +0 -0
  660. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/levenberg_marquadt_fx.py +0 -0
  661. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/linearized_power_flow.py +0 -0
  662. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_fx.py +0 -0
  663. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/pf_advanced_formulation.py +0 -0
  664. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/pf_basic_formulation.py +0 -0
  665. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/pf_formulation_template.py +0 -0
  666. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/powell_fx.py +0 -0
  667. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/__init__.py +0 -0
  668. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/grid_analysis.py +0 -0
  669. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/power_flow_driver.py +0 -0
  670. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/power_flow_options.py +0 -0
  671. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/power_flow_results.py +0 -0
  672. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_driver.py +0 -0
  673. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_input.py +0 -0
  674. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_results.py +0 -0
  675. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ShortCircuitStudies/__init__.py +0 -0
  676. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit.py +0 -0
  677. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_driver.py +0 -0
  678. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_options.py +0 -0
  679. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_results.py +0 -0
  680. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_worker.py +0 -0
  681. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/SigmaAnalysis/__init__.py +0 -0
  682. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/SigmaAnalysis/sigma_analysis_driver.py +0 -0
  683. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/StateEstimation/__init__.py +0 -0
  684. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/StateEstimation/state_estimation.py +0 -0
  685. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/StateEstimation/state_stimation_driver.py +0 -0
  686. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Stochastic/__init__.py +0 -0
  687. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Stochastic/blackout_driver.py +0 -0
  688. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Stochastic/latin_hypercube_sampling.py +0 -0
  689. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Stochastic/reliability_driver.py +0 -0
  690. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Stochastic/reliability_iterable.py +0 -0
  691. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_driver.py +0 -0
  692. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_input.py +0 -0
  693. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_results.py +0 -0
  694. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Topology/__init__.py +0 -0
  695. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Topology/node_groups_driver.py +0 -0
  696. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Topology/topology_processor_driver.py +0 -0
  697. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/Topology/topology_reduction_driver.py +0 -0
  698. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/__init__.py +0 -0
  699. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/driver_template.py +0 -0
  700. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/driver_types.py +0 -0
  701. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/options_template.py +0 -0
  702. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/results_template.py +0 -0
  703. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Simulations/types.py +0 -0
  704. {GridCalEngine-5.1.49/GridCalEngine/Topology → GridCalEngine-5.1.51/GridCalEngine/ThirdParty/pulp/model}/__init__.py +0 -0
  705. {GridCalEngine-5.1.49/GridCalEngine/Utils/MIP → GridCalEngine-5.1.51/GridCalEngine/Topology}/__init__.py +0 -0
  706. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Topology/admittance_matrices.py +0 -0
  707. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Topology/detect_substations.py +0 -0
  708. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Topology/simulation_indices.py +0 -0
  709. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Topology/topology.py +0 -0
  710. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/Filtering/__init__.py +0 -0
  711. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/Filtering/filtering.py +0 -0
  712. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/Filtering/objects_filtering.py +0 -0
  713. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/Filtering/results_table_filtering.py +0 -0
  714. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/Filtering/timeseries_filtering.py +0 -0
  715. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/MIP/SimpleMip/__init__.py +0 -0
  716. {GridCalEngine-5.1.49/GridCalEngine/Utils/NumericalMethods → GridCalEngine-5.1.51/GridCalEngine/Utils/MIP}/__init__.py +0 -0
  717. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/MVRSM_mo_pareto.py +0 -0
  718. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/MVRSM_mo_scaled.py +0 -0
  719. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/MVRSM_original.py +0 -0
  720. {GridCalEngine-5.1.49/GridCalEngine/Utils/ThirdParty/SyntheticNetworks → GridCalEngine-5.1.51/GridCalEngine/Utils/NumericalMethods}/__init__.py +0 -0
  721. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/autodiff.py +0 -0
  722. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/common.py +0 -0
  723. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/ips.py +0 -0
  724. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/iwamoto.py +0 -0
  725. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/levenberg_marquadt.py +0 -0
  726. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/newton_raphson.py +0 -0
  727. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/newton_raphson_ode.py +0 -0
  728. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/non_dominated_sorting.py +0 -0
  729. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/nsga3.py +0 -0
  730. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/numerical_stability.py +0 -0
  731. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/powell.py +0 -0
  732. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/sparse_solve.py +0 -0
  733. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/NumericalMethods/weldorf_online_stddev.py +0 -0
  734. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/Sparse/__init__.py +0 -0
  735. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/Sparse/csc.py +0 -0
  736. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/Sparse/csc2.py +0 -0
  737. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/Sparse/csc_numba.py +0 -0
  738. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/Sparse/sparse_array.py +0 -0
  739. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/Sparse/utils.py +0 -0
  740. {GridCalEngine-5.1.49/GridCalEngine/Utils/ThirdParty → GridCalEngine-5.1.51/GridCalEngine/Utils/ThirdParty/SyntheticNetworks}/__init__.py +0 -0
  741. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/ThirdParty/SyntheticNetworks/rpgm_algo.py +0 -0
  742. {GridCalEngine-5.1.49/GridCalEngine/Utils → GridCalEngine-5.1.51/GridCalEngine/Utils/ThirdParty}/__init__.py +0 -0
  743. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/progress_bar.py +0 -0
  744. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/scores.py +0 -0
  745. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/Utils/zip_file_mgmt.py +0 -0
  746. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/__init__.py +0 -0
  747. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/basic_structures.py +0 -0
  748. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/GridCalEngine/data_logger.py +0 -0
  749. {GridCalEngine-5.1.49 → GridCalEngine-5.1.51}/setup.cfg +0 -0
@@ -16,6 +16,7 @@
16
16
  # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
  from __future__ import annotations
18
18
  from typing import Dict, Union, TYPE_CHECKING, Tuple
19
+
19
20
  from GridCalEngine.basic_structures import Logger
20
21
  import GridCalEngine.Devices as dev
21
22
  from GridCalEngine.Devices.Substation.bus import Bus
@@ -29,6 +30,17 @@ import GridCalEngine.DataStructures as ds
29
30
 
30
31
  if TYPE_CHECKING: # Only imports the below statements during type checking
31
32
  from GridCalEngine.Simulations.OPF.opf_results import OptimalPowerFlowResults
33
+ from GridCalEngine.Simulations.OPF.opf_ts_results import OptimalPowerFlowTimeSeriesResults
34
+ from GridCalEngine.Simulations.NTC.ntc_results import OptimalNetTransferCapacityResults
35
+ from GridCalEngine.Simulations.NTC.ntc_ts_results import OptimalNetTransferCapacityTimeSeriesResults
36
+ from GridCalEngine.Simulations import OptimalNetTransferCapacityResults
37
+
38
+ VALID_OPF_RESULTS = Union[
39
+ OptimalPowerFlowResults,
40
+ OptimalPowerFlowTimeSeriesResults,
41
+ OptimalNetTransferCapacityResults,
42
+ OptimalNetTransferCapacityTimeSeriesResults
43
+ ]
32
44
 
33
45
 
34
46
  def set_bus_control_voltage(i: int,
@@ -430,7 +442,7 @@ def get_generator_data(
430
442
  bus_voltage_used: BoolVec,
431
443
  logger: Logger,
432
444
  bus_data: ds.BusData,
433
- opf_results: Union[OptimalPowerFlowResults, None] = None,
445
+ opf_results: VALID_OPF_RESULTS | None = None,
434
446
  t_idx=-1,
435
447
  time_series=False,
436
448
  use_stored_guess=False,
@@ -452,8 +464,7 @@ def get_generator_data(
452
464
  """
453
465
  devices = circuit.get_generators()
454
466
 
455
- data = ds.GeneratorData(nelm=len(devices),
456
- nbus=circuit.get_bus_number())
467
+ data = ds.GeneratorData(nelm=len(devices), nbus=circuit.get_bus_number())
457
468
 
458
469
  gen_index_dict: Dict[str, int] = dict()
459
470
  for k, elm in enumerate(devices):
@@ -591,7 +602,7 @@ def get_battery_data(
591
602
  bus_voltage_used: BoolVec,
592
603
  logger: Logger,
593
604
  bus_data: ds.BusData,
594
- opf_results: Union[OptimalPowerFlowResults, None] = None,
605
+ opf_results: VALID_OPF_RESULTS | None = None,
595
606
  t_idx=-1,
596
607
  time_series=False,
597
608
  use_stored_guess=False,
@@ -844,7 +855,7 @@ def fill_controllable_branch(
844
855
  branch_tolerance_mode: BranchImpedanceMode,
845
856
  t_idx: int,
846
857
  time_series: bool,
847
- opf_results: Union[OptimalPowerFlowResults, None],
858
+ opf_results: VALID_OPF_RESULTS | None,
848
859
  use_stored_guess: bool,
849
860
  bus_voltage_used: BoolVec,
850
861
  Sbase: float,
@@ -977,7 +988,7 @@ def get_branch_data(
977
988
  branch_tolerance_mode: BranchImpedanceMode,
978
989
  t_idx: int = -1,
979
990
  time_series: bool = False,
980
- opf_results: Union[OptimalPowerFlowResults, None] = None,
991
+ opf_results: VALID_OPF_RESULTS | None = None,
981
992
  use_stored_guess: bool = False,
982
993
  control_taps_modules: bool = True,
983
994
  control_taps_phase: bool = True,
@@ -1200,7 +1211,7 @@ def get_hvdc_data(circuit: MultiCircuit,
1200
1211
  bus_voltage_used: BoolVec,
1201
1212
  t_idx=-1,
1202
1213
  time_series=False,
1203
- opf_results: Union[OptimalPowerFlowResults, None] = None,
1214
+ opf_results: Union[OptimalPowerFlowResults, OptimalNetTransferCapacityResults, None] = None,
1204
1215
  use_stored_guess: bool = False,
1205
1216
  logger: Logger = Logger()):
1206
1217
  """
@@ -766,10 +766,10 @@ def add_transformer3w_data(circuit: MultiCircuit,
766
766
  V3=elm.V3,
767
767
  r12=elm.r12, r23=elm.r23, r31=elm.r31,
768
768
  x12=elm.x12, x23=elm.x23, x31=elm.x31,
769
- rate12=elm.rate12, rate23=elm.rate23, rate31=elm.rate31,
770
- contingency_rate12=elm.rate12,
771
- contingency_rate23=elm.rate23,
772
- contingency_rate31=elm.rate31, )
769
+ rate12=elm.rate1, rate23=elm.rate2, rate31=elm.rate3,
770
+ contingency_rate12=elm.rate1,
771
+ contingency_rate23=elm.rate2,
772
+ contingency_rate31=elm.rate3, )
773
773
 
774
774
  # this is because the central node is in the buses list already from GridCal
775
775
  tr3.central_node = bus_dict[elm.bus0.idtag]
@@ -1199,11 +1199,9 @@ def get_newton_pa_nonlinear_opf_options(pf_opt: PowerFlowOptions,
1199
1199
  q_control_dict = {False: npa.ReactivePowerControlMode.NoControl,
1200
1200
  True: npa.ReactivePowerControlMode.Direct}
1201
1201
 
1202
- solver_dict = {MIPSolvers.CBC: npa.LpSolvers.Highs,
1203
- MIPSolvers.HIGHS: npa.LpSolvers.Highs,
1202
+ solver_dict = {MIPSolvers.HIGHS: npa.LpSolvers.Highs,
1204
1203
  MIPSolvers.XPRESS: npa.LpSolvers.Xpress,
1205
1204
  MIPSolvers.CPLEX: npa.LpSolvers.CPLEX,
1206
- MIPSolvers.GLOP: npa.LpSolvers.Highs,
1207
1205
  MIPSolvers.SCIP: npa.LpSolvers.Highs,
1208
1206
  MIPSolvers.GUROBI: npa.LpSolvers.Gurobi}
1209
1207
 
@@ -1230,11 +1228,9 @@ def get_newton_pa_linear_opf_options(opf_opt: OptimalPowerFlowOptions,
1230
1228
  :param area_dict:
1231
1229
  :return:
1232
1230
  """
1233
- solver_dict = {MIPSolvers.CBC: npa.LpSolvers.Highs,
1234
- MIPSolvers.HIGHS: npa.LpSolvers.Highs,
1231
+ solver_dict = {MIPSolvers.HIGHS: npa.LpSolvers.Highs,
1235
1232
  MIPSolvers.XPRESS: npa.LpSolvers.Xpress,
1236
1233
  MIPSolvers.CPLEX: npa.LpSolvers.CPLEX,
1237
- MIPSolvers.GLOP: npa.LpSolvers.Highs,
1238
1234
  MIPSolvers.SCIP: npa.LpSolvers.Scip,
1239
1235
  MIPSolvers.GUROBI: npa.LpSolvers.Gurobi}
1240
1236
 
@@ -21,7 +21,7 @@ import GridCalEngine.Topology.topology as tp
21
21
  from GridCalEngine.enumerations import WindingsConnection
22
22
  from GridCalEngine.Utils.Sparse.sparse_array import SparseObjectArray
23
23
  from GridCalEngine.basic_structures import Vec, IntVec, StrVec, ObjVec, CxVec, BoolVec
24
- from typing import List, Tuple, Dict
24
+ from typing import List, Tuple, Dict, Set
25
25
 
26
26
 
27
27
  class BranchData:
@@ -372,19 +372,19 @@ class BranchData:
372
372
  """
373
373
  return np.where(self.contingency_enabled == 1)[0]
374
374
 
375
- def get_inter_areas(self, buses_areas_1, buses_areas_2):
375
+ def get_inter_areas(self, bus_idx_from: IntVec | Set[int], bus_idx_to: IntVec | Set[int]):
376
376
  """
377
377
  Get the Branches that join two areas
378
- :param buses_areas_1: Area from
379
- :param buses_areas_2: Area to
378
+ :param bus_idx_from: Area from
379
+ :param bus_idx_to: Area to
380
380
  :return: List of (branch index, flow sense w.r.t the area exchange)
381
381
  """
382
382
 
383
383
  lst: List[Tuple[int, float]] = list()
384
384
  for k in range(self.nelm):
385
- if self.F[k] in buses_areas_1 and self.T[k] in buses_areas_2:
385
+ if self.F[k] in bus_idx_from and self.T[k] in bus_idx_to:
386
386
  lst.append((k, 1.0))
387
- elif self.F[k] in buses_areas_2 and self.T[k] in buses_areas_1:
387
+ elif self.F[k] in bus_idx_to and self.T[k] in bus_idx_from:
388
388
  lst.append((k, -1.0))
389
389
  return lst
390
390
 
@@ -15,7 +15,7 @@
15
15
  # along with this program; if not, write to the Free Software Foundation,
16
16
  # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
  import numpy as np
18
- from typing import List, Tuple
18
+ from typing import List, Tuple, Set
19
19
  import scipy.sparse as sp
20
20
  import GridCalEngine.Topology.topology as tp
21
21
  from GridCalEngine.enumerations import HvdcControlType
@@ -242,8 +242,25 @@ class HvdcData:
242
242
  :param Sbase: base power
243
243
  :return:
244
244
  """
245
+ # convert MW/deg to pu/rad
246
+ # MW 180 deg 1
247
+ # --- x ------- x ------ = 360 * 180 / pi / 100 = 206.26 aprox
248
+ # deg pi rad 100 MVA
245
249
  return self.angle_droop * 57.295779513 / Sbase
246
250
 
251
+ def get_angle_droop_in_pu_rad_at(self, i: int, Sbase: float):
252
+ """
253
+ Get the angle droop in pu/rad
254
+ :param i: index
255
+ :param Sbase: base power
256
+ :return:
257
+ """
258
+ # convert MW/deg to pu/rad
259
+ # MW 180 deg 1
260
+ # --- x ------- x ------ = 360 * 180 / pi / 100 = 206.26 aprox
261
+ # deg pi rad 100 MVA
262
+ return self.angle_droop[i] * 57.295779513 / Sbase
263
+
247
264
  def get_power(self, Sbase: float, theta: Vec) -> Tuple[Vec, Vec, Vec, Vec, Vec, int]:
248
265
  """
249
266
  Get hvdc power
@@ -310,19 +327,19 @@ class HvdcData:
310
327
  # Shvdc, Losses_hvdc, Pf_hvdc, Pt_hvdc, loading_hvdc, n_free
311
328
  return Pbus, Losses, Pf, Pt, loading, nfree
312
329
 
313
- def get_inter_areas(self, buses_areas_1, buses_areas_2):
330
+ def get_inter_areas(self, bus_idx_from: IntVec | Set[int], bus_idx_to: IntVec | Set[int]):
314
331
  """
315
332
  Get the hvdcs that join two areas
316
- :param buses_areas_1: Area from
317
- :param buses_areas_2: Area to
333
+ :param bus_idx_from: Area from
334
+ :param bus_idx_to: Area to
318
335
  :return: List of (branch index, flow sense w.r.t the area exchange)
319
336
  """
320
337
 
321
338
  lst: List[Tuple[int, float]] = list()
322
339
  for k in range(self.nelm):
323
- if self.F[k] in buses_areas_1 and self.T[k] in buses_areas_2:
340
+ if self.F[k] in bus_idx_from and self.T[k] in bus_idx_to:
324
341
  lst.append((k, 1.0))
325
- elif self.F[k] in buses_areas_2 and self.T[k] in buses_areas_1:
342
+ elif self.F[k] in bus_idx_to and self.T[k] in bus_idx_from:
326
343
  lst.append((k, -1.0))
327
344
  return lst
328
345
 
@@ -20,6 +20,7 @@ import pandas as pd
20
20
  import scipy.sparse as sp
21
21
  from typing import List, Tuple, Dict, Union, TYPE_CHECKING
22
22
 
23
+ from GridCalEngine.Devices import RemedialAction
23
24
  from GridCalEngine.basic_structures import Logger
24
25
  from GridCalEngine.Devices.multi_circuit import MultiCircuit
25
26
  from GridCalEngine.basic_structures import Vec, IntVec, CxVec
@@ -477,68 +478,78 @@ class NumericalCircuit:
477
478
  else:
478
479
  raise Exception('Could not find the idtag, is this a programming bug?')
479
480
 
480
- def set_contingency_status(self, contingencies_list: List[Contingency], revert: bool = False):
481
+ def set_con_or_ra_status(self, event_list: List[Contingency | RemedialAction],
482
+ revert: bool = False):
481
483
  """
482
484
  Set the status of a list of contingencies
483
- :param contingencies_list: list of contingencies
485
+ :param event_list: list of contingencies and or remedial actions
484
486
  :param revert: if false, the contingencies are applied, else they are reversed
485
487
  """
486
488
  # apply the contingencies
487
- for cnt in contingencies_list:
488
-
489
- # search the investment device
490
- structure, idx = self.structs_dict.get(cnt.device_idtag, (None, 0))
491
-
492
- if structure is not None:
493
- if cnt.prop == 'active':
494
- if revert:
495
- structure.active[idx] = int(not bool(cnt.value))
489
+ for cnt in event_list:
490
+
491
+ if isinstance(cnt, (Contingency, RemedialAction)):
492
+
493
+ # search the investment device
494
+ structure, idx = self.structs_dict.get(cnt.device_idtag, (None, 0))
495
+
496
+ if structure is not None:
497
+ if cnt.prop == 'active':
498
+ if revert:
499
+ structure.active[idx] = int(not bool(cnt.value))
500
+ else:
501
+ structure.active[idx] = int(cnt.value)
502
+ elif cnt.prop == '%':
503
+ if revert:
504
+ structure.p[idx] /= float(cnt.value / 100.0)
505
+ else:
506
+ structure.p[idx] *= float(cnt.value / 100.0)
496
507
  else:
497
- structure.active[idx] = int(cnt.value)
498
- elif cnt.prop == '%':
499
- if revert:
500
- structure.p[idx] /= float(cnt.value / 100.0)
501
- else:
502
- structure.p[idx] *= float(cnt.value / 100.0)
508
+ print(f'Unknown contingency property {cnt.prop} at {cnt.name} {cnt.idtag}')
503
509
  else:
504
- print(f'Unknown contingency property {cnt.prop} at {cnt.name} {cnt.idtag}')
510
+ print(f'contingency device not found {cnt.name} {cnt.idtag}')
505
511
  else:
506
- print(f'contingency device not found {cnt.name} {cnt.idtag}')
512
+ raise Exception(f"The object {cnt} is not a Contingency or a remedial action")
507
513
 
508
- def set_linear_contingency_status(self, contingencies_list: List[Contingency], revert: bool = False):
514
+ def set_linear_con_or_ra_status(self, event_list: List[Contingency | RemedialAction],
515
+ revert: bool = False):
509
516
  """
510
517
  Set the status of a list of contingencies
511
- :param contingencies_list: list of contingencies
518
+ :param event_list: list of contingencies and or remedial actions
512
519
  :param revert: if false, the contingencies are applied, else they are reversed
513
520
  """
514
521
  injections = np.zeros(self.nbus)
515
522
  # apply the contingencies
516
- for cnt in contingencies_list:
517
-
518
- # search the investment device
519
- structure, idx = self.structs_dict.get(cnt.device_idtag, (None, 0))
520
-
521
- if structure is not None:
522
- if cnt.prop == 'active':
523
- if revert:
524
- structure.active[idx] = int(not bool(cnt.value))
525
- else:
526
- structure.active[idx] = int(cnt.value)
527
- elif cnt.prop == '%':
528
- # TODO Cambiar el acceso a P por una función (o función que incremente- decremente porcentaje)
529
- assert not isinstance(structure, ds.HvdcData) # TODO Arreglar esto
530
- dev_injections = np.zeros(structure.size())
531
- dev_injections[idx] -= structure.p[idx]
532
- if revert:
533
- structure.p[idx] /= float(cnt.value / 100.0)
523
+ for cnt in event_list:
524
+
525
+ if isinstance(cnt, (Contingency, RemedialAction)):
526
+
527
+ # search the investment device
528
+ structure, idx = self.structs_dict.get(cnt.device_idtag, (None, 0))
529
+
530
+ if structure is not None:
531
+ if cnt.prop == 'active':
532
+ if revert:
533
+ structure.active[idx] = int(not bool(cnt.value))
534
+ else:
535
+ structure.active[idx] = int(cnt.value)
536
+ elif cnt.prop == '%':
537
+ # TODO Cambiar el acceso a P por una función (o función que incremente- decremente porcentaje)
538
+ assert not isinstance(structure, ds.HvdcData) # TODO Arreglar esto
539
+ dev_injections = np.zeros(structure.size())
540
+ dev_injections[idx] -= structure.p[idx]
541
+ if revert:
542
+ structure.p[idx] /= float(cnt.value / 100.0)
543
+ else:
544
+ structure.p[idx] *= float(cnt.value / 100.0)
545
+ dev_injections[idx] += structure.p[idx]
546
+ injections += structure.get_array_per_bus(dev_injections)
534
547
  else:
535
- structure.p[idx] *= float(cnt.value / 100.0)
536
- dev_injections[idx] += structure.p[idx]
537
- injections += structure.get_array_per_bus(dev_injections)
548
+ print(f'Unknown contingency property {cnt.prop} at {cnt.name} {cnt.idtag}')
538
549
  else:
539
- print(f'Unknown contingency property {cnt.prop} at {cnt.name} {cnt.idtag}')
550
+ print(f'contingency device not found {cnt.name} {cnt.idtag}')
540
551
  else:
541
- print(f'contingency device not found {cnt.name} {cnt.idtag}')
552
+ raise Exception(f"The object {cnt} is not a Contingency or a remedial action")
542
553
 
543
554
  return injections
544
555
 
@@ -2018,12 +2029,31 @@ class NumericalCircuit:
2018
2029
  # if any error in the logger, bad
2019
2030
  return logger.error_count() == 0, logger
2020
2031
 
2032
+ def get_structural_ntc(self, bus_a1_idx: IntVec, bus_a2_idx: IntVec) -> float:
2033
+ """
2034
+ Get the structural NTC
2035
+ :param bus_a1_idx: list of buses of the area from
2036
+ :param bus_a2_idx: list of buses of the area to
2037
+ :return: structural NTC in MVA
2038
+ """
2039
+
2040
+ inter_area_branches = self.branch_data.get_inter_areas(bus_idx_from=bus_a1_idx, bus_idx_to=bus_a2_idx)
2041
+ sum_ratings = 0.0
2042
+ for k, sense in inter_area_branches:
2043
+ sum_ratings += self.branch_data.rates[k]
2044
+
2045
+ inter_area_hvdcs = self.hvdc_data.get_inter_areas(bus_idx_from=bus_a1_idx, bus_idx_to=bus_a2_idx)
2046
+ for k, sense in inter_area_hvdcs:
2047
+ sum_ratings += self.hvdc_data.rate[k]
2048
+
2049
+ return sum_ratings
2050
+
2021
2051
 
2022
2052
  def compile_numerical_circuit_at(circuit: MultiCircuit,
2023
2053
  t_idx: Union[int, None] = None,
2024
2054
  apply_temperature=False,
2025
2055
  branch_tolerance_mode=BranchImpedanceMode.Specified,
2026
- opf_results: Union[OptimalPowerFlowResults, None] = None,
2056
+ opf_results: gc_compiler2.VALID_OPF_RESULTS | None = None,
2027
2057
  use_stored_guess=False,
2028
2058
  bus_dict: Union[Dict[Bus, int], None] = None,
2029
2059
  areas_dict: Union[Dict[Area, int], None] = None,
@@ -17,6 +17,8 @@
17
17
 
18
18
  from GridCalEngine.Devices.Aggregation.contingency import Contingency
19
19
  from GridCalEngine.Devices.Aggregation.contingency_group import ContingencyGroup
20
+ from GridCalEngine.Devices.Aggregation.remedial_action import RemedialAction
21
+ from GridCalEngine.Devices.Aggregation.remedial_action_group import RemedialActionGroup
20
22
  from GridCalEngine.Devices.Aggregation.investment import Investment
21
23
  from GridCalEngine.Devices.Aggregation.investments_group import InvestmentsGroup
22
24
  from GridCalEngine.Devices.Aggregation.area import Area
@@ -28,3 +30,4 @@ from GridCalEngine.Devices.Aggregation.municipality import Municipality
28
30
  from GridCalEngine.Devices.Aggregation.branch_group import BranchGroup
29
31
  from GridCalEngine.Devices.Aggregation.modelling_authority import ModellingAuthority
30
32
  from GridCalEngine.Devices.Aggregation.inter_aggregation_info import InterAggregationInfo
33
+ from GridCalEngine.Devices.Aggregation.facility import Facility
@@ -0,0 +1,47 @@
1
+ # GridCal
2
+ # Copyright (C) 2015 - 2024 Santiago Peñate Vera
3
+ #
4
+ # This program is free software; you can redistribute it and/or
5
+ # modify it under the terms of the GNU Lesser General Public
6
+ # License as published by the Free Software Foundation; either
7
+ # version 3 of the License, or (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public License
15
+ # along with this program; if not, write to the Free Software Foundation,
16
+ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
+
18
+
19
+ from typing import Union
20
+ from GridCalEngine.Devices.Parents.editable_device import EditableDevice, DeviceType
21
+
22
+
23
+ class Facility(EditableDevice):
24
+ """
25
+ This is an aggregation of Injection devices
26
+ """
27
+
28
+ def __init__(self, name='', code='', idtag: Union[str, None] = None, latitude=0.0, longitude=0.0):
29
+ """
30
+ Constructor
31
+ :param name: Name
32
+ :param code: Secondary code
33
+ :param idtag: IdTag
34
+ :param latitude: latitude (deg)
35
+ :param longitude: longitude (deg)
36
+ """
37
+ EditableDevice.__init__(self,
38
+ name=name,
39
+ code=code,
40
+ idtag=idtag,
41
+ device_type=DeviceType.FacilityDevice)
42
+
43
+ self.latitude = float(latitude)
44
+ self.longitude = float(longitude)
45
+
46
+ self.register(key='longitude', units='deg', tpe=float, definition='longitude.')
47
+ self.register(key='latitude', units='deg', tpe=float, definition='latitude.')
@@ -0,0 +1,123 @@
1
+ # GridCal
2
+ # Copyright (C) 2015 - 2024 Santiago Peñate Vera
3
+ #
4
+ # This program is free software; you can redistribute it and/or
5
+ # modify it under the terms of the GNU Lesser General Public
6
+ # License as published by the Free Software Foundation; either
7
+ # version 3 of the License, or (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public License
15
+ # along with this program; if not, write to the Free Software Foundation,
16
+ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
+
18
+ from typing import Union
19
+ from GridCalEngine.Devices.Parents.editable_device import EditableDevice, DeviceType
20
+ from GridCalEngine.Devices.Aggregation.remedial_action_group import RemedialActionGroup
21
+
22
+
23
+ class RemedialAction(EditableDevice):
24
+ """
25
+ The RemedialAction object
26
+ """
27
+
28
+ def __init__(self,
29
+ idtag: Union[str, None] = None,
30
+ device_idtag='',
31
+ name="Remedial action",
32
+ code='',
33
+ prop='active',
34
+ value=0.0,
35
+ group: Union[None, RemedialActionGroup] = None):
36
+ """
37
+ RemedialAction
38
+ :param idtag: String. Element unique identifier
39
+ :param name: String. Contingency name
40
+ :param code: String. Contingency code name
41
+ :param prop: String. Property to modify when contingency is triggered out
42
+ :param value: Float. Property value to apply when contingency happens
43
+ :param group: RemedialActionGroup. RemedialAction group
44
+ """
45
+
46
+ EditableDevice.__init__(self,
47
+ idtag=idtag,
48
+ code=code,
49
+ name=name,
50
+ device_type=DeviceType.RemedialActionDevice)
51
+
52
+ # Contingency type
53
+ self.device_idtag = device_idtag
54
+ self._prop = prop
55
+ self._value = value
56
+ self._group: RemedialActionGroup = group
57
+ self._allowed_properties = ['active', '%']
58
+
59
+ self.register(key='device_idtag', units='', tpe=str, definition='Unique ID', editable=False)
60
+ self.register(key='prop', units='', tpe=str, definition='Name of the object property to change (active, %)')
61
+ self.register(key='value', units='', tpe=float, definition='Property value')
62
+ self.register(key='group', units='', tpe=DeviceType.RemedialActionGroupDevice,
63
+ definition='Remedial action group')
64
+
65
+ @property
66
+ def name(self) -> str:
67
+ return self._name
68
+
69
+ @name.setter
70
+ def name(self, val: str):
71
+ self._name = val
72
+
73
+ @property
74
+ def prop(self) -> str:
75
+ """
76
+ Property to modify when contingency is triggered out
77
+ :return:
78
+ """
79
+ return self._prop
80
+
81
+ @prop.setter
82
+ def prop(self, val: str):
83
+ if val in self._allowed_properties:
84
+ self._prop = val
85
+ else:
86
+ print(f"Not allowed property {val}, allowed: " + "".join(self._allowed_properties))
87
+
88
+ @property
89
+ def value(self) -> float:
90
+ """
91
+ Property value to apply when contingency happens
92
+ :return:
93
+ """
94
+ return self._value
95
+
96
+ @value.setter
97
+ def value(self, val: float):
98
+ self._value = val
99
+
100
+ @property
101
+ def group(self) -> RemedialActionGroup:
102
+ """
103
+ Contingency group
104
+ :return:
105
+ """
106
+ return self._group
107
+
108
+ @group.setter
109
+ def group(self, val: RemedialActionGroup):
110
+ self._group = val
111
+
112
+ @property
113
+ def category(self):
114
+ """
115
+
116
+ :return:
117
+ """
118
+ return self.group.category
119
+
120
+ @category.setter
121
+ def category(self, val):
122
+ # self.group.category = val
123
+ pass
@@ -0,0 +1,66 @@
1
+ # GridCal
2
+ # Copyright (C) 2015 - 2024 Santiago Peñate Vera
3
+ #
4
+ # This program is free software; you can redistribute it and/or
5
+ # modify it under the terms of the GNU Lesser General Public
6
+ # License as published by the Free Software Foundation; either
7
+ # version 3 of the License, or (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public License
15
+ # along with this program; if not, write to the Free Software Foundation,
16
+ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
+ from __future__ import annotations
18
+
19
+ from typing import Union
20
+ from GridCalEngine.Devices.Parents.editable_device import EditableDevice, DeviceType
21
+ from GridCalEngine.Devices.Aggregation.contingency_group import ContingencyGroup
22
+
23
+
24
+ class RemedialActionGroup(EditableDevice):
25
+ """
26
+ The RemedialAction group
27
+ """
28
+
29
+ def __init__(self,
30
+ idtag: Union[str, None] = None,
31
+ name="RemedialActionGroup",
32
+ category='',
33
+ conn_group: ContingencyGroup | None = None,):
34
+ """
35
+ RemedialAction group
36
+ :param idtag: Unique identifier
37
+ :param name: contingency group name
38
+ :param category: tag to category the group
39
+ """
40
+
41
+ EditableDevice.__init__(self,
42
+ name=name,
43
+ idtag=idtag,
44
+ code='',
45
+ device_type=DeviceType.RemedialActionGroupDevice)
46
+
47
+ # Contingency type
48
+ self.category = category
49
+
50
+ self._conn_group: ContingencyGroup = conn_group
51
+
52
+ self.register(key='category', units='', tpe=str, definition='Some tag to category the contingency group')
53
+
54
+ self.register(key='conn_group', units='', tpe=DeviceType.ContingencyGroupDevice, definition='Contingency group')
55
+
56
+ @property
57
+ def conn_group(self) -> ContingencyGroup:
58
+ """
59
+ Contingency group
60
+ :return:
61
+ """
62
+ return self._conn_group
63
+
64
+ @conn_group.setter
65
+ def conn_group(self, val: ContingencyGroup):
66
+ self._conn_group = val