GridCal 4.6.6__tar.gz → 4.7.1__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 (863) hide show
  1. GridCal-4.7.1/GridCal/Engine/Core/Compilers/__init__.py +21 -0
  2. GridCal-4.7.1/GridCal/Engine/Core/Compilers/circuit_to_alliander_pgm.py +553 -0
  3. GridCal-4.7.1/GridCal/Engine/Core/Compilers/circuit_to_bentayga.py +739 -0
  4. GridCal-4.7.1/GridCal/Engine/Core/Compilers/circuit_to_data.py +1028 -0
  5. GridCal-4.7.1/GridCal/Engine/Core/Compilers/circuit_to_data2.py +1074 -0
  6. GridCal-4.7.1/GridCal/Engine/Core/Compilers/circuit_to_newton_pa.py +1263 -0
  7. GridCal-4.7.1/GridCal/Engine/Core/DataStructures/__init__.py +29 -0
  8. GridCal-4.7.1/GridCal/Engine/Core/DataStructures/battery_data.py +215 -0
  9. GridCal-4.7.1/GridCal/Engine/Core/DataStructures/branch_data.py +307 -0
  10. GridCal-4.7.1/GridCal/Engine/Core/DataStructures/bus_data.py +78 -0
  11. GridCal-4.7.1/GridCal/Engine/Core/DataStructures/dc_lines_data.py +91 -0
  12. GridCal-4.7.1/GridCal/Engine/Core/DataStructures/generator_data.py +207 -0
  13. GridCal-4.7.1/GridCal/Engine/Core/DataStructures/hvdc_data.py +236 -0
  14. GridCal-4.7.1/GridCal/Engine/Core/DataStructures/lines_data.py +81 -0
  15. GridCal-4.7.1/GridCal/Engine/Core/DataStructures/load_data.py +130 -0
  16. GridCal-4.7.1/GridCal/Engine/Core/DataStructures/shunt_data.py +93 -0
  17. GridCal-4.7.1/GridCal/Engine/Core/DataStructures/static_generator_data.py +73 -0
  18. GridCal-4.7.1/GridCal/Engine/Core/DataStructures/transformer_data.py +107 -0
  19. GridCal-4.7.1/GridCal/Engine/Core/DataStructures/upfc_data.py +100 -0
  20. GridCal-4.7.1/GridCal/Engine/Core/DataStructures/vsc_data.py +106 -0
  21. GridCal-4.7.1/GridCal/Engine/Core/__init__.py +8 -0
  22. GridCal-4.7.1/GridCal/Engine/Core/admittance_matrices.py +360 -0
  23. GridCal-4.7.1/GridCal/Engine/Core/common_functions.py +113 -0
  24. GridCal-4.7.1/GridCal/Engine/Core/multi_circuit.py +2806 -0
  25. GridCal-4.7.1/GridCal/Engine/Core/snapshot_opf_data.py +287 -0
  26. GridCal-4.7.1/GridCal/Engine/Core/snapshot_pf_data.py +1781 -0
  27. GridCal-4.7.1/GridCal/Engine/Core/time_series_opf_data.py +353 -0
  28. GridCal-4.7.1/GridCal/Engine/Core/time_series_pf_data.py +459 -0
  29. GridCal-4.7.1/GridCal/Engine/Core/topology.py +180 -0
  30. GridCal-4.7.1/GridCal/Engine/Devices/__init__.py +45 -0
  31. GridCal-4.7.1/GridCal/Engine/Devices/battery.py +515 -0
  32. GridCal-4.7.1/GridCal/Engine/Devices/branch.py +740 -0
  33. GridCal-4.7.1/GridCal/Engine/Devices/bus.py +912 -0
  34. GridCal-4.7.1/GridCal/Engine/Devices/contingency.py +137 -0
  35. GridCal-4.7.1/GridCal/Engine/Devices/contingency_group.py +83 -0
  36. GridCal-4.7.1/GridCal/Engine/Devices/dc_line.py +464 -0
  37. GridCal-4.7.1/GridCal/Engine/Devices/editable_device.py +253 -0
  38. GridCal-4.7.1/GridCal/Engine/Devices/enumerations.py +322 -0
  39. GridCal-4.7.1/GridCal/Engine/Devices/external_grid.py +245 -0
  40. GridCal-4.7.1/GridCal/Engine/Devices/generator.py +613 -0
  41. GridCal-4.7.1/GridCal/Engine/Devices/groupings.py +143 -0
  42. GridCal-4.7.1/GridCal/Engine/Devices/hvdc_line.py +737 -0
  43. GridCal-4.7.1/GridCal/Engine/Devices/investment.py +115 -0
  44. GridCal-4.7.1/GridCal/Engine/Devices/investments_group.py +82 -0
  45. GridCal-4.7.1/GridCal/Engine/Devices/line.py +736 -0
  46. GridCal-4.7.1/GridCal/Engine/Devices/load.py +267 -0
  47. GridCal-4.7.1/GridCal/Engine/Devices/measurement.py +42 -0
  48. GridCal-4.7.1/GridCal/Engine/Devices/shunt.py +231 -0
  49. GridCal-4.7.1/GridCal/Engine/Devices/static_generator.py +191 -0
  50. GridCal-4.7.1/GridCal/Engine/Devices/switch.py +216 -0
  51. GridCal-4.7.1/GridCal/Engine/Devices/technology.py +73 -0
  52. GridCal-4.7.1/GridCal/Engine/Devices/templates.py +124 -0
  53. GridCal-4.7.1/GridCal/Engine/Devices/tower.py +608 -0
  54. GridCal-4.7.1/GridCal/Engine/Devices/transformer.py +1161 -0
  55. GridCal-4.7.1/GridCal/Engine/Devices/transformer3w.py +75 -0
  56. GridCal-4.7.1/GridCal/Engine/Devices/underground_line.py +105 -0
  57. GridCal-4.7.1/GridCal/Engine/Devices/upfc.py +317 -0
  58. GridCal-4.7.1/GridCal/Engine/Devices/vsc.py +479 -0
  59. GridCal-4.7.1/GridCal/Engine/Devices/wire.py +61 -0
  60. GridCal-4.7.1/GridCal/Engine/IO/__init__.py +10 -0
  61. GridCal-4.7.1/GridCal/Engine/IO/cim/cim_circuit.py +293 -0
  62. GridCal-4.7.1/GridCal/Engine/IO/cim/cim_devices.py +1530 -0
  63. GridCal-4.7.1/GridCal/Engine/IO/cim/cim_enums.py +31 -0
  64. GridCal-4.7.1/GridCal/Engine/IO/cim/cim_parser.py +1021 -0
  65. GridCal-4.7.1/GridCal/Engine/IO/contingency_parser.py +94 -0
  66. GridCal-4.7.1/GridCal/Engine/IO/dgs_parser.py +1172 -0
  67. GridCal-4.7.1/GridCal/Engine/IO/dpx_parser.py +830 -0
  68. GridCal-4.7.1/GridCal/Engine/IO/excel_interface.py +1158 -0
  69. GridCal-4.7.1/GridCal/Engine/IO/file_handler.py +392 -0
  70. GridCal-4.7.1/GridCal/Engine/IO/file_system.py +20 -0
  71. GridCal-4.7.1/GridCal/Engine/IO/generic_io_functions.py +38 -0
  72. GridCal-4.7.1/GridCal/Engine/IO/h5_interface.py +102 -0
  73. GridCal-4.7.1/GridCal/Engine/IO/ipa_parser.py +160 -0
  74. GridCal-4.7.1/GridCal/Engine/IO/json_parser.py +1311 -0
  75. GridCal-4.7.1/GridCal/Engine/IO/matpower/matpower_branch_definitions.py +204 -0
  76. GridCal-4.7.1/GridCal/Engine/IO/matpower/matpower_bus_definitions.py +235 -0
  77. GridCal-4.7.1/GridCal/Engine/IO/matpower/matpower_gen_definitions.py +196 -0
  78. GridCal-4.7.1/GridCal/Engine/IO/matpower/matpower_parser.py +573 -0
  79. GridCal-4.7.1/GridCal/Engine/IO/matpower/matpower_storage_definitions.py +60 -0
  80. GridCal-4.7.1/GridCal/Engine/IO/pack_unpack.py +579 -0
  81. GridCal-4.7.1/GridCal/Engine/IO/plexos.py +966 -0
  82. GridCal-4.7.1/GridCal/Engine/IO/power_world_parser.py +594 -0
  83. GridCal-4.7.1/GridCal/Engine/IO/pypsa_parser.py +311 -0
  84. GridCal-4.7.1/GridCal/Engine/IO/raw_parser.py +2491 -0
  85. GridCal-4.7.1/GridCal/Engine/IO/rawx_parser.py +1305 -0
  86. GridCal-4.7.1/GridCal/Engine/IO/sqlite_interface.py +102 -0
  87. GridCal-4.7.1/GridCal/Engine/IO/zip_interface.py +376 -0
  88. GridCal-4.7.1/GridCal/Engine/Simulations/ATC/__init__.py +18 -0
  89. GridCal-4.7.1/GridCal/Engine/Simulations/ATC/available_transfer_capacity_driver.py +673 -0
  90. GridCal-4.7.1/GridCal/Engine/Simulations/ATC/available_transfer_capacity_ts_driver.py +395 -0
  91. GridCal-4.7.1/GridCal/Engine/Simulations/Clustering/__init__.py +1 -0
  92. GridCal-4.7.1/GridCal/Engine/Simulations/Clustering/clustering.py +120 -0
  93. GridCal-4.7.1/GridCal/Engine/Simulations/ContingencyAnalysis/__init__.py +4 -0
  94. GridCal-4.7.1/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_driver.py +293 -0
  95. GridCal-4.7.1/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_results.py +143 -0
  96. GridCal-4.7.1/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_ts_driver.py +219 -0
  97. GridCal-4.7.1/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_ts_results.py +149 -0
  98. GridCal-4.7.1/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_plan.py +166 -0
  99. GridCal-4.7.1/GridCal/Engine/Simulations/ContinuationPowerFlow/__init__.py +18 -0
  100. GridCal-4.7.1/GridCal/Engine/Simulations/ContinuationPowerFlow/continuation_power_flow.py +819 -0
  101. GridCal-4.7.1/GridCal/Engine/Simulations/ContinuationPowerFlow/continuation_power_flow_driver.py +416 -0
  102. GridCal-4.7.1/GridCal/Engine/Simulations/Dynamics/dynamic_modules.py +1466 -0
  103. GridCal-4.7.1/GridCal/Engine/Simulations/Dynamics/transient_stability_driver.py +106 -0
  104. GridCal-4.7.1/GridCal/Engine/Simulations/InputsAnalysis/__init__.py +2 -0
  105. GridCal-4.7.1/GridCal/Engine/Simulations/InputsAnalysis/inputs_analysis_driver.py +415 -0
  106. GridCal-4.7.1/GridCal/Engine/Simulations/LinearFactors/__init__.py +20 -0
  107. GridCal-4.7.1/GridCal/Engine/Simulations/LinearFactors/linear_analysis.py +454 -0
  108. GridCal-4.7.1/GridCal/Engine/Simulations/LinearFactors/linear_analysis_driver.py +271 -0
  109. GridCal-4.7.1/GridCal/Engine/Simulations/LinearFactors/linear_analysis_ts_driver.py +260 -0
  110. GridCal-4.7.1/GridCal/Engine/Simulations/NTC/__init__.py +8 -0
  111. GridCal-4.7.1/GridCal/Engine/Simulations/NTC/ntc_driver.py +477 -0
  112. GridCal-4.7.1/GridCal/Engine/Simulations/NTC/ntc_opf.py +3156 -0
  113. GridCal-4.7.1/GridCal/Engine/Simulations/NTC/ntc_options.py +126 -0
  114. GridCal-4.7.1/GridCal/Engine/Simulations/NTC/ntc_results.py +1272 -0
  115. GridCal-4.7.1/GridCal/Engine/Simulations/NTC/ntc_ts_driver.py +477 -0
  116. GridCal-4.7.1/GridCal/Engine/Simulations/NTC/ntc_ts_results.py +611 -0
  117. GridCal-4.7.1/GridCal/Engine/Simulations/NonLinearFactors/__init__.py +20 -0
  118. GridCal-4.7.1/GridCal/Engine/Simulations/NonLinearFactors/nonlinear_analysis.py +524 -0
  119. GridCal-4.7.1/GridCal/Engine/Simulations/NonLinearFactors/nonlinear_analysis_driver.py +257 -0
  120. GridCal-4.7.1/GridCal/Engine/Simulations/NonLinearFactors/nonlinear_analysis_ts_driver.py +260 -0
  121. GridCal-4.7.1/GridCal/Engine/Simulations/OPF/__init__.py +12 -0
  122. GridCal-4.7.1/GridCal/Engine/Simulations/OPF/ac_opf.py +369 -0
  123. GridCal-4.7.1/GridCal/Engine/Simulations/OPF/ac_opf_ts.py +455 -0
  124. GridCal-4.7.1/GridCal/Engine/Simulations/OPF/dc_opf.py +632 -0
  125. GridCal-4.7.1/GridCal/Engine/Simulations/OPF/dc_opf_ts.py +776 -0
  126. GridCal-4.7.1/GridCal/Engine/Simulations/OPF/opf_driver.py +168 -0
  127. GridCal-4.7.1/GridCal/Engine/Simulations/OPF/opf_options.py +116 -0
  128. GridCal-4.7.1/GridCal/Engine/Simulations/OPF/opf_results.py +303 -0
  129. GridCal-4.7.1/GridCal/Engine/Simulations/OPF/opf_templates.py +521 -0
  130. GridCal-4.7.1/GridCal/Engine/Simulations/OPF/opf_ts_driver.py +332 -0
  131. GridCal-4.7.1/GridCal/Engine/Simulations/OPF/opf_ts_results.py +318 -0
  132. GridCal-4.7.1/GridCal/Engine/Simulations/OPF/simple_dispatch.py +220 -0
  133. GridCal-4.7.1/GridCal/Engine/Simulations/OPF/simple_dispatch_ts.py +247 -0
  134. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/__init__.py +28 -0
  135. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/ac_jacobian.py +528 -0
  136. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/acdc_jacobian.py +787 -0
  137. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/common_functions.py +294 -0
  138. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/derivatives.py +949 -0
  139. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/discrete_controls.py +598 -0
  140. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/fast_decoupled.py +120 -0
  141. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/gauss_power_flow.py +114 -0
  142. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/helm_power_flow.py +743 -0
  143. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/iwamoto_newton_raphson.py +212 -0
  144. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt.py +230 -0
  145. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt_acdc.py +304 -0
  146. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/linearized_power_flow.py +178 -0
  147. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson.py +217 -0
  148. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_acdc.py +378 -0
  149. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_current.py +188 -0
  150. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_decoupled.py +196 -0
  151. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_ode.py +188 -0
  152. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/__init__.py +24 -0
  153. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/power_flow_driver.py +141 -0
  154. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/power_flow_options.py +142 -0
  155. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/power_flow_results.py +628 -0
  156. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/power_flow_worker.py +769 -0
  157. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/time_Series_input.py +166 -0
  158. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/time_series_clustring_driver.py +100 -0
  159. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/time_series_driver.py +401 -0
  160. GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/time_series_results.py +481 -0
  161. GridCal-4.7.1/GridCal/Engine/Simulations/ShortCircuitStudies/__init__.py +19 -0
  162. GridCal-4.7.1/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit.py +99 -0
  163. GridCal-4.7.1/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit_driver.py +347 -0
  164. GridCal-4.7.1/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit_results.py +485 -0
  165. GridCal-4.7.1/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit_worker.py +340 -0
  166. GridCal-4.7.1/GridCal/Engine/Simulations/SigmaAnalysis/__init__.py +2 -0
  167. GridCal-4.7.1/GridCal/Engine/Simulations/SigmaAnalysis/sigma_analysis_driver.py +427 -0
  168. GridCal-4.7.1/GridCal/Engine/Simulations/StateEstimation/__init__.py +3 -0
  169. GridCal-4.7.1/GridCal/Engine/Simulations/StateEstimation/state_estimation.py +452 -0
  170. GridCal-4.7.1/GridCal/Engine/Simulations/StateEstimation/state_stimation_driver.py +279 -0
  171. GridCal-4.7.1/GridCal/Engine/Simulations/Stochastic/__init__.py +19 -0
  172. GridCal-4.7.1/GridCal/Engine/Simulations/Stochastic/blackout_driver.py +335 -0
  173. GridCal-4.7.1/GridCal/Engine/Simulations/Stochastic/latin_hypercube_sampling.py +251 -0
  174. GridCal-4.7.1/GridCal/Engine/Simulations/Stochastic/reliability_driver.py +217 -0
  175. GridCal-4.7.1/GridCal/Engine/Simulations/Stochastic/stochastic_power_flow_driver.py +416 -0
  176. GridCal-4.7.1/GridCal/Engine/Simulations/Stochastic/stochastic_power_flow_input.py +112 -0
  177. GridCal-4.7.1/GridCal/Engine/Simulations/Stochastic/stochastic_power_flow_results.py +382 -0
  178. GridCal-4.7.1/GridCal/Engine/Simulations/Topology/__init__.py +18 -0
  179. GridCal-4.7.1/GridCal/Engine/Simulations/Topology/topology_driver.py +511 -0
  180. GridCal-4.7.1/GridCal/Engine/Simulations/__init__.py +33 -0
  181. GridCal-4.7.1/GridCal/Engine/Simulations/driver_template.py +101 -0
  182. GridCal-4.7.1/GridCal/Engine/Simulations/driver_types.py +63 -0
  183. GridCal-4.7.1/GridCal/Engine/Simulations/result_types.py +221 -0
  184. GridCal-4.7.1/GridCal/Engine/Simulations/results_table.py +390 -0
  185. GridCal-4.7.1/GridCal/Engine/Simulations/results_template.py +99 -0
  186. GridCal-4.7.1/GridCal/Engine/Simulations/sparse_solve.py +217 -0
  187. GridCal-4.7.1/GridCal/Engine/Sparse/__init__.py +18 -0
  188. GridCal-4.7.1/GridCal/Engine/Sparse/csc.py +486 -0
  189. GridCal-4.7.1/GridCal/Engine/Sparse/csc_numba.py +1070 -0
  190. GridCal-4.7.1/GridCal/Engine/Sparse/utils.py +74 -0
  191. GridCal-4.7.1/GridCal/Engine/__init__.py +26 -0
  192. GridCal-4.7.1/GridCal/Engine/basic_structures.py +1056 -0
  193. GridCal-4.7.1/GridCal/Engine/grid_analysis.py +107 -0
  194. GridCal-4.7.1/GridCal/ExecuteGridCal.py +60 -0
  195. GridCal-4.7.1/GridCal/Gui/AboutDialogue/about_dialogue.py +118 -0
  196. GridCal-4.7.1/GridCal/Gui/AboutDialogue/gui.py +142 -0
  197. GridCal-4.7.1/GridCal/Gui/AboutDialogue/icons_rc.py +328 -0
  198. GridCal-4.7.1/GridCal/Gui/AboutDialogue/matplotlibwidget.py +244 -0
  199. GridCal-4.7.1/GridCal/Gui/AboutDialogue/update_gui_file.py +9 -0
  200. GridCal-4.7.1/GridCal/Gui/Analysis/AnalysisDialogue.py +123 -0
  201. GridCal-4.7.1/GridCal/Gui/Analysis/gui.py +57 -0
  202. GridCal-4.7.1/GridCal/Gui/Analysis/matplotlibwidget.py +244 -0
  203. GridCal-4.7.1/GridCal/Gui/Analysis/object_plot_analysis.py +731 -0
  204. GridCal-4.7.1/GridCal/Gui/Analysis/update_gui_file.py +9 -0
  205. GridCal-4.7.1/GridCal/Gui/BusViewer/bus_viewer_dialogue.py +223 -0
  206. GridCal-4.7.1/GridCal/Gui/BusViewer/gui.py +132 -0
  207. GridCal-4.7.1/GridCal/Gui/BusViewer/icons_rc.py +846 -0
  208. GridCal-4.7.1/GridCal/Gui/BusViewer/update_gui_file.py +9 -0
  209. GridCal-4.7.1/GridCal/Gui/ConsoleWidget.py +69 -0
  210. GridCal-4.7.1/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +110 -0
  211. GridCal-4.7.1/GridCal/Gui/ContingencyPlanner/gui.py +218 -0
  212. GridCal-4.7.1/GridCal/Gui/ContingencyPlanner/icons_rc.py +418 -0
  213. GridCal-4.7.1/GridCal/Gui/ContingencyPlanner/update_gui_file.py +9 -0
  214. GridCal-4.7.1/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +408 -0
  215. GridCal-4.7.1/GridCal/Gui/CoordinatesInput/gui.py +214 -0
  216. GridCal-4.7.1/GridCal/Gui/CoordinatesInput/icons_rc.py +1588 -0
  217. GridCal-4.7.1/GridCal/Gui/CoordinatesInput/matplotlibwidget.py +244 -0
  218. GridCal-4.7.1/GridCal/Gui/CoordinatesInput/update_gui_file.py +9 -0
  219. GridCal-4.7.1/GridCal/Gui/GIS/gis_dialogue.py +120 -0
  220. GridCal-4.7.1/GridCal/Gui/GIS/gui.py +70 -0
  221. GridCal-4.7.1/GridCal/Gui/GIS/icons_rc.py +31991 -0
  222. GridCal-4.7.1/GridCal/Gui/GIS/update_gui_file.py +9 -0
  223. GridCal-4.7.1/GridCal/Gui/GeneralDialogues.py +486 -0
  224. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/__init__.py +17 -0
  225. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/battery_graphics.py +199 -0
  226. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/bus_graphics.py +679 -0
  227. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/dc_line_graphics.py +594 -0
  228. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/editor.py +1434 -0
  229. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/generator_graphics.py +264 -0
  230. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/generic_graphics.py +114 -0
  231. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/hvdc_graphics.py +470 -0
  232. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/line_graphics.py +827 -0
  233. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/load_graphics.py +190 -0
  234. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/matplotlibwidget.py +244 -0
  235. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/messages.py +75 -0
  236. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/shunt_graphics.py +217 -0
  237. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/static_generator_graphics.py +197 -0
  238. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/terminal_item.py +181 -0
  239. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/transformer2w_graphics.py +853 -0
  240. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/transformer3w_graphics.py +210 -0
  241. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/upfc_graphics.py +626 -0
  242. GridCal-4.7.1/GridCal/Gui/GridEditorWidget/vsc_graphics.py +620 -0
  243. GridCal-4.7.1/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +184 -0
  244. GridCal-4.7.1/GridCal/Gui/GridGenerator/gui.py +329 -0
  245. GridCal-4.7.1/GridCal/Gui/GridGenerator/icons_rc.py +422 -0
  246. GridCal-4.7.1/GridCal/Gui/GridGenerator/matplotlibwidget.py +244 -0
  247. GridCal-4.7.1/GridCal/Gui/GridGenerator/update_gui_file.py +9 -0
  248. GridCal-4.7.1/GridCal/Gui/GuiFunctions.py +1423 -0
  249. GridCal-4.7.1/GridCal/Gui/LoadDesigner/gui.py +269 -0
  250. GridCal-4.7.1/GridCal/Gui/LoadDesigner/icons_rc.py +1520 -0
  251. GridCal-4.7.1/GridCal/Gui/LoadDesigner/load_designer.py +146 -0
  252. GridCal-4.7.1/GridCal/Gui/LoadDesigner/matplotlibwidget.py +244 -0
  253. GridCal-4.7.1/GridCal/Gui/LoadDesigner/update_gui_file.py +9 -0
  254. GridCal-4.7.1/GridCal/Gui/Main/ConsoleLog.py +106 -0
  255. GridCal-4.7.1/GridCal/Gui/Main/ConsoleLogController.py +46 -0
  256. GridCal-4.7.1/GridCal/Gui/Main/GridCalMain.py +7395 -0
  257. GridCal-4.7.1/GridCal/Gui/Main/MainWindow (SE).py +2899 -0
  258. GridCal-4.7.1/GridCal/Gui/Main/MainWindow.py +5040 -0
  259. GridCal-4.7.1/GridCal/Gui/Main/banner.py +443 -0
  260. GridCal-4.7.1/GridCal/Gui/Main/icons_rc.py +23168 -0
  261. GridCal-4.7.1/GridCal/Gui/Main/matplotlibwidget.py +244 -0
  262. GridCal-4.7.1/GridCal/Gui/Main/object_select_window.py +68 -0
  263. GridCal-4.7.1/GridCal/Gui/Main/update_gui_file.py +20 -0
  264. GridCal-4.7.1/GridCal/Gui/ProfilesInput/excel_dialog.py +41 -0
  265. GridCal-4.7.1/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +49 -0
  266. GridCal-4.7.1/GridCal/Gui/ProfilesInput/icons_rc.py +1901 -0
  267. GridCal-4.7.1/GridCal/Gui/ProfilesInput/matplotlibwidget.py +244 -0
  268. GridCal-4.7.1/GridCal/Gui/ProfilesInput/models_dialogue.py +285 -0
  269. GridCal-4.7.1/GridCal/Gui/ProfilesInput/profile_dialogue.py +687 -0
  270. GridCal-4.7.1/GridCal/Gui/ProfilesInput/profiles_from_data.py +10 -0
  271. GridCal-4.7.1/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +346 -0
  272. GridCal-4.7.1/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +119 -0
  273. GridCal-4.7.1/GridCal/Gui/ProfilesInput/update_gui_file.py +9 -0
  274. GridCal-4.7.1/GridCal/Gui/Session/export_results_driver.py +114 -0
  275. GridCal-4.7.1/GridCal/Gui/Session/file_handler.py +197 -0
  276. GridCal-4.7.1/GridCal/Gui/Session/results_model.py +290 -0
  277. GridCal-4.7.1/GridCal/Gui/Session/session.py +376 -0
  278. GridCal-4.7.1/GridCal/Gui/Session/synchronization_driver.py +423 -0
  279. GridCal-4.7.1/GridCal/Gui/SigmaAnalysis/gui.py +98 -0
  280. GridCal-4.7.1/GridCal/Gui/SigmaAnalysis/icons_rc.py +1715 -0
  281. GridCal-4.7.1/GridCal/Gui/SigmaAnalysis/matplotlibwidget.py +244 -0
  282. GridCal-4.7.1/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +111 -0
  283. GridCal-4.7.1/GridCal/Gui/SigmaAnalysis/update_gui_file.py +9 -0
  284. GridCal-4.7.1/GridCal/Gui/SyncDialogue/gui.py +102 -0
  285. GridCal-4.7.1/GridCal/Gui/SyncDialogue/icons_rc.py +709 -0
  286. GridCal-4.7.1/GridCal/Gui/SyncDialogue/sync_dialogue.py +118 -0
  287. GridCal-4.7.1/GridCal/Gui/SyncDialogue/update_gui_file.py +9 -0
  288. GridCal-4.7.1/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +289 -0
  289. GridCal-4.7.1/GridCal/Gui/TowerBuilder/gui.py +361 -0
  290. GridCal-4.7.1/GridCal/Gui/TowerBuilder/icons_rc.py +927 -0
  291. GridCal-4.7.1/GridCal/Gui/TowerBuilder/matplotlibwidget.py +244 -0
  292. GridCal-4.7.1/GridCal/Gui/TowerBuilder/table_models.py +378 -0
  293. GridCal-4.7.1/GridCal/Gui/TowerBuilder/test_.py +162 -0
  294. GridCal-4.7.1/GridCal/Gui/TowerBuilder/update_gui_file.py +9 -0
  295. GridCal-4.7.1/GridCal/Gui/Visualization/palettes.py +464 -0
  296. GridCal-4.7.1/GridCal/Gui/Visualization/visualization.py +614 -0
  297. {GridCal-4.6.6/GridCal/ThirdParty/SyntheticNetworks → GridCal-4.7.1/GridCal/Gui}/__init__.py +0 -0
  298. GridCal-4.7.1/GridCal/Gui/plot_config.py +45 -0
  299. {GridCal-4.6.6/GridCal/ThirdParty → GridCal-4.7.1/GridCal/Gui/pySlipQt}/__init__.py +0 -0
  300. GridCal-4.7.1/GridCal/Gui/pySlipQt/blue_marble.py +99 -0
  301. GridCal-4.7.1/GridCal/Gui/pySlipQt/cartodb.py +102 -0
  302. GridCal-4.7.1/GridCal/Gui/pySlipQt/gmt_local.py +180 -0
  303. GridCal-4.7.1/GridCal/Gui/pySlipQt/log.py +211 -0
  304. GridCal-4.7.1/GridCal/Gui/pySlipQt/mapquest.py +100 -0
  305. GridCal-4.7.1/GridCal/Gui/pySlipQt/modest_maps.py +98 -0
  306. GridCal-4.7.1/GridCal/Gui/pySlipQt/open_street_map.py +105 -0
  307. GridCal-4.7.1/GridCal/Gui/pySlipQt/pySlipQt.py +3687 -0
  308. GridCal-4.7.1/GridCal/Gui/pySlipQt/pycacheback.py +103 -0
  309. GridCal-4.7.1/GridCal/Gui/pySlipQt/stamen_toner.py +99 -0
  310. GridCal-4.7.1/GridCal/Gui/pySlipQt/stamen_transport.py +102 -0
  311. GridCal-4.7.1/GridCal/Gui/pySlipQt/stamen_watercolor.py +101 -0
  312. GridCal-4.7.1/GridCal/Gui/pySlipQt/sys_tile_data.py +438 -0
  313. GridCal-4.7.1/GridCal/Gui/pySlipQt/tiles.py +272 -0
  314. GridCal-4.7.1/GridCal/Gui/pySlipQt/tiles_net.py +427 -0
  315. GridCal-4.7.1/GridCal/Gui/themes.py +55 -0
  316. GridCal-4.7.1/GridCal/Gui/update_gui_all.py +28 -0
  317. GridCal-4.7.1/GridCal/Gui/update_gui_common.py +102 -0
  318. GridCal-4.7.1/GridCal/LICENSE.txt +222 -0
  319. GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/README.md +71 -0
  320. {GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir → GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks}/__init__.py +0 -0
  321. GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/__pycache__/__init__.cpython-310.pyc +0 -0
  322. GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/__pycache__/__init__.cpython-38.pyc +0 -0
  323. GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/__pycache__/rpgm_algo.cpython-310.pyc +0 -0
  324. GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/__pycache__/rpgm_algo.cpython-38.pyc +0 -0
  325. GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/rpgm_algo.py +474 -0
  326. {GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/cbc → GridCal-4.7.1/GridCal/ThirdParty}/__init__.py +0 -0
  327. GridCal-4.7.1/GridCal/ThirdParty/__pycache__/__init__.cpython-310.pyc +0 -0
  328. GridCal-4.7.1/GridCal/ThirdParty/__pycache__/__init__.cpython-38.pyc +0 -0
  329. GridCal-4.7.1/GridCal/ThirdParty/pulp/LICENSE.txt +21 -0
  330. GridCal-4.7.1/GridCal/ThirdParty/pulp/__init__.py +40 -0
  331. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/__init__.cpython-310.pyc +0 -0
  332. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/__init__.cpython-38.pyc +0 -0
  333. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/amply.cpython-310.pyc +0 -0
  334. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/amply.cpython-38.pyc +0 -0
  335. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/constants.cpython-310.pyc +0 -0
  336. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/constants.cpython-38.pyc +0 -0
  337. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/mps_lp.cpython-310.pyc +0 -0
  338. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/mps_lp.cpython-38.pyc +0 -0
  339. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/pulp.cpython-310.pyc +0 -0
  340. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/pulp.cpython-38.pyc +0 -0
  341. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/pulp_extra.cpython-310.pyc +0 -0
  342. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/pulp_extra.cpython-38.pyc +0 -0
  343. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/solvers.cpython-310.pyc +0 -0
  344. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/solvers.cpython-38.pyc +0 -0
  345. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/sparse.cpython-310.pyc +0 -0
  346. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/sparse.cpython-38.pyc +0 -0
  347. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/tests.cpython-310.pyc +0 -0
  348. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/tests.cpython-38.pyc +0 -0
  349. GridCal-4.7.1/GridCal/ThirdParty/pulp/amply.py +782 -0
  350. GridCal-4.7.1/GridCal/ThirdParty/pulp/constants.py +104 -0
  351. GridCal-4.7.1/GridCal/ThirdParty/pulp/mps_lp.py +391 -0
  352. GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp.cfg.buildout +15 -0
  353. GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp.cfg.linux +19 -0
  354. GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp.cfg.osx +19 -0
  355. GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp.cfg.win +18 -0
  356. GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp.py +2431 -0
  357. GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp_extra.py +300 -0
  358. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__init__.py +34 -0
  359. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/__init__.cpython-310.pyc +0 -0
  360. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/__init__.cpython-38.pyc +0 -0
  361. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/coin.cpython-310.pyc +0 -0
  362. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/coin.cpython-38.pyc +0 -0
  363. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/cplex.cpython-310.pyc +0 -0
  364. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/cplex.cpython-38.pyc +0 -0
  365. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/glpk.cpython-310.pyc +0 -0
  366. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/glpk.cpython-38.pyc +0 -0
  367. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/gurobi.cpython-310.pyc +0 -0
  368. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/gurobi.cpython-38.pyc +0 -0
  369. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/highs.cpython-310.pyc +0 -0
  370. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/highs.cpython-38.pyc +0 -0
  371. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/scip.cpython-310.pyc +0 -0
  372. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/scip.cpython-38.pyc +0 -0
  373. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/xpress.cpython-310.pyc +0 -0
  374. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/xpress.cpython-38.pyc +0 -0
  375. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/yaposib.cpython-310.pyc +0 -0
  376. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/yaposib.cpython-38.pyc +0 -0
  377. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/coin.py +512 -0
  378. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/cplex.py +840 -0
  379. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/glpk.py +377 -0
  380. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/gridcal_solver.py +36 -0
  381. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/gurobi.py +366 -0
  382. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/highs.py +258 -0
  383. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/scip.py +149 -0
  384. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/xpress.py +159 -0
  385. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/yaposib.py +230 -0
  386. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/CoinMP.dll +0 -0
  387. {GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/cbc/linux/32 → GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir}/__init__.py +0 -0
  388. {GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/cbc/linux/64 → GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc}/__init__.py +0 -0
  389. {GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/cbc/linux → GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/linux/32}/__init__.py +0 -0
  390. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/linux/32/cbc +0 -0
  391. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/linux/32/coin-license.txt +239 -0
  392. {GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/cbc/osx → GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/linux}/64/__init__.py +0 -0
  393. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/linux/64/cbc +0 -0
  394. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/linux/64/coin-license.txt +239 -0
  395. {GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/cbc/osx → GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/linux}/__init__.py +0 -0
  396. {GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/cbc/win/32 → GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/osx/64}/__init__.py +0 -0
  397. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/osx/64/cbc +0 -0
  398. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/osx/64/coin-license.txt +239 -0
  399. {GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/cbc/win/64 → GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/osx}/__init__.py +0 -0
  400. {GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/cbc/win → GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/win/32}/__init__.py +0 -0
  401. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/win/32/coin-license.txt +239 -0
  402. {GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/highs → GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/win/64}/__init__.py +0 -0
  403. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/win/64/coin-license.txt +239 -0
  404. {GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/highs/win/64 → GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/win}/__init__.py +0 -0
  405. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/coinMP/win/32/CoinMP.dll +0 -0
  406. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/coinMP/win/64/CoinMP.dll +0 -0
  407. {GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/highs/win → GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs}/__init__.py +0 -0
  408. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/highs-license.txt +24 -0
  409. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/linux/64/__init__.py +40 -0
  410. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/linux/64/libbasiclu.so +0 -0
  411. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/linux/64/libhighs.so.1.1.1 +0 -0
  412. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/linux/64/libipx.so +0 -0
  413. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/linux/__init__.py +40 -0
  414. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/osx/64/__init__.py +40 -0
  415. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/osx/__init__.py +40 -0
  416. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/basiclu.dll +0 -0
  417. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/highs.dll +0 -0
  418. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/ipx.dll +0 -0
  419. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/libhighs.dll +0 -0
  420. GridCal-4.7.1/GridCal/ThirdParty/pulp/solvers.py +455 -0
  421. GridCal-4.7.1/GridCal/ThirdParty/pulp/sparse.py +117 -0
  422. GridCal-4.7.1/GridCal/ThirdParty/pulp/tests.py +619 -0
  423. GridCal-4.7.1/GridCal/__init__.py +0 -0
  424. GridCal-4.7.1/GridCal/__version__.py +40 -0
  425. GridCal-4.7.1/GridCal/data/__init__.py +0 -0
  426. GridCal-4.7.1/GridCal/data/cables.csv +462 -0
  427. GridCal-4.7.1/GridCal/data/transformers.csv +756 -0
  428. GridCal-4.7.1/GridCal/data/wires.csv +100 -0
  429. GridCal-4.7.1/GridCal/update.py +80 -0
  430. GridCal-4.7.1/GridCal.egg-info/PKG-INFO +17 -0
  431. GridCal-4.7.1/GridCal.egg-info/SOURCES.txt +461 -0
  432. GridCal-4.7.1/MANIFEST.in +9 -0
  433. GridCal-4.7.1/PKG-INFO +17 -0
  434. GridCal-4.7.1/README.md +18 -0
  435. GridCal-4.7.1/setup.cfg +4 -0
  436. GridCal-4.7.1/setup.py +281 -0
  437. GridCal-4.6.6/GridCal/Engine/Core/Compilers/__init__.py +0 -21
  438. GridCal-4.6.6/GridCal/Engine/Core/Compilers/circuit_to_alliander_pgm.py +0 -553
  439. GridCal-4.6.6/GridCal/Engine/Core/Compilers/circuit_to_bentayga.py +0 -739
  440. GridCal-4.6.6/GridCal/Engine/Core/Compilers/circuit_to_data.py +0 -1022
  441. GridCal-4.6.6/GridCal/Engine/Core/Compilers/circuit_to_data2.py +0 -1031
  442. GridCal-4.6.6/GridCal/Engine/Core/Compilers/circuit_to_newton.py +0 -347
  443. GridCal-4.6.6/GridCal/Engine/Core/Compilers/circuit_to_newton_pa.py +0 -961
  444. GridCal-4.6.6/GridCal/Engine/Core/DataStructures/__init__.py +0 -29
  445. GridCal-4.6.6/GridCal/Engine/Core/DataStructures/battery_data.py +0 -215
  446. GridCal-4.6.6/GridCal/Engine/Core/DataStructures/branch_data.py +0 -307
  447. GridCal-4.6.6/GridCal/Engine/Core/DataStructures/bus_data.py +0 -78
  448. GridCal-4.6.6/GridCal/Engine/Core/DataStructures/dc_lines_data.py +0 -91
  449. GridCal-4.6.6/GridCal/Engine/Core/DataStructures/generator_data.py +0 -207
  450. GridCal-4.6.6/GridCal/Engine/Core/DataStructures/hvdc_data.py +0 -159
  451. GridCal-4.6.6/GridCal/Engine/Core/DataStructures/lines_data.py +0 -81
  452. GridCal-4.6.6/GridCal/Engine/Core/DataStructures/load_data.py +0 -130
  453. GridCal-4.6.6/GridCal/Engine/Core/DataStructures/shunt_data.py +0 -93
  454. GridCal-4.6.6/GridCal/Engine/Core/DataStructures/static_generator_data.py +0 -73
  455. GridCal-4.6.6/GridCal/Engine/Core/DataStructures/transformer_data.py +0 -107
  456. GridCal-4.6.6/GridCal/Engine/Core/DataStructures/upfc_data.py +0 -100
  457. GridCal-4.6.6/GridCal/Engine/Core/DataStructures/vsc_data.py +0 -106
  458. GridCal-4.6.6/GridCal/Engine/Core/__init__.py +0 -8
  459. GridCal-4.6.6/GridCal/Engine/Core/admittance_matrices.py +0 -360
  460. GridCal-4.6.6/GridCal/Engine/Core/common_functions.py +0 -113
  461. GridCal-4.6.6/GridCal/Engine/Core/multi_circuit.py +0 -2593
  462. GridCal-4.6.6/GridCal/Engine/Core/snapshot_opf_data.py +0 -287
  463. GridCal-4.6.6/GridCal/Engine/Core/snapshot_pf_data.py +0 -1779
  464. GridCal-4.6.6/GridCal/Engine/Core/time_series_opf_data.py +0 -353
  465. GridCal-4.6.6/GridCal/Engine/Core/time_series_pf_data.py +0 -459
  466. GridCal-4.6.6/GridCal/Engine/Core/topology.py +0 -180
  467. GridCal-4.6.6/GridCal/Engine/Devices/__init__.py +0 -40
  468. GridCal-4.6.6/GridCal/Engine/Devices/battery.py +0 -501
  469. GridCal-4.6.6/GridCal/Engine/Devices/branch.py +0 -740
  470. GridCal-4.6.6/GridCal/Engine/Devices/bus.py +0 -912
  471. GridCal-4.6.6/GridCal/Engine/Devices/dc_line.py +0 -458
  472. GridCal-4.6.6/GridCal/Engine/Devices/editable_device.py +0 -253
  473. GridCal-4.6.6/GridCal/Engine/Devices/enumerations.py +0 -316
  474. GridCal-4.6.6/GridCal/Engine/Devices/external_grid.py +0 -245
  475. GridCal-4.6.6/GridCal/Engine/Devices/generator.py +0 -583
  476. GridCal-4.6.6/GridCal/Engine/Devices/groupings.py +0 -143
  477. GridCal-4.6.6/GridCal/Engine/Devices/hvdc_line.py +0 -731
  478. GridCal-4.6.6/GridCal/Engine/Devices/line.py +0 -730
  479. GridCal-4.6.6/GridCal/Engine/Devices/load.py +0 -267
  480. GridCal-4.6.6/GridCal/Engine/Devices/measurement.py +0 -42
  481. GridCal-4.6.6/GridCal/Engine/Devices/shunt.py +0 -231
  482. GridCal-4.6.6/GridCal/Engine/Devices/static_generator.py +0 -191
  483. GridCal-4.6.6/GridCal/Engine/Devices/switch.py +0 -216
  484. GridCal-4.6.6/GridCal/Engine/Devices/technology.py +0 -148
  485. GridCal-4.6.6/GridCal/Engine/Devices/templates.py +0 -124
  486. GridCal-4.6.6/GridCal/Engine/Devices/tower.py +0 -608
  487. GridCal-4.6.6/GridCal/Engine/Devices/transformer.py +0 -1155
  488. GridCal-4.6.6/GridCal/Engine/Devices/transformer3w.py +0 -75
  489. GridCal-4.6.6/GridCal/Engine/Devices/underground_line.py +0 -105
  490. GridCal-4.6.6/GridCal/Engine/Devices/upfc.py +0 -311
  491. GridCal-4.6.6/GridCal/Engine/Devices/vsc.py +0 -473
  492. GridCal-4.6.6/GridCal/Engine/Devices/wire.py +0 -61
  493. GridCal-4.6.6/GridCal/Engine/IO/__init__.py +0 -10
  494. GridCal-4.6.6/GridCal/Engine/IO/cim/cim_circuit.py +0 -335
  495. GridCal-4.6.6/GridCal/Engine/IO/cim/cim_devices.py +0 -1400
  496. GridCal-4.6.6/GridCal/Engine/IO/cim/cim_parser.py +0 -1021
  497. GridCal-4.6.6/GridCal/Engine/IO/dgs_parser.py +0 -1172
  498. GridCal-4.6.6/GridCal/Engine/IO/dpx_parser.py +0 -830
  499. GridCal-4.6.6/GridCal/Engine/IO/excel_interface.py +0 -1158
  500. GridCal-4.6.6/GridCal/Engine/IO/file_handler.py +0 -366
  501. GridCal-4.6.6/GridCal/Engine/IO/file_system.py +0 -20
  502. GridCal-4.6.6/GridCal/Engine/IO/generic_io_functions.py +0 -38
  503. GridCal-4.6.6/GridCal/Engine/IO/h5_interface.py +0 -102
  504. GridCal-4.6.6/GridCal/Engine/IO/ipa_parser.py +0 -160
  505. GridCal-4.6.6/GridCal/Engine/IO/json_parser.py +0 -1297
  506. GridCal-4.6.6/GridCal/Engine/IO/matpower/matpower_branch_definitions.py +0 -204
  507. GridCal-4.6.6/GridCal/Engine/IO/matpower/matpower_bus_definitions.py +0 -235
  508. GridCal-4.6.6/GridCal/Engine/IO/matpower/matpower_gen_definitions.py +0 -196
  509. GridCal-4.6.6/GridCal/Engine/IO/matpower/matpower_parser.py +0 -573
  510. GridCal-4.6.6/GridCal/Engine/IO/matpower/matpower_storage_definitions.py +0 -60
  511. GridCal-4.6.6/GridCal/Engine/IO/pack_unpack.py +0 -537
  512. GridCal-4.6.6/GridCal/Engine/IO/plexos.py +0 -966
  513. GridCal-4.6.6/GridCal/Engine/IO/power_world_parser.py +0 -594
  514. GridCal-4.6.6/GridCal/Engine/IO/pypsa_parser.py +0 -311
  515. GridCal-4.6.6/GridCal/Engine/IO/raw_parser.py +0 -2491
  516. GridCal-4.6.6/GridCal/Engine/IO/rawx_parser.py +0 -1305
  517. GridCal-4.6.6/GridCal/Engine/IO/sqlite_interface.py +0 -102
  518. GridCal-4.6.6/GridCal/Engine/IO/zip_interface.py +0 -376
  519. GridCal-4.6.6/GridCal/Engine/Simulations/ATC/__init__.py +0 -18
  520. GridCal-4.6.6/GridCal/Engine/Simulations/ATC/available_transfer_capacity_driver.py +0 -676
  521. GridCal-4.6.6/GridCal/Engine/Simulations/ATC/available_transfer_capacity_ts_driver.py +0 -396
  522. GridCal-4.6.6/GridCal/Engine/Simulations/Clustering/__init__.py +0 -1
  523. GridCal-4.6.6/GridCal/Engine/Simulations/Clustering/clustering.py +0 -120
  524. GridCal-4.6.6/GridCal/Engine/Simulations/ContingencyAnalysis/__init__.py +0 -4
  525. GridCal-4.6.6/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_driver.py +0 -271
  526. GridCal-4.6.6/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_results.py +0 -145
  527. GridCal-4.6.6/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_ts_driver.py +0 -235
  528. GridCal-4.6.6/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_ts_results.py +0 -142
  529. GridCal-4.6.6/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_plan.py +0 -222
  530. GridCal-4.6.6/GridCal/Engine/Simulations/ContinuationPowerFlow/__init__.py +0 -18
  531. GridCal-4.6.6/GridCal/Engine/Simulations/ContinuationPowerFlow/continuation_power_flow.py +0 -819
  532. GridCal-4.6.6/GridCal/Engine/Simulations/ContinuationPowerFlow/continuation_power_flow_driver.py +0 -416
  533. GridCal-4.6.6/GridCal/Engine/Simulations/Dynamics/dynamic_modules.py +0 -1466
  534. GridCal-4.6.6/GridCal/Engine/Simulations/Dynamics/transient_stability_driver.py +0 -106
  535. GridCal-4.6.6/GridCal/Engine/Simulations/InputsAnalysis/__init__.py +0 -2
  536. GridCal-4.6.6/GridCal/Engine/Simulations/InputsAnalysis/inputs_analysis_driver.py +0 -415
  537. GridCal-4.6.6/GridCal/Engine/Simulations/LinearFactors/__init__.py +0 -20
  538. GridCal-4.6.6/GridCal/Engine/Simulations/LinearFactors/linear_analysis.py +0 -439
  539. GridCal-4.6.6/GridCal/Engine/Simulations/LinearFactors/linear_analysis_driver.py +0 -275
  540. GridCal-4.6.6/GridCal/Engine/Simulations/LinearFactors/linear_analysis_ts_driver.py +0 -260
  541. GridCal-4.6.6/GridCal/Engine/Simulations/NonLinearFactors/__init__.py +0 -20
  542. GridCal-4.6.6/GridCal/Engine/Simulations/NonLinearFactors/nonlinear_analysis.py +0 -524
  543. GridCal-4.6.6/GridCal/Engine/Simulations/NonLinearFactors/nonlinear_analysis_driver.py +0 -257
  544. GridCal-4.6.6/GridCal/Engine/Simulations/NonLinearFactors/nonlinear_analysis_ts_driver.py +0 -260
  545. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/__init__.py +0 -13
  546. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/ac_opf.py +0 -369
  547. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/ac_opf_ts.py +0 -455
  548. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/dc_opf.py +0 -632
  549. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/dc_opf_ts.py +0 -776
  550. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/ntc_opf.py +0 -2922
  551. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/opf_driver.py +0 -164
  552. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/opf_ntc_driver.py +0 -1311
  553. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/opf_ntc_ts_driver.py +0 -830
  554. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/opf_options.py +0 -107
  555. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/opf_results.py +0 -296
  556. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/opf_templates.py +0 -521
  557. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/opf_ts_driver.py +0 -248
  558. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/opf_ts_results.py +0 -316
  559. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/simple_dispatch.py +0 -220
  560. GridCal-4.6.6/GridCal/Engine/Simulations/OPF/simple_dispatch_ts.py +0 -247
  561. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/__init__.py +0 -28
  562. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/ac_jacobian.py +0 -528
  563. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/acdc_jacobian.py +0 -787
  564. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/common_functions.py +0 -294
  565. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/derivatives.py +0 -949
  566. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/discrete_controls.py +0 -598
  567. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/fast_decoupled.py +0 -120
  568. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/gauss_power_flow.py +0 -114
  569. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/helm_power_flow.py +0 -743
  570. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/iwamoto_newton_raphson.py +0 -212
  571. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt.py +0 -230
  572. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt_acdc.py +0 -304
  573. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/linearized_power_flow.py +0 -178
  574. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson.py +0 -217
  575. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_acdc.py +0 -378
  576. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_current.py +0 -188
  577. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_decoupled.py +0 -196
  578. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_ode.py +0 -188
  579. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/__init__.py +0 -24
  580. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/power_flow_driver.py +0 -170
  581. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/power_flow_options.py +0 -139
  582. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/power_flow_results.py +0 -644
  583. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/power_flow_worker.py +0 -772
  584. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/time_Series_input.py +0 -166
  585. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/time_series_clustring_driver.py +0 -100
  586. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/time_series_driver.py +0 -402
  587. GridCal-4.6.6/GridCal/Engine/Simulations/PowerFlow/time_series_results.py +0 -481
  588. GridCal-4.6.6/GridCal/Engine/Simulations/ShortCircuitStudies/__init__.py +0 -19
  589. GridCal-4.6.6/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit.py +0 -99
  590. GridCal-4.6.6/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit_driver.py +0 -347
  591. GridCal-4.6.6/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit_results.py +0 -485
  592. GridCal-4.6.6/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit_worker.py +0 -340
  593. GridCal-4.6.6/GridCal/Engine/Simulations/SigmaAnalysis/__init__.py +0 -2
  594. GridCal-4.6.6/GridCal/Engine/Simulations/SigmaAnalysis/sigma_analysis_driver.py +0 -427
  595. GridCal-4.6.6/GridCal/Engine/Simulations/StateEstimation/__init__.py +0 -3
  596. GridCal-4.6.6/GridCal/Engine/Simulations/StateEstimation/state_estimation.py +0 -452
  597. GridCal-4.6.6/GridCal/Engine/Simulations/StateEstimation/state_stimation_driver.py +0 -279
  598. GridCal-4.6.6/GridCal/Engine/Simulations/Stochastic/__init__.py +0 -19
  599. GridCal-4.6.6/GridCal/Engine/Simulations/Stochastic/blackout_driver.py +0 -335
  600. GridCal-4.6.6/GridCal/Engine/Simulations/Stochastic/latin_hypercube_sampling.py +0 -251
  601. GridCal-4.6.6/GridCal/Engine/Simulations/Stochastic/reliability_driver.py +0 -217
  602. GridCal-4.6.6/GridCal/Engine/Simulations/Stochastic/stochastic_power_flow_driver.py +0 -416
  603. GridCal-4.6.6/GridCal/Engine/Simulations/Stochastic/stochastic_power_flow_input.py +0 -112
  604. GridCal-4.6.6/GridCal/Engine/Simulations/Stochastic/stochastic_power_flow_results.py +0 -382
  605. GridCal-4.6.6/GridCal/Engine/Simulations/Topology/__init__.py +0 -18
  606. GridCal-4.6.6/GridCal/Engine/Simulations/Topology/topology_driver.py +0 -511
  607. GridCal-4.6.6/GridCal/Engine/Simulations/__init__.py +0 -32
  608. GridCal-4.6.6/GridCal/Engine/Simulations/driver_template.py +0 -101
  609. GridCal-4.6.6/GridCal/Engine/Simulations/driver_types.py +0 -63
  610. GridCal-4.6.6/GridCal/Engine/Simulations/result_types.py +0 -214
  611. GridCal-4.6.6/GridCal/Engine/Simulations/results_table.py +0 -390
  612. GridCal-4.6.6/GridCal/Engine/Simulations/results_template.py +0 -99
  613. GridCal-4.6.6/GridCal/Engine/Simulations/sparse_solve.py +0 -217
  614. GridCal-4.6.6/GridCal/Engine/Sparse/__init__.py +0 -18
  615. GridCal-4.6.6/GridCal/Engine/Sparse/csc.py +0 -486
  616. GridCal-4.6.6/GridCal/Engine/Sparse/csc_numba.py +0 -1070
  617. GridCal-4.6.6/GridCal/Engine/Sparse/utils.py +0 -74
  618. GridCal-4.6.6/GridCal/Engine/__init__.py +0 -26
  619. GridCal-4.6.6/GridCal/Engine/basic_structures.py +0 -1057
  620. GridCal-4.6.6/GridCal/Engine/grid_analysis.py +0 -107
  621. GridCal-4.6.6/GridCal/ExecuteGridCal.py +0 -60
  622. GridCal-4.6.6/GridCal/Gui/AboutDialogue/about_dialogue.py +0 -118
  623. GridCal-4.6.6/GridCal/Gui/AboutDialogue/gui.py +0 -142
  624. GridCal-4.6.6/GridCal/Gui/AboutDialogue/icons_rc.py +0 -328
  625. GridCal-4.6.6/GridCal/Gui/AboutDialogue/matplotlibwidget.py +0 -244
  626. GridCal-4.6.6/GridCal/Gui/AboutDialogue/update_gui_file.py +0 -9
  627. GridCal-4.6.6/GridCal/Gui/Analysis/AnalysisDialogue.py +0 -123
  628. GridCal-4.6.6/GridCal/Gui/Analysis/gui.py +0 -57
  629. GridCal-4.6.6/GridCal/Gui/Analysis/matplotlibwidget.py +0 -244
  630. GridCal-4.6.6/GridCal/Gui/Analysis/object_plot_analysis.py +0 -703
  631. GridCal-4.6.6/GridCal/Gui/Analysis/update_gui_file.py +0 -9
  632. GridCal-4.6.6/GridCal/Gui/BusViewer/bus_viewer_dialogue.py +0 -223
  633. GridCal-4.6.6/GridCal/Gui/BusViewer/gui.py +0 -132
  634. GridCal-4.6.6/GridCal/Gui/BusViewer/icons_rc.py +0 -846
  635. GridCal-4.6.6/GridCal/Gui/BusViewer/update_gui_file.py +0 -9
  636. GridCal-4.6.6/GridCal/Gui/ConsoleWidget.py +0 -69
  637. GridCal-4.6.6/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +0 -408
  638. GridCal-4.6.6/GridCal/Gui/CoordinatesInput/gui.py +0 -214
  639. GridCal-4.6.6/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -1588
  640. GridCal-4.6.6/GridCal/Gui/CoordinatesInput/matplotlibwidget.py +0 -244
  641. GridCal-4.6.6/GridCal/Gui/CoordinatesInput/update_gui_file.py +0 -9
  642. GridCal-4.6.6/GridCal/Gui/GIS/gis_dialogue.py +0 -118
  643. GridCal-4.6.6/GridCal/Gui/GIS/gui.py +0 -70
  644. GridCal-4.6.6/GridCal/Gui/GIS/icons_rc.py +0 -31983
  645. GridCal-4.6.6/GridCal/Gui/GIS/update_gui_file.py +0 -9
  646. GridCal-4.6.6/GridCal/Gui/GeneralDialogues.py +0 -486
  647. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/__init__.py +0 -17
  648. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/battery_graphics.py +0 -197
  649. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/bus_graphics.py +0 -679
  650. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/dc_line_graphics.py +0 -594
  651. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/editor.py +0 -1434
  652. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/generator_graphics.py +0 -260
  653. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/generic_graphics.py +0 -114
  654. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/hvdc_graphics.py +0 -470
  655. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/line_graphics.py +0 -827
  656. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/load_graphics.py +0 -190
  657. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/matplotlibwidget.py +0 -244
  658. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/messages.py +0 -75
  659. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/shunt_graphics.py +0 -217
  660. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/static_generator_graphics.py +0 -197
  661. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/terminal_item.py +0 -181
  662. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/transformer2w_graphics.py +0 -853
  663. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/transformer3w_graphics.py +0 -210
  664. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/upfc_graphics.py +0 -626
  665. GridCal-4.6.6/GridCal/Gui/GridEditorWidget/vsc_graphics.py +0 -620
  666. GridCal-4.6.6/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +0 -184
  667. GridCal-4.6.6/GridCal/Gui/GridGenerator/gui.py +0 -329
  668. GridCal-4.6.6/GridCal/Gui/GridGenerator/icons_rc.py +0 -422
  669. GridCal-4.6.6/GridCal/Gui/GridGenerator/matplotlibwidget.py +0 -244
  670. GridCal-4.6.6/GridCal/Gui/GridGenerator/update_gui_file.py +0 -9
  671. GridCal-4.6.6/GridCal/Gui/GuiFunctions.py +0 -1414
  672. GridCal-4.6.6/GridCal/Gui/LoadDesigner/gui.py +0 -269
  673. GridCal-4.6.6/GridCal/Gui/LoadDesigner/icons_rc.py +0 -1520
  674. GridCal-4.6.6/GridCal/Gui/LoadDesigner/load_designer.py +0 -146
  675. GridCal-4.6.6/GridCal/Gui/LoadDesigner/matplotlibwidget.py +0 -244
  676. GridCal-4.6.6/GridCal/Gui/LoadDesigner/update_gui_file.py +0 -9
  677. GridCal-4.6.6/GridCal/Gui/Main/ConsoleLog.py +0 -106
  678. GridCal-4.6.6/GridCal/Gui/Main/ConsoleLogController.py +0 -46
  679. GridCal-4.6.6/GridCal/Gui/Main/GridCalMain.py +0 -7247
  680. GridCal-4.6.6/GridCal/Gui/Main/MainWindow (SE).py +0 -2899
  681. GridCal-4.6.6/GridCal/Gui/Main/MainWindow.py +0 -4991
  682. GridCal-4.6.6/GridCal/Gui/Main/banner.py +0 -443
  683. GridCal-4.6.6/GridCal/Gui/Main/contingency_planner_model.py +0 -48
  684. GridCal-4.6.6/GridCal/Gui/Main/grid_paint_driver.py +0 -19
  685. GridCal-4.6.6/GridCal/Gui/Main/icons_rc.py +0 -22471
  686. GridCal-4.6.6/GridCal/Gui/Main/matplotlibwidget.py +0 -244
  687. GridCal-4.6.6/GridCal/Gui/Main/object_select_window.py +0 -68
  688. GridCal-4.6.6/GridCal/Gui/Main/update_gui_file.py +0 -20
  689. GridCal-4.6.6/GridCal/Gui/ProfilesInput/excel_dialog.py +0 -41
  690. GridCal-4.6.6/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +0 -49
  691. GridCal-4.6.6/GridCal/Gui/ProfilesInput/icons_rc.py +0 -1901
  692. GridCal-4.6.6/GridCal/Gui/ProfilesInput/matplotlibwidget.py +0 -244
  693. GridCal-4.6.6/GridCal/Gui/ProfilesInput/models_dialogue.py +0 -285
  694. GridCal-4.6.6/GridCal/Gui/ProfilesInput/profile_dialogue.py +0 -687
  695. GridCal-4.6.6/GridCal/Gui/ProfilesInput/profiles_from_data.py +0 -10
  696. GridCal-4.6.6/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +0 -346
  697. GridCal-4.6.6/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +0 -119
  698. GridCal-4.6.6/GridCal/Gui/ProfilesInput/update_gui_file.py +0 -9
  699. GridCal-4.6.6/GridCal/Gui/Session/export_results_driver.py +0 -114
  700. GridCal-4.6.6/GridCal/Gui/Session/file_handler.py +0 -197
  701. GridCal-4.6.6/GridCal/Gui/Session/results_model.py +0 -290
  702. GridCal-4.6.6/GridCal/Gui/Session/session.py +0 -376
  703. GridCal-4.6.6/GridCal/Gui/Session/synchronization_driver.py +0 -423
  704. GridCal-4.6.6/GridCal/Gui/SigmaAnalysis/gui.py +0 -98
  705. GridCal-4.6.6/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -1715
  706. GridCal-4.6.6/GridCal/Gui/SigmaAnalysis/matplotlibwidget.py +0 -244
  707. GridCal-4.6.6/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -111
  708. GridCal-4.6.6/GridCal/Gui/SigmaAnalysis/update_gui_file.py +0 -9
  709. GridCal-4.6.6/GridCal/Gui/SyncDialogue/gui.py +0 -102
  710. GridCal-4.6.6/GridCal/Gui/SyncDialogue/icons_rc.py +0 -709
  711. GridCal-4.6.6/GridCal/Gui/SyncDialogue/sync_dialogue.py +0 -118
  712. GridCal-4.6.6/GridCal/Gui/SyncDialogue/update_gui_file.py +0 -9
  713. GridCal-4.6.6/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +0 -289
  714. GridCal-4.6.6/GridCal/Gui/TowerBuilder/gui.py +0 -361
  715. GridCal-4.6.6/GridCal/Gui/TowerBuilder/icons_rc.py +0 -927
  716. GridCal-4.6.6/GridCal/Gui/TowerBuilder/matplotlibwidget.py +0 -244
  717. GridCal-4.6.6/GridCal/Gui/TowerBuilder/table_models.py +0 -378
  718. GridCal-4.6.6/GridCal/Gui/TowerBuilder/test_.py +0 -162
  719. GridCal-4.6.6/GridCal/Gui/TowerBuilder/update_gui_file.py +0 -9
  720. GridCal-4.6.6/GridCal/Gui/Visualization/visualization.py +0 -562
  721. GridCal-4.6.6/GridCal/Gui/plot_config.py +0 -45
  722. GridCal-4.6.6/GridCal/Gui/themes.py +0 -55
  723. GridCal-4.6.6/GridCal/Gui/update_gui_all.py +0 -28
  724. GridCal-4.6.6/GridCal/Gui/update_gui_common.py +0 -102
  725. GridCal-4.6.6/GridCal/LICENSE.txt +0 -222
  726. GridCal-4.6.6/GridCal/ThirdParty/SyntheticNetworks/README.md +0 -71
  727. GridCal-4.6.6/GridCal/ThirdParty/SyntheticNetworks/__pycache__/__init__.cpython-310.pyc +0 -0
  728. GridCal-4.6.6/GridCal/ThirdParty/SyntheticNetworks/__pycache__/__init__.cpython-38.pyc +0 -0
  729. GridCal-4.6.6/GridCal/ThirdParty/SyntheticNetworks/__pycache__/__init__.cpython-39.pyc +0 -0
  730. GridCal-4.6.6/GridCal/ThirdParty/SyntheticNetworks/__pycache__/rpgm_algo.cpython-310.pyc +0 -0
  731. GridCal-4.6.6/GridCal/ThirdParty/SyntheticNetworks/__pycache__/rpgm_algo.cpython-38.pyc +0 -0
  732. GridCal-4.6.6/GridCal/ThirdParty/SyntheticNetworks/__pycache__/rpgm_algo.cpython-39.pyc +0 -0
  733. GridCal-4.6.6/GridCal/ThirdParty/SyntheticNetworks/rpgm_algo.py +0 -474
  734. GridCal-4.6.6/GridCal/ThirdParty/__pycache__/__init__.cpython-310.pyc +0 -0
  735. GridCal-4.6.6/GridCal/ThirdParty/__pycache__/__init__.cpython-38.pyc +0 -0
  736. GridCal-4.6.6/GridCal/ThirdParty/__pycache__/__init__.cpython-39.pyc +0 -0
  737. GridCal-4.6.6/GridCal/ThirdParty/pulp/LICENSE.txt +0 -21
  738. GridCal-4.6.6/GridCal/ThirdParty/pulp/__init__.py +0 -40
  739. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/__init__.cpython-310.pyc +0 -0
  740. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/__init__.cpython-38.pyc +0 -0
  741. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/__init__.cpython-39.pyc +0 -0
  742. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/amply.cpython-310.pyc +0 -0
  743. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/amply.cpython-38.pyc +0 -0
  744. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/amply.cpython-39.pyc +0 -0
  745. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/constants.cpython-310.pyc +0 -0
  746. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/constants.cpython-38.pyc +0 -0
  747. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/constants.cpython-39.pyc +0 -0
  748. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/mps_lp.cpython-310.pyc +0 -0
  749. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/mps_lp.cpython-38.pyc +0 -0
  750. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/mps_lp.cpython-39.pyc +0 -0
  751. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/pulp.cpython-310.pyc +0 -0
  752. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/pulp.cpython-38.pyc +0 -0
  753. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/pulp.cpython-39.pyc +0 -0
  754. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/pulp_extra.cpython-310.pyc +0 -0
  755. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/pulp_extra.cpython-38.pyc +0 -0
  756. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/pulp_extra.cpython-39.pyc +0 -0
  757. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/solvers.cpython-310.pyc +0 -0
  758. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/solvers.cpython-38.pyc +0 -0
  759. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/solvers.cpython-39.pyc +0 -0
  760. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/sparse.cpython-310.pyc +0 -0
  761. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/sparse.cpython-38.pyc +0 -0
  762. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/sparse.cpython-39.pyc +0 -0
  763. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/tests.cpython-310.pyc +0 -0
  764. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/tests.cpython-38.pyc +0 -0
  765. GridCal-4.6.6/GridCal/ThirdParty/pulp/__pycache__/tests.cpython-39.pyc +0 -0
  766. GridCal-4.6.6/GridCal/ThirdParty/pulp/amply.py +0 -782
  767. GridCal-4.6.6/GridCal/ThirdParty/pulp/constants.py +0 -104
  768. GridCal-4.6.6/GridCal/ThirdParty/pulp/mps_lp.py +0 -391
  769. GridCal-4.6.6/GridCal/ThirdParty/pulp/pulp.cfg.buildout +0 -15
  770. GridCal-4.6.6/GridCal/ThirdParty/pulp/pulp.cfg.linux +0 -19
  771. GridCal-4.6.6/GridCal/ThirdParty/pulp/pulp.cfg.osx +0 -19
  772. GridCal-4.6.6/GridCal/ThirdParty/pulp/pulp.cfg.win +0 -18
  773. GridCal-4.6.6/GridCal/ThirdParty/pulp/pulp.py +0 -2431
  774. GridCal-4.6.6/GridCal/ThirdParty/pulp/pulp_extra.py +0 -300
  775. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__init__.py +0 -34
  776. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/__init__.cpython-310.pyc +0 -0
  777. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/__init__.cpython-38.pyc +0 -0
  778. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/__init__.cpython-39.pyc +0 -0
  779. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/coin.cpython-310.pyc +0 -0
  780. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/coin.cpython-38.pyc +0 -0
  781. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/coin.cpython-39.pyc +0 -0
  782. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/cplex.cpython-310.pyc +0 -0
  783. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/cplex.cpython-38.pyc +0 -0
  784. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/cplex.cpython-39.pyc +0 -0
  785. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/glpk.cpython-310.pyc +0 -0
  786. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/glpk.cpython-38.pyc +0 -0
  787. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/glpk.cpython-39.pyc +0 -0
  788. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/gurobi.cpython-310.pyc +0 -0
  789. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/gurobi.cpython-38.pyc +0 -0
  790. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/gurobi.cpython-39.pyc +0 -0
  791. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/highs.cpython-310.pyc +0 -0
  792. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/highs.cpython-38.pyc +0 -0
  793. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/highs.cpython-39.pyc +0 -0
  794. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/scip.cpython-310.pyc +0 -0
  795. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/scip.cpython-38.pyc +0 -0
  796. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/scip.cpython-39.pyc +0 -0
  797. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/xpress.cpython-310.pyc +0 -0
  798. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/xpress.cpython-38.pyc +0 -0
  799. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/xpress.cpython-39.pyc +0 -0
  800. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/yaposib.cpython-310.pyc +0 -0
  801. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/yaposib.cpython-38.pyc +0 -0
  802. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/yaposib.cpython-39.pyc +0 -0
  803. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/coin.py +0 -512
  804. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/cplex.py +0 -840
  805. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/glpk.py +0 -377
  806. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/gridcal_solver.py +0 -36
  807. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/gurobi.py +0 -366
  808. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/highs.py +0 -258
  809. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/scip.py +0 -149
  810. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/xpress.py +0 -159
  811. GridCal-4.6.6/GridCal/ThirdParty/pulp/solver_interfaces/yaposib.py +0 -230
  812. GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/cbc/linux/32/coin-license.txt +0 -239
  813. GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/cbc/linux/64/coin-license.txt +0 -239
  814. GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/cbc/osx/64/coin-license.txt +0 -239
  815. GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/cbc/win/32/coin-license.txt +0 -239
  816. GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/cbc/win/64/coin-license.txt +0 -239
  817. GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/highs/highs-license.txt +0 -24
  818. GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/highs/linux/64/__init__.py +0 -40
  819. GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/highs/linux/__init__.py +0 -40
  820. GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/highs/osx/64/__init__.py +0 -40
  821. GridCal-4.6.6/GridCal/ThirdParty/pulp/solverdir/highs/osx/__init__.py +0 -40
  822. GridCal-4.6.6/GridCal/ThirdParty/pulp/solvers.py +0 -455
  823. GridCal-4.6.6/GridCal/ThirdParty/pulp/sparse.py +0 -117
  824. GridCal-4.6.6/GridCal/ThirdParty/pulp/tests.py +0 -619
  825. GridCal-4.6.6/GridCal/__version__.py +0 -40
  826. GridCal-4.6.6/GridCal/data/cables.csv +0 -462
  827. GridCal-4.6.6/GridCal/data/transformers.csv +0 -756
  828. GridCal-4.6.6/GridCal/data/wires.csv +0 -100
  829. GridCal-4.6.6/GridCal/update.py +0 -80
  830. GridCal-4.6.6/GridCal.egg-info/PKG-INFO +0 -17
  831. GridCal-4.6.6/GridCal.egg-info/SOURCES.txt +0 -453
  832. GridCal-4.6.6/MANIFEST.in +0 -9
  833. GridCal-4.6.6/PKG-INFO +0 -17
  834. GridCal-4.6.6/README.md +0 -18
  835. GridCal-4.6.6/setup.cfg +0 -4
  836. GridCal-4.6.6/setup.py +0 -281
  837. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/Engine/IO/cim/__init__.py +0 -0
  838. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/Engine/IO/matpower/__init__.py +0 -0
  839. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/Engine/Replacements/__init__.py +0 -0
  840. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/Engine/Simulations/Dynamics/__init__.py +0 -0
  841. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
  842. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/Gui/Analysis/__init__.py +0 -0
  843. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/Gui/BusViewer/__init__.py +0 -0
  844. {GridCal-4.6.6/GridCal/Gui/CoordinatesInput → GridCal-4.7.1/GridCal/Gui/ContingencyPlanner}/__init__.py +0 -0
  845. {GridCal-4.6.6/GridCal/Gui/GIS → GridCal-4.7.1/GridCal/Gui/CoordinatesInput}/__init__.py +0 -0
  846. {GridCal-4.6.6/GridCal/Gui/GridGenerator → GridCal-4.7.1/GridCal/Gui/GIS}/__init__.py +0 -0
  847. {GridCal-4.6.6/GridCal/Gui/LoadDesigner → GridCal-4.7.1/GridCal/Gui/GridGenerator}/__init__.py +0 -0
  848. {GridCal-4.6.6/GridCal/Gui/Main → GridCal-4.7.1/GridCal/Gui/LoadDesigner}/__init__.py +0 -0
  849. {GridCal-4.6.6/GridCal/Gui/ProfilesInput → GridCal-4.7.1/GridCal/Gui/Main}/__init__.py +0 -0
  850. {GridCal-4.6.6/GridCal/Gui/Session → GridCal-4.7.1/GridCal/Gui/ProfilesInput}/__init__.py +0 -0
  851. {GridCal-4.6.6/GridCal/Gui/SigmaAnalysis → GridCal-4.7.1/GridCal/Gui/Session}/__init__.py +0 -0
  852. {GridCal-4.6.6/GridCal/Gui/SyncDialogue → GridCal-4.7.1/GridCal/Gui/SigmaAnalysis}/__init__.py +0 -0
  853. {GridCal-4.6.6/GridCal/Gui/TowerBuilder → GridCal-4.7.1/GridCal/Gui/SyncDialogue}/__init__.py +0 -0
  854. {GridCal-4.6.6/GridCal/Gui/Visualization → GridCal-4.7.1/GridCal/Gui/TowerBuilder}/__init__.py +0 -0
  855. {GridCal-4.6.6/GridCal/Gui → GridCal-4.7.1/GridCal/Gui/Visualization}/__init__.py +0 -0
  856. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/win/32/cbc.exe +0 -0
  857. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/win/64/cbc.exe +0 -0
  858. {GridCal-4.6.6/GridCal → GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/win/64}/__init__.py +0 -0
  859. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/highs.exe +0 -0
  860. {GridCal-4.6.6/GridCal/data → GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/win}/__init__.py +0 -0
  861. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal.egg-info/dependency_links.txt +0 -0
  862. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal.egg-info/requires.txt +0 -0
  863. {GridCal-4.6.6 → GridCal-4.7.1}/GridCal.egg-info/top_level.txt +0 -0
@@ -0,0 +1,21 @@
1
+ # GridCal
2
+ # Copyright (C) 2022 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
+ import GridCal.Engine.Core.Compilers.circuit_to_data
19
+ import GridCal.Engine.Core.Compilers.circuit_to_bentayga
20
+ # import GridCal.Engine.Core.Compilers.circuit_to_newton_pa
21
+ import GridCal.Engine.Core.Compilers.circuit_to_alliander_pgm
@@ -0,0 +1,553 @@
1
+ # GridCal
2
+ # Copyright (C) 2022 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
+ import os.path
19
+
20
+ import numpy as np
21
+
22
+ from GridCal.Engine.basic_structures import Logger
23
+ from GridCal.Engine.Core.multi_circuit import MultiCircuit
24
+ from GridCal.Engine.basic_structures import BranchImpedanceMode
25
+ from GridCal.Engine.basic_structures import BusMode
26
+ from GridCal.Engine.Devices.enumerations import ConverterControlType, TransformerControlType
27
+ from GridCal.Engine.Devices import *
28
+ from GridCal.Engine.basic_structures import Logger, SolverType, ReactivePowerControlMode, TapsControlMode
29
+ from GridCal.Engine.Simulations.PowerFlow.power_flow_options import PowerFlowOptions
30
+ from GridCal.Engine.Simulations.PowerFlow.power_flow_results import PowerFlowResults
31
+
32
+
33
+ try:
34
+ import power_grid_model as pgm
35
+ from power_grid_model.validation import validate_input_data, assert_valid_input_data, ValidationError, ValidationException
36
+
37
+ ALLIANDER_PGM_AVAILABLE = True
38
+ print("Alliander's PGM available")
39
+
40
+ except ImportError:
41
+ ALLIANDER_PGM_AVAILABLE = False
42
+ print("Alliander's power grid model is not available, try pip install power-grid-model")
43
+
44
+ '''
45
+ hierarchy
46
+
47
+ base ──┬─────────────────────────────────────────────── node
48
+
49
+ ├── branch ──────────────────────────────────┬── line
50
+ │ ├── link
51
+ │ └── transformer
52
+
53
+ ├── appliance ──┬─────────────────────────────── source
54
+ │ │
55
+ │ ├─────────────────────────────── shunt
56
+ │ │
57
+ │ └── generic_load_gen ────────┬── sym_load
58
+ │ ├── sym_gen
59
+ │ ├── asym_load
60
+ │ └── asym_gen
61
+
62
+ └── sensor ─────┬── generic_voltage_sensor ──┬── sym_voltage_sensor
63
+ │ └── asym_voltage_sensor
64
+
65
+ └── generic_power_sensor ────┬── sym_power_sensor
66
+ └── asym_power_sensor
67
+
68
+ '''
69
+
70
+
71
+ def get_pgm_buses(circuit: MultiCircuit, idx0):
72
+ """
73
+ Convert the buses to Alliander's PGM buses
74
+ :param circuit: GridCal circuit
75
+ :return: bus dictionary buses[uuid] -> int
76
+ """
77
+ bus_dict = dict()
78
+
79
+ node = pgm.initialize_array('input', 'node', len(circuit.buses))
80
+ idx = idx0
81
+ for i, bus in enumerate(circuit.buses):
82
+
83
+ # fill in data
84
+ node['id'][i] = idx
85
+ node['u_rated'][i] = bus.Vnom * 1000.0 # in V
86
+
87
+ # create dictionary entry
88
+ bus_dict[bus.idtag] = idx
89
+ idx += 1
90
+
91
+ return node, bus_dict, idx
92
+
93
+
94
+ def get_pgm_loads(circuit: MultiCircuit, bus_dict, idx0):
95
+ """
96
+ Generate load data
97
+ :param circuit: GridCal circuit
98
+ :param bus_dict: dictionary of bus id to Alliander's PGM index
99
+ :return struct of load values
100
+ """
101
+
102
+ devices = circuit.get_loads()
103
+
104
+ sym_load = pgm.initialize_array('input', 'sym_load', len(devices) * 3)
105
+
106
+ idx = idx0
107
+ for k, elm in enumerate(devices):
108
+ k1 = 3 * k
109
+ k2 = 3 * k + 1
110
+ k3 = 3 * k + 2
111
+
112
+ sym_load['id'][k1] = idx
113
+ sym_load['node'][k1] = bus_dict[elm.bus.idtag]
114
+ sym_load['status'][k1] = int(elm.active)
115
+ sym_load['type'][k1] = pgm.LoadGenType.const_power
116
+ sym_load['p_specified'][k1] = elm.P * 1e6
117
+ sym_load['q_specified'][k1] = elm.Q * 1e6
118
+ idx += 1
119
+
120
+ sym_load['id'][k2] = idx
121
+ sym_load['node'][k2] = bus_dict[elm.bus.idtag]
122
+ sym_load['status'][k2] = int(elm.active)
123
+ sym_load['type'][k2] = pgm.LoadGenType.const_current
124
+ sym_load['p_specified'][k2] = elm.Ir * 1e6
125
+ sym_load['q_specified'][k2] = elm.Ii * 1e6
126
+ idx += 1
127
+
128
+ sym_load['id'][k3] = idx
129
+ sym_load['node'][k3] = bus_dict[elm.bus.idtag]
130
+ sym_load['status'][k3] = int(elm.active)
131
+ sym_load['type'][k3] = pgm.LoadGenType.const_impedance
132
+ sym_load['p_specified'][k3] = elm.G * 1e6
133
+ sym_load['q_specified'][k3] = elm.B * 1e6
134
+ idx += 1
135
+
136
+ return sym_load, idx
137
+
138
+
139
+ # def get_pgm_static_generators(circuit: MultiCircuit, bus_dict, idx0):
140
+ # """
141
+ #
142
+ # :param circuit: GridCal circuit
143
+ # :param bus_dict: dictionary of bus id to Alliander's PGM index
144
+ # """
145
+ # devices = circuit.get_static_generators()
146
+ #
147
+ # stagen = pgm.initialize_array('input', 'sym_gen', len(devices))
148
+ #
149
+ # idx = idx0
150
+ # for k, elm in enumerate(devices):
151
+ # stagen['id'][k] = idx
152
+ # stagen['node'][k] = bus_dict[elm.bus.idtag]
153
+ # stagen['status'][k] = int(elm.active)
154
+ # stagen['type'][k] = pgm.LoadGenType.const_power
155
+ # stagen['p_specified'][k] = elm.P * 1e6
156
+ # stagen['q_specified'][k] = elm.Q * 1e6
157
+ # idx += 1
158
+ #
159
+ # return stagen, idx
160
+
161
+
162
+ def get_pgm_shunts(circuit: MultiCircuit, bus_dict, idx0):
163
+ """
164
+
165
+ :param circuit: GridCal circuit
166
+ :param bus_dict: dictionary of bus id to Alliander's PGM index
167
+ """
168
+ devices = circuit.get_shunts()
169
+
170
+ shunt = pgm.initialize_array('input', 'shunt', len(devices))
171
+
172
+ idx = idx0
173
+ for k, elm in enumerate(devices):
174
+ Ybase = circuit.Sbase / (elm.bus.Vnom**2)
175
+
176
+ shunt['id'][k] = idx
177
+ shunt['node'][k] = bus_dict[elm.bus.idtag]
178
+ shunt['status'][k] = int(elm.active)
179
+
180
+ shunt['g1'][k] = elm.G * Ybase
181
+ shunt['b1'][k] = elm.B * Ybase
182
+ idx += 1
183
+
184
+ return shunt, idx
185
+
186
+
187
+ def get_pgm_generators(circuit: MultiCircuit, bus_dict, idx0):
188
+ """
189
+
190
+ :param circuit: GridCal circuit
191
+ :param bus_dict: dictionary of bus id to Alliander's PGM index
192
+ """
193
+ gen_devices = circuit.get_generators()
194
+ stagen_devices = circuit.get_static_generators()
195
+ batt_devices = circuit.get_batteries()
196
+
197
+ sym_gen = pgm.initialize_array('input', 'sym_gen',
198
+ len(gen_devices) + len(stagen_devices) + len(batt_devices))
199
+
200
+ idx = idx0
201
+
202
+ for k, elm in enumerate(gen_devices + batt_devices):
203
+ sym_gen['id'][k] = idx
204
+ sym_gen['node'][k] = bus_dict[elm.bus.idtag]
205
+ sym_gen['status'][k] = int(elm.active)
206
+ sym_gen['type'][k] = pgm.LoadGenType.const_power
207
+ sym_gen['p_specified'][k] = elm.P * 1e6
208
+ sym_gen['q_specified'][k] = 0
209
+ idx += 1
210
+
211
+ k2 = len(gen_devices) + len(batt_devices)
212
+ for k, elm in enumerate(stagen_devices):
213
+ sym_gen['id'][k2] = idx
214
+ sym_gen['node'][k2] = bus_dict[elm.bus.idtag]
215
+ sym_gen['status'][k2] = int(elm.active)
216
+ sym_gen['type'][k2] = pgm.LoadGenType.const_power
217
+ sym_gen['p_specified'][k2] = elm.P * 1e6
218
+ sym_gen['q_specified'][k2] = elm.Q * 1e6
219
+ idx += 1
220
+ k2 += 1
221
+
222
+ return sym_gen, idx
223
+
224
+
225
+ def get_pgm_source(circuit: MultiCircuit, bus_dict, idx0):
226
+ """
227
+
228
+ :param circuit: GridCal circuit
229
+ :param bus_dict: dictionary of bus id to Alliander's PGM index
230
+ """
231
+ gen_devices = circuit.get_generators()
232
+
233
+ sym_gen = pgm.initialize_array('input', 'source', 1)
234
+
235
+ # TODO: pick the one with the largest P
236
+ elm = gen_devices[0]
237
+
238
+ idx = idx0
239
+ k = 0
240
+ sym_gen['id'][k] = idx
241
+ sym_gen['node'][k] = bus_dict[elm.bus.idtag]
242
+ sym_gen['status'][k] = int(elm.active)
243
+ sym_gen['u_ref'][k] = elm.Vset
244
+ # sym_gen['u_ref_angle'][k] = 0.0
245
+ idx += 1
246
+
247
+ return sym_gen, idx
248
+
249
+
250
+ # def get_pgm_battery_data(circuit: MultiCircuit, bus_dict):
251
+ # """
252
+ #
253
+ # :param circuit: GridCal circuit
254
+ # :param bus_dict: dictionary of bus id to Alliander's PGM index
255
+ # """
256
+ # devices = circuit.get_batteries()
257
+ # batt = pgm.initialize_array('input', 'sym_load', len(devices))
258
+ # for k, elm in enumerate(devices):
259
+ # pass
260
+ # return batt
261
+
262
+
263
+ def get_pgm_line(circuit: MultiCircuit, bus_dict, idx0, logger: Logger):
264
+ """
265
+
266
+ :param circuit: GridCal circuit
267
+ :param bus_dict: dictionary of bus id to Alliander's PGM index
268
+ """
269
+
270
+ line = pgm.initialize_array('input', 'line', len(circuit.lines))
271
+ omega = 6.283185307 * circuit.fBase # angular frequency
272
+ r3 = np.sqrt(3.0) # square root of 3
273
+
274
+ # Compile the lines
275
+ idx = idx0
276
+ for i, elm in enumerate(circuit.lines):
277
+ Vf = elm.bus_from.Vnom
278
+ Vt = elm.bus_to.Vnom
279
+
280
+ if Vf != Vt:
281
+ logger.add_error('Different line terminal voltages', elm.name, str(Vt), str(Vf))
282
+ elm.bus_to.Vnom = Vf
283
+
284
+ Zbase = Vf * Vf / circuit.Sbase
285
+
286
+ line['id'][i] = idx
287
+ line['from_node'][i] = bus_dict[elm.bus_from.idtag]
288
+ line['to_node'][i] = bus_dict[elm.bus_to.idtag]
289
+ line['from_status'][i] = int(elm.bus_from.active)
290
+ line['to_status'][i] = int(elm.bus_to.active)
291
+ line['r1'][i] = elm.R * Zbase # Ohm
292
+ line['x1'][i] = elm.X * Zbase # Ohm
293
+ line['c1'][i] = elm.B / (omega * Zbase) # Farad
294
+ line['tan1'][i] = 0.0 # this is the ratio G/B, which does not apply here because we do not have G
295
+
296
+ line['r0'][i] = elm.R0 * Zbase # Ohm
297
+ line['x0'][i] = elm.X0 * Zbase # Ohm
298
+ line['c0'][i] = elm.B0 / (omega * Zbase) # Farad
299
+ line['tan0'][i] = 0.0 # this is the ratio G/B, which does not apply here because we do not have G
300
+
301
+ line['i_n'][i] = 1e6 * elm.rate / r3 / (Vf * 1000) # rating in A
302
+ idx += 1
303
+
304
+ return line, idx
305
+
306
+
307
+ def get_pgm_transformer_data(circuit: MultiCircuit, bus_dict, idx0):
308
+ """
309
+
310
+ :param circuit: GridCal circuit
311
+ :param bus_dict: dictionary of bus id to Alliander's PGM index
312
+ """
313
+ xfo = pgm.initialize_array('input', 'transformer', len(circuit.transformers2w))
314
+
315
+ omega = 6.283185307 * circuit.fBase
316
+ r3 = np.sqrt(3.0)
317
+
318
+ # Compile the lines
319
+ idx = idx0
320
+ for i, elm in enumerate(circuit.transformers2w):
321
+ Zbase = elm.bus_from.Vnom ** 2 / circuit.Sbase
322
+
323
+ xfo['id'][i] = idx
324
+ xfo['from_node'][i] = bus_dict[elm.bus_from.idtag]
325
+ xfo['to_node'][i] = bus_dict[elm.bus_to.idtag]
326
+ xfo['from_status'][i] = int(elm.bus_from.active)
327
+ xfo['to_status'][i] = int(elm.bus_to.active)
328
+
329
+ xfo['u1'][i] = 1e3 * elm.bus_from.Vnom # rated voltage at from-side (V)
330
+ xfo['u2'][i] = 1e3 * elm.bus_to.Vnom # rated voltage at to-side (V)
331
+ xfo['sn'][i] = 1e6 * elm.rate # volt-ampere (VA)
332
+ xfo['uk'][i] = elm.X * (elm.rate / circuit.Sbase) # relative short circuit voltage (p.u.)
333
+ xfo['pk'][i] = 0 # short circuit (copper) loss (W)
334
+ xfo['i0'][i] = 0 # relative no-load current (p.u.)
335
+ xfo['p0'][i] = 0 # no-load (iron) loss (W)
336
+
337
+ # clock number of phase shift.
338
+ # Even number is not possible if one side is Y(N)
339
+ # winding and the other side is not Y(N) winding.
340
+ # Odd number is not possible, if both sides are Y(N)
341
+ # winding or both sides are not Y(N) winding.
342
+ phase_int = int(np.round(np.rad2deg(elm.angle) / 30)) % 12
343
+ xfo['clock'][i] = phase_int
344
+
345
+ xfo['winding_from'][i] = pgm.WindingType.wye # WindingType object
346
+
347
+ if phase_int % 2 == 0:
348
+ xfo['winding_to'][i] = pgm.WindingType.wye_n # WindingType object
349
+ else:
350
+ xfo['winding_to'][i] = pgm.WindingType.delta # WindingType object
351
+
352
+ xfo['tap_side'][i] = pgm.BranchSide.to_side # BranchSide object
353
+ xfo['tap_pos'][i] = 0 # current position of tap changer
354
+ xfo['tap_min'][i] = 0 # position of tap changer at minimum voltage
355
+ xfo['tap_max'][i] = 0 # position of tap changer at maximum voltage
356
+ xfo['tap_nom'][i] = 0 # nominal position of tap changer
357
+ xfo['tap_size'][i] = 1e-20 # size of each tap of the tap changer (V), TODO: this should be 0 in future versions
358
+
359
+ # xfo['uk_min'][i] = 0 # relative short circuit voltage at minimum tap
360
+ # xfo['uk_max'][i] = 0 # relative short circuit voltage at maximum tap
361
+ # xfo['pk_min'][i] = 0 # short circuit (copper) loss at minimum tap (W)
362
+ # xfo['pk_max'][i] = 0 # short circuit (copper) loss at maximum tap (W)
363
+ #
364
+ # xfo['r_grounding_from'][i] = 0 # grounding resistance at from-side, if relevant (Ohm)
365
+ # xfo['x_grounding_from'][i] = 0 # grounding reactance at from-side, if relevant (Ohm)
366
+ # xfo['r_grounding_to'][i] = 0 # grounding resistance at to-side, if relevant (Ohm)
367
+ # xfo['x_grounding_to'][i] = 0 # grounding reactance at to-side, if relevant (Ohm)
368
+ idx += 1
369
+
370
+ return xfo, idx
371
+
372
+
373
+ def get_pgm_vsc_data(circuit: MultiCircuit, bus_dict, idx0):
374
+ """
375
+
376
+ :param circuit: GridCal circuit
377
+ :param bus_dict: dictionary of bus id to Alliander's PGM index
378
+ """
379
+ vsc = pgm.initialize_array('input', 'sym_load', len(circuit.vsc_devices))
380
+ idx = idx0
381
+ for i, elm in enumerate(circuit.vsc_devices):
382
+ pass
383
+ return vsc, idx
384
+
385
+
386
+ def get_pgm_dc_line_data(circuit: MultiCircuit, bus_dict, idx0):
387
+ """
388
+
389
+ :param circuit: GridCal circuit
390
+ :param bus_dict: dictionary of bus id to Alliander's PGM index
391
+ """
392
+ dc_line = pgm.initialize_array('input', 'sym_load', len(circuit.dc_lines))
393
+ # Compile the lines
394
+ idx = idx0
395
+ for i, elm in enumerate(circuit.dc_lines):
396
+ pass
397
+ return dc_line, idx
398
+
399
+
400
+ def get_pgm_hvdc_data(circuit: MultiCircuit, bus_dict, idx0):
401
+ """
402
+
403
+ :param circuit: GridCal circuit
404
+ :param bus_dict: dictionary of bus id to Alliander's PGM index
405
+ """
406
+ hvdc = pgm.initialize_array('input', 'sym_load', len(circuit.hvdc_lines))
407
+ idx = idx0
408
+ for i, elm in enumerate(circuit.hvdc_lines):
409
+ pass
410
+ return hvdc, idx
411
+
412
+
413
+ def to_pgm(circuit: MultiCircuit, logger: Logger = Logger()) -> "pgm.PowerGridModel":
414
+ """
415
+ Convert GridCal circuit to Alliander's PGM model
416
+ See https://github.com/alliander-opensource/power-grid-model/blob/main/docs/graph-data-model.md
417
+ :param circuit: MultiCircuit
418
+ :return: pgm.PowerGridModel instance
419
+ """
420
+ idx0 = 0
421
+ node, bus_dict, idx0 = get_pgm_buses(circuit, idx0)
422
+
423
+ sym_load, idx0 = get_pgm_loads(circuit, bus_dict, idx0)
424
+
425
+ shunt, idx0 = get_pgm_shunts(circuit, bus_dict, idx0)
426
+ sym_gen, idx0 = get_pgm_generators(circuit, bus_dict, idx0)
427
+ source, idx0 = get_pgm_source(circuit, bus_dict, idx0)
428
+ line, idx0 = get_pgm_line(circuit, bus_dict, idx0, logger)
429
+ transformer, idx0 = get_pgm_transformer_data(circuit, bus_dict, idx0)
430
+
431
+ # vsc = get_pgm_vsc_data(circuit, bus_dict)
432
+ # dc_line = get_pgm_dc_line_data(circuit, bus_dict)
433
+ # hvdc = get_pgm_hvdc_data(circuit, bus_dict)
434
+
435
+ # all
436
+ input_data = {
437
+ 'node': node,
438
+ 'line': line,
439
+ 'transformer': transformer,
440
+ 'sym_load': sym_load,
441
+ 'sym_gen': sym_gen,
442
+ 'source': source,
443
+ 'shunt': shunt
444
+ }
445
+
446
+ try:
447
+ assert_valid_input_data(input_data=input_data)
448
+ model_ok = True
449
+ except ValidationException as e:
450
+ print(e)
451
+ model_ok = False
452
+
453
+ if model_ok:
454
+ model = pgm.PowerGridModel(input_data, system_frequency=circuit.fBase)
455
+ else:
456
+ model = None
457
+
458
+ return model
459
+
460
+
461
+ def alliander_pgm_pf(circuit: MultiCircuit, opt: PowerFlowOptions, logger: Logger, symmetric=True):
462
+ """
463
+ Alliander's PGM power flow
464
+ :param circuit: MultiCircuit instance
465
+ :param opt: Power Flow Options
466
+ :param logger: Logger object
467
+ :param symmetric: Symmetric (3-phase balanced calculation? / asymmetric)
468
+ :return: Alliander's PGM Power flow results object
469
+ """
470
+ model = to_pgm(circuit, logger=logger)
471
+
472
+ try:
473
+ pf_res = model.calculate_power_flow(symmetric=symmetric)
474
+
475
+ except RuntimeError as e:
476
+ logger.add_error('Power flow failed\n' + str(e))
477
+ pf_res = None
478
+
479
+ gc_res = translate_pgm_results(circuit, pf_res)
480
+
481
+ return gc_res
482
+
483
+
484
+ def translate_pgm_results(grid: MultiCircuit, pf_res) -> PowerFlowResults:
485
+ from GridCal.Engine.Core.snapshot_pf_data import compile_snapshot_circuit
486
+
487
+ nc = compile_snapshot_circuit(grid)
488
+
489
+ results = PowerFlowResults(n=nc.nbus,
490
+ m=nc.nbr,
491
+ n_tr=nc.ntr,
492
+ n_hvdc=nc.nhvdc,
493
+ bus_names=nc.bus_names,
494
+ branch_names=nc.branch_names,
495
+ transformer_names=nc.transformer_data.names,
496
+ hvdc_names=nc.hvdc_names,
497
+ bus_types=nc.bus_types)
498
+
499
+ if pf_res is None:
500
+ return results
501
+
502
+ Vm = pf_res['node']['u_pu']
503
+ Va = np.zeros_like(Vm)
504
+ Pf = pf_res['line']['p_from'] * 1e-6
505
+ Pt = pf_res['line']['p_to'] * 1e-6
506
+ Qf = pf_res['line']['q_from'] * 1e-6
507
+ Qt = pf_res['line']['q_to'] * 1e-6
508
+
509
+ if 'transformer' in pf_res:
510
+ Pf = np.r_[Pf, pf_res['transformer']['p_from']] * 1e-6
511
+ Pt = np.r_[Pt, pf_res['transformer']['p_to']] * 1e-6
512
+ Qf = np.r_[Pf, pf_res['transformer']['q_from']] * 1e-6
513
+ Qt = np.r_[Pt, pf_res['transformer']['q_to']] * 1e-6
514
+
515
+ losses = (Pf + Pt) + 1j * (Qf + Qt)
516
+
517
+ results.voltage = Vm * np.exp(1j * Va)
518
+ # results.Sbus = res.S[0, :]
519
+ results.Sf = Pf + 1j * Qf
520
+ results.St = Pt + 1j * Qt
521
+ results.loading = Pf / (nc.branch_rates + 1e-20)
522
+ results.losses = losses
523
+ # results.Vbranch = res.Vbranch[0, :]
524
+ # results.If = res.If[0, :]
525
+ # results.It = res.It[0, :]
526
+ # results.Beq = res.Beq[0, :]
527
+ # results.m = res.tap_modules[0, :]
528
+ # results.theta = res.tap_angles[0, :]
529
+
530
+ results.F = nc.F
531
+ results.T = nc.T
532
+ # results.hvdc_F = res.F_hvdc
533
+ # results.hvdc_T = res.T_hvdc
534
+ # results.hvdc_Pf = res.hvdc_Pf[0, :]
535
+ # results.hvdc_Pt = res.hvdc_Pt[0, :]
536
+ # results.hvdc_loading = res.hvdc_loading[0, :]
537
+ # results.hvdc_losses = res.hvdc_losses[0, :]
538
+ results.bus_area_indices = grid.get_bus_area_indices()
539
+ results.area_names = [a.name for a in grid.areas]
540
+
541
+ return results
542
+
543
+
544
+ if __name__ == "__main__":
545
+ import GridCal.Engine as gce
546
+ # fname = './../../../../../Grids_and_profiles/grids/IEEE 14.xlsx'
547
+ fname = './../../../../../Grids_and_profiles/grids/IEEE 30 Bus.gridcal'
548
+ circ = gce.FileOpen(fname).open()
549
+
550
+ pf_opt = PowerFlowOptions()
551
+ lgr = Logger()
552
+ pgm_ = alliander_pgm_pf(circ, pf_opt, lgr)
553
+ print()