GridCal 4.7.0__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 (888) 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.0 → GridCal-4.7.1}/GridCal/Gui/Visualization/palettes.py +0 -0
  296. GridCal-4.7.1/GridCal/Gui/Visualization/visualization.py +614 -0
  297. GridCal-4.7.1/GridCal/Gui/plot_config.py +45 -0
  298. GridCal-4.7.1/GridCal/Gui/pySlipQt/blue_marble.py +99 -0
  299. GridCal-4.7.1/GridCal/Gui/pySlipQt/cartodb.py +102 -0
  300. GridCal-4.7.1/GridCal/Gui/pySlipQt/gmt_local.py +180 -0
  301. GridCal-4.7.1/GridCal/Gui/pySlipQt/log.py +211 -0
  302. GridCal-4.7.1/GridCal/Gui/pySlipQt/mapquest.py +100 -0
  303. GridCal-4.7.1/GridCal/Gui/pySlipQt/modest_maps.py +98 -0
  304. GridCal-4.7.1/GridCal/Gui/pySlipQt/open_street_map.py +105 -0
  305. GridCal-4.7.1/GridCal/Gui/pySlipQt/pySlipQt.py +3687 -0
  306. GridCal-4.7.1/GridCal/Gui/pySlipQt/pycacheback.py +103 -0
  307. GridCal-4.7.1/GridCal/Gui/pySlipQt/stamen_toner.py +99 -0
  308. GridCal-4.7.1/GridCal/Gui/pySlipQt/stamen_transport.py +102 -0
  309. GridCal-4.7.1/GridCal/Gui/pySlipQt/stamen_watercolor.py +101 -0
  310. GridCal-4.7.1/GridCal/Gui/pySlipQt/sys_tile_data.py +438 -0
  311. GridCal-4.7.1/GridCal/Gui/pySlipQt/tiles.py +272 -0
  312. GridCal-4.7.1/GridCal/Gui/pySlipQt/tiles_net.py +427 -0
  313. GridCal-4.7.1/GridCal/Gui/themes.py +55 -0
  314. GridCal-4.7.1/GridCal/Gui/update_gui_all.py +28 -0
  315. GridCal-4.7.1/GridCal/Gui/update_gui_common.py +102 -0
  316. GridCal-4.7.1/GridCal/LICENSE.txt +222 -0
  317. GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/README.md +71 -0
  318. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/SyntheticNetworks/__init__.py +0 -0
  319. GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/__pycache__/__init__.cpython-310.pyc +0 -0
  320. GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/__pycache__/__init__.cpython-38.pyc +0 -0
  321. GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/__pycache__/rpgm_algo.cpython-310.pyc +0 -0
  322. GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/__pycache__/rpgm_algo.cpython-38.pyc +0 -0
  323. GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/rpgm_algo.py +474 -0
  324. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/__init__.py +0 -0
  325. GridCal-4.7.1/GridCal/ThirdParty/__pycache__/__init__.cpython-310.pyc +0 -0
  326. GridCal-4.7.1/GridCal/ThirdParty/__pycache__/__init__.cpython-38.pyc +0 -0
  327. GridCal-4.7.1/GridCal/ThirdParty/pulp/LICENSE.txt +21 -0
  328. GridCal-4.7.1/GridCal/ThirdParty/pulp/__init__.py +40 -0
  329. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/__init__.cpython-310.pyc +0 -0
  330. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/__init__.cpython-38.pyc +0 -0
  331. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/amply.cpython-310.pyc +0 -0
  332. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/amply.cpython-38.pyc +0 -0
  333. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/constants.cpython-310.pyc +0 -0
  334. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/constants.cpython-38.pyc +0 -0
  335. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/mps_lp.cpython-310.pyc +0 -0
  336. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/mps_lp.cpython-38.pyc +0 -0
  337. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/pulp.cpython-310.pyc +0 -0
  338. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/pulp.cpython-38.pyc +0 -0
  339. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/pulp_extra.cpython-310.pyc +0 -0
  340. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/pulp_extra.cpython-38.pyc +0 -0
  341. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/solvers.cpython-310.pyc +0 -0
  342. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/solvers.cpython-38.pyc +0 -0
  343. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/sparse.cpython-310.pyc +0 -0
  344. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/sparse.cpython-38.pyc +0 -0
  345. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/tests.cpython-310.pyc +0 -0
  346. GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/tests.cpython-38.pyc +0 -0
  347. GridCal-4.7.1/GridCal/ThirdParty/pulp/amply.py +782 -0
  348. GridCal-4.7.1/GridCal/ThirdParty/pulp/constants.py +104 -0
  349. GridCal-4.7.1/GridCal/ThirdParty/pulp/mps_lp.py +391 -0
  350. GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp.cfg.buildout +15 -0
  351. GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp.cfg.linux +19 -0
  352. GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp.cfg.osx +19 -0
  353. GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp.cfg.win +18 -0
  354. GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp.py +2431 -0
  355. GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp_extra.py +300 -0
  356. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__init__.py +34 -0
  357. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/__init__.cpython-310.pyc +0 -0
  358. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/__init__.cpython-38.pyc +0 -0
  359. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/coin.cpython-310.pyc +0 -0
  360. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/coin.cpython-38.pyc +0 -0
  361. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/cplex.cpython-310.pyc +0 -0
  362. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/cplex.cpython-38.pyc +0 -0
  363. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/glpk.cpython-310.pyc +0 -0
  364. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/glpk.cpython-38.pyc +0 -0
  365. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/gurobi.cpython-310.pyc +0 -0
  366. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/gurobi.cpython-38.pyc +0 -0
  367. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/highs.cpython-310.pyc +0 -0
  368. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/highs.cpython-38.pyc +0 -0
  369. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/scip.cpython-310.pyc +0 -0
  370. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/scip.cpython-38.pyc +0 -0
  371. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/xpress.cpython-310.pyc +0 -0
  372. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/xpress.cpython-38.pyc +0 -0
  373. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/yaposib.cpython-310.pyc +0 -0
  374. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/yaposib.cpython-38.pyc +0 -0
  375. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/coin.py +512 -0
  376. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/cplex.py +840 -0
  377. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/glpk.py +377 -0
  378. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/gridcal_solver.py +36 -0
  379. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/gurobi.py +366 -0
  380. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/highs.py +258 -0
  381. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/scip.py +149 -0
  382. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/xpress.py +159 -0
  383. GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/yaposib.py +230 -0
  384. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/CoinMP.dll +0 -0
  385. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/__init__.py +0 -0
  386. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/__init__.py +0 -0
  387. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/linux/32/__init__.py +0 -0
  388. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/linux/32/cbc +0 -0
  389. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/linux/32/coin-license.txt +239 -0
  390. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/linux/64/__init__.py +0 -0
  391. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/linux/64/cbc +0 -0
  392. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/linux/64/coin-license.txt +239 -0
  393. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/linux/__init__.py +0 -0
  394. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/osx/64/__init__.py +0 -0
  395. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/osx/64/cbc +0 -0
  396. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/osx/64/coin-license.txt +239 -0
  397. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/osx/__init__.py +0 -0
  398. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/win/32/__init__.py +0 -0
  399. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/win/32/coin-license.txt +239 -0
  400. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/win/64/__init__.py +0 -0
  401. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/win/64/coin-license.txt +239 -0
  402. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/win/__init__.py +0 -0
  403. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/coinMP/win/32/CoinMP.dll +0 -0
  404. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/coinMP/win/64/CoinMP.dll +0 -0
  405. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/__init__.py +0 -0
  406. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/highs-license.txt +24 -0
  407. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/linux/64/__init__.py +40 -0
  408. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/linux/64/libbasiclu.so +0 -0
  409. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/linux/64/libhighs.so.1.1.1 +0 -0
  410. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/linux/64/libipx.so +0 -0
  411. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/linux/__init__.py +40 -0
  412. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/osx/64/__init__.py +40 -0
  413. GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/osx/__init__.py +40 -0
  414. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/__init__.py +0 -0
  415. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/basiclu.dll +0 -0
  416. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/highs.dll +0 -0
  417. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/ipx.dll +0 -0
  418. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/libhighs.dll +0 -0
  419. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/__init__.py +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/__version__.py +40 -0
  424. GridCal-4.7.1/GridCal/data/cables.csv +462 -0
  425. GridCal-4.7.1/GridCal/data/transformers.csv +756 -0
  426. GridCal-4.7.1/GridCal/data/wires.csv +100 -0
  427. GridCal-4.7.1/GridCal/update.py +80 -0
  428. GridCal-4.7.1/GridCal.egg-info/PKG-INFO +17 -0
  429. GridCal-4.7.1/GridCal.egg-info/SOURCES.txt +461 -0
  430. GridCal-4.7.1/MANIFEST.in +9 -0
  431. GridCal-4.7.1/PKG-INFO +17 -0
  432. GridCal-4.7.1/README.md +18 -0
  433. GridCal-4.7.1/setup.cfg +4 -0
  434. GridCal-4.7.1/setup.py +281 -0
  435. GridCal-4.7.0/GridCal/Engine/Core/Compilers/__init__.py +0 -21
  436. GridCal-4.7.0/GridCal/Engine/Core/Compilers/circuit_to_alliander_pgm.py +0 -553
  437. GridCal-4.7.0/GridCal/Engine/Core/Compilers/circuit_to_bentayga.py +0 -739
  438. GridCal-4.7.0/GridCal/Engine/Core/Compilers/circuit_to_data.py +0 -1028
  439. GridCal-4.7.0/GridCal/Engine/Core/Compilers/circuit_to_data2.py +0 -1074
  440. GridCal-4.7.0/GridCal/Engine/Core/Compilers/circuit_to_newton_pa.py +0 -1263
  441. GridCal-4.7.0/GridCal/Engine/Core/DataStructures/__init__.py +0 -29
  442. GridCal-4.7.0/GridCal/Engine/Core/DataStructures/battery_data.py +0 -215
  443. GridCal-4.7.0/GridCal/Engine/Core/DataStructures/branch_data.py +0 -307
  444. GridCal-4.7.0/GridCal/Engine/Core/DataStructures/bus_data.py +0 -78
  445. GridCal-4.7.0/GridCal/Engine/Core/DataStructures/dc_lines_data.py +0 -91
  446. GridCal-4.7.0/GridCal/Engine/Core/DataStructures/generator_data.py +0 -207
  447. GridCal-4.7.0/GridCal/Engine/Core/DataStructures/hvdc_data.py +0 -236
  448. GridCal-4.7.0/GridCal/Engine/Core/DataStructures/lines_data.py +0 -81
  449. GridCal-4.7.0/GridCal/Engine/Core/DataStructures/load_data.py +0 -130
  450. GridCal-4.7.0/GridCal/Engine/Core/DataStructures/shunt_data.py +0 -93
  451. GridCal-4.7.0/GridCal/Engine/Core/DataStructures/static_generator_data.py +0 -73
  452. GridCal-4.7.0/GridCal/Engine/Core/DataStructures/transformer_data.py +0 -107
  453. GridCal-4.7.0/GridCal/Engine/Core/DataStructures/upfc_data.py +0 -100
  454. GridCal-4.7.0/GridCal/Engine/Core/DataStructures/vsc_data.py +0 -106
  455. GridCal-4.7.0/GridCal/Engine/Core/__init__.py +0 -8
  456. GridCal-4.7.0/GridCal/Engine/Core/admittance_matrices.py +0 -360
  457. GridCal-4.7.0/GridCal/Engine/Core/common_functions.py +0 -113
  458. GridCal-4.7.0/GridCal/Engine/Core/multi_circuit.py +0 -2806
  459. GridCal-4.7.0/GridCal/Engine/Core/snapshot_opf_data.py +0 -287
  460. GridCal-4.7.0/GridCal/Engine/Core/snapshot_pf_data.py +0 -1781
  461. GridCal-4.7.0/GridCal/Engine/Core/time_series_opf_data.py +0 -353
  462. GridCal-4.7.0/GridCal/Engine/Core/time_series_pf_data.py +0 -459
  463. GridCal-4.7.0/GridCal/Engine/Core/topology.py +0 -180
  464. GridCal-4.7.0/GridCal/Engine/Devices/__init__.py +0 -45
  465. GridCal-4.7.0/GridCal/Engine/Devices/battery.py +0 -515
  466. GridCal-4.7.0/GridCal/Engine/Devices/branch.py +0 -740
  467. GridCal-4.7.0/GridCal/Engine/Devices/bus.py +0 -912
  468. GridCal-4.7.0/GridCal/Engine/Devices/contingency.py +0 -137
  469. GridCal-4.7.0/GridCal/Engine/Devices/contingency_group.py +0 -83
  470. GridCal-4.7.0/GridCal/Engine/Devices/dc_line.py +0 -464
  471. GridCal-4.7.0/GridCal/Engine/Devices/editable_device.py +0 -253
  472. GridCal-4.7.0/GridCal/Engine/Devices/enumerations.py +0 -322
  473. GridCal-4.7.0/GridCal/Engine/Devices/external_grid.py +0 -245
  474. GridCal-4.7.0/GridCal/Engine/Devices/generator.py +0 -613
  475. GridCal-4.7.0/GridCal/Engine/Devices/groupings.py +0 -143
  476. GridCal-4.7.0/GridCal/Engine/Devices/hvdc_line.py +0 -737
  477. GridCal-4.7.0/GridCal/Engine/Devices/investment.py +0 -115
  478. GridCal-4.7.0/GridCal/Engine/Devices/investments_group.py +0 -82
  479. GridCal-4.7.0/GridCal/Engine/Devices/line.py +0 -736
  480. GridCal-4.7.0/GridCal/Engine/Devices/load.py +0 -267
  481. GridCal-4.7.0/GridCal/Engine/Devices/measurement.py +0 -42
  482. GridCal-4.7.0/GridCal/Engine/Devices/shunt.py +0 -231
  483. GridCal-4.7.0/GridCal/Engine/Devices/static_generator.py +0 -191
  484. GridCal-4.7.0/GridCal/Engine/Devices/switch.py +0 -216
  485. GridCal-4.7.0/GridCal/Engine/Devices/technology.py +0 -73
  486. GridCal-4.7.0/GridCal/Engine/Devices/templates.py +0 -124
  487. GridCal-4.7.0/GridCal/Engine/Devices/tower.py +0 -608
  488. GridCal-4.7.0/GridCal/Engine/Devices/transformer.py +0 -1161
  489. GridCal-4.7.0/GridCal/Engine/Devices/transformer3w.py +0 -75
  490. GridCal-4.7.0/GridCal/Engine/Devices/underground_line.py +0 -105
  491. GridCal-4.7.0/GridCal/Engine/Devices/upfc.py +0 -317
  492. GridCal-4.7.0/GridCal/Engine/Devices/vsc.py +0 -479
  493. GridCal-4.7.0/GridCal/Engine/Devices/wire.py +0 -61
  494. GridCal-4.7.0/GridCal/Engine/IO/__init__.py +0 -10
  495. GridCal-4.7.0/GridCal/Engine/IO/cim/cim_circuit.py +0 -335
  496. GridCal-4.7.0/GridCal/Engine/IO/cim/cim_devices.py +0 -1400
  497. GridCal-4.7.0/GridCal/Engine/IO/cim/cim_parser.py +0 -1021
  498. GridCal-4.7.0/GridCal/Engine/IO/contingency_parser.py +0 -94
  499. GridCal-4.7.0/GridCal/Engine/IO/dgs_parser.py +0 -1172
  500. GridCal-4.7.0/GridCal/Engine/IO/dpx_parser.py +0 -830
  501. GridCal-4.7.0/GridCal/Engine/IO/excel_interface.py +0 -1158
  502. GridCal-4.7.0/GridCal/Engine/IO/file_handler.py +0 -392
  503. GridCal-4.7.0/GridCal/Engine/IO/file_system.py +0 -20
  504. GridCal-4.7.0/GridCal/Engine/IO/generic_io_functions.py +0 -38
  505. GridCal-4.7.0/GridCal/Engine/IO/h5_interface.py +0 -102
  506. GridCal-4.7.0/GridCal/Engine/IO/ipa_parser.py +0 -160
  507. GridCal-4.7.0/GridCal/Engine/IO/json_parser.py +0 -1311
  508. GridCal-4.7.0/GridCal/Engine/IO/matpower/matpower_branch_definitions.py +0 -204
  509. GridCal-4.7.0/GridCal/Engine/IO/matpower/matpower_bus_definitions.py +0 -235
  510. GridCal-4.7.0/GridCal/Engine/IO/matpower/matpower_gen_definitions.py +0 -196
  511. GridCal-4.7.0/GridCal/Engine/IO/matpower/matpower_parser.py +0 -573
  512. GridCal-4.7.0/GridCal/Engine/IO/matpower/matpower_storage_definitions.py +0 -60
  513. GridCal-4.7.0/GridCal/Engine/IO/pack_unpack.py +0 -579
  514. GridCal-4.7.0/GridCal/Engine/IO/plexos.py +0 -966
  515. GridCal-4.7.0/GridCal/Engine/IO/power_world_parser.py +0 -594
  516. GridCal-4.7.0/GridCal/Engine/IO/pypsa_parser.py +0 -311
  517. GridCal-4.7.0/GridCal/Engine/IO/raw_parser.py +0 -2491
  518. GridCal-4.7.0/GridCal/Engine/IO/rawx_parser.py +0 -1305
  519. GridCal-4.7.0/GridCal/Engine/IO/sqlite_interface.py +0 -102
  520. GridCal-4.7.0/GridCal/Engine/IO/zip_interface.py +0 -376
  521. GridCal-4.7.0/GridCal/Engine/Simulations/ATC/__init__.py +0 -18
  522. GridCal-4.7.0/GridCal/Engine/Simulations/ATC/available_transfer_capacity_driver.py +0 -673
  523. GridCal-4.7.0/GridCal/Engine/Simulations/ATC/available_transfer_capacity_ts_driver.py +0 -395
  524. GridCal-4.7.0/GridCal/Engine/Simulations/Clustering/__init__.py +0 -1
  525. GridCal-4.7.0/GridCal/Engine/Simulations/Clustering/clustering.py +0 -120
  526. GridCal-4.7.0/GridCal/Engine/Simulations/ContingencyAnalysis/__init__.py +0 -4
  527. GridCal-4.7.0/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_driver.py +0 -293
  528. GridCal-4.7.0/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_results.py +0 -143
  529. GridCal-4.7.0/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_ts_driver.py +0 -219
  530. GridCal-4.7.0/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_ts_results.py +0 -149
  531. GridCal-4.7.0/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_plan.py +0 -166
  532. GridCal-4.7.0/GridCal/Engine/Simulations/ContinuationPowerFlow/__init__.py +0 -18
  533. GridCal-4.7.0/GridCal/Engine/Simulations/ContinuationPowerFlow/continuation_power_flow.py +0 -819
  534. GridCal-4.7.0/GridCal/Engine/Simulations/ContinuationPowerFlow/continuation_power_flow_driver.py +0 -416
  535. GridCal-4.7.0/GridCal/Engine/Simulations/Dynamics/dynamic_modules.py +0 -1466
  536. GridCal-4.7.0/GridCal/Engine/Simulations/Dynamics/transient_stability_driver.py +0 -106
  537. GridCal-4.7.0/GridCal/Engine/Simulations/InputsAnalysis/__init__.py +0 -2
  538. GridCal-4.7.0/GridCal/Engine/Simulations/InputsAnalysis/inputs_analysis_driver.py +0 -415
  539. GridCal-4.7.0/GridCal/Engine/Simulations/LinearFactors/__init__.py +0 -20
  540. GridCal-4.7.0/GridCal/Engine/Simulations/LinearFactors/linear_analysis.py +0 -454
  541. GridCal-4.7.0/GridCal/Engine/Simulations/LinearFactors/linear_analysis_driver.py +0 -271
  542. GridCal-4.7.0/GridCal/Engine/Simulations/LinearFactors/linear_analysis_ts_driver.py +0 -260
  543. GridCal-4.7.0/GridCal/Engine/Simulations/NTC/__init__.py +0 -8
  544. GridCal-4.7.0/GridCal/Engine/Simulations/NTC/ntc_driver.py +0 -477
  545. GridCal-4.7.0/GridCal/Engine/Simulations/NTC/ntc_opf.py +0 -3156
  546. GridCal-4.7.0/GridCal/Engine/Simulations/NTC/ntc_options.py +0 -126
  547. GridCal-4.7.0/GridCal/Engine/Simulations/NTC/ntc_results.py +0 -1272
  548. GridCal-4.7.0/GridCal/Engine/Simulations/NTC/ntc_ts_driver.py +0 -477
  549. GridCal-4.7.0/GridCal/Engine/Simulations/NTC/ntc_ts_results.py +0 -611
  550. GridCal-4.7.0/GridCal/Engine/Simulations/NonLinearFactors/__init__.py +0 -20
  551. GridCal-4.7.0/GridCal/Engine/Simulations/NonLinearFactors/nonlinear_analysis.py +0 -524
  552. GridCal-4.7.0/GridCal/Engine/Simulations/NonLinearFactors/nonlinear_analysis_driver.py +0 -257
  553. GridCal-4.7.0/GridCal/Engine/Simulations/NonLinearFactors/nonlinear_analysis_ts_driver.py +0 -260
  554. GridCal-4.7.0/GridCal/Engine/Simulations/OPF/__init__.py +0 -12
  555. GridCal-4.7.0/GridCal/Engine/Simulations/OPF/ac_opf.py +0 -369
  556. GridCal-4.7.0/GridCal/Engine/Simulations/OPF/ac_opf_ts.py +0 -455
  557. GridCal-4.7.0/GridCal/Engine/Simulations/OPF/dc_opf.py +0 -632
  558. GridCal-4.7.0/GridCal/Engine/Simulations/OPF/dc_opf_ts.py +0 -776
  559. GridCal-4.7.0/GridCal/Engine/Simulations/OPF/opf_driver.py +0 -168
  560. GridCal-4.7.0/GridCal/Engine/Simulations/OPF/opf_options.py +0 -116
  561. GridCal-4.7.0/GridCal/Engine/Simulations/OPF/opf_results.py +0 -297
  562. GridCal-4.7.0/GridCal/Engine/Simulations/OPF/opf_templates.py +0 -521
  563. GridCal-4.7.0/GridCal/Engine/Simulations/OPF/opf_ts_driver.py +0 -332
  564. GridCal-4.7.0/GridCal/Engine/Simulations/OPF/opf_ts_results.py +0 -318
  565. GridCal-4.7.0/GridCal/Engine/Simulations/OPF/simple_dispatch.py +0 -220
  566. GridCal-4.7.0/GridCal/Engine/Simulations/OPF/simple_dispatch_ts.py +0 -247
  567. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/__init__.py +0 -28
  568. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/ac_jacobian.py +0 -528
  569. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/acdc_jacobian.py +0 -787
  570. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/common_functions.py +0 -294
  571. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/derivatives.py +0 -949
  572. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/discrete_controls.py +0 -598
  573. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/fast_decoupled.py +0 -120
  574. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/gauss_power_flow.py +0 -114
  575. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/helm_power_flow.py +0 -743
  576. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/iwamoto_newton_raphson.py +0 -212
  577. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt.py +0 -230
  578. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt_acdc.py +0 -304
  579. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/linearized_power_flow.py +0 -178
  580. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson.py +0 -217
  581. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_acdc.py +0 -378
  582. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_current.py +0 -188
  583. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_decoupled.py +0 -196
  584. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_ode.py +0 -188
  585. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/__init__.py +0 -24
  586. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/power_flow_driver.py +0 -141
  587. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/power_flow_options.py +0 -142
  588. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/power_flow_results.py +0 -628
  589. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/power_flow_worker.py +0 -769
  590. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/time_Series_input.py +0 -166
  591. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/time_series_clustring_driver.py +0 -100
  592. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/time_series_driver.py +0 -401
  593. GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/time_series_results.py +0 -481
  594. GridCal-4.7.0/GridCal/Engine/Simulations/ShortCircuitStudies/__init__.py +0 -19
  595. GridCal-4.7.0/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit.py +0 -99
  596. GridCal-4.7.0/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit_driver.py +0 -347
  597. GridCal-4.7.0/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit_results.py +0 -485
  598. GridCal-4.7.0/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit_worker.py +0 -340
  599. GridCal-4.7.0/GridCal/Engine/Simulations/SigmaAnalysis/__init__.py +0 -2
  600. GridCal-4.7.0/GridCal/Engine/Simulations/SigmaAnalysis/sigma_analysis_driver.py +0 -427
  601. GridCal-4.7.0/GridCal/Engine/Simulations/StateEstimation/__init__.py +0 -3
  602. GridCal-4.7.0/GridCal/Engine/Simulations/StateEstimation/state_estimation.py +0 -452
  603. GridCal-4.7.0/GridCal/Engine/Simulations/StateEstimation/state_stimation_driver.py +0 -279
  604. GridCal-4.7.0/GridCal/Engine/Simulations/Stochastic/__init__.py +0 -19
  605. GridCal-4.7.0/GridCal/Engine/Simulations/Stochastic/blackout_driver.py +0 -335
  606. GridCal-4.7.0/GridCal/Engine/Simulations/Stochastic/latin_hypercube_sampling.py +0 -251
  607. GridCal-4.7.0/GridCal/Engine/Simulations/Stochastic/reliability_driver.py +0 -217
  608. GridCal-4.7.0/GridCal/Engine/Simulations/Stochastic/stochastic_power_flow_driver.py +0 -416
  609. GridCal-4.7.0/GridCal/Engine/Simulations/Stochastic/stochastic_power_flow_input.py +0 -112
  610. GridCal-4.7.0/GridCal/Engine/Simulations/Stochastic/stochastic_power_flow_results.py +0 -382
  611. GridCal-4.7.0/GridCal/Engine/Simulations/Topology/__init__.py +0 -18
  612. GridCal-4.7.0/GridCal/Engine/Simulations/Topology/topology_driver.py +0 -511
  613. GridCal-4.7.0/GridCal/Engine/Simulations/__init__.py +0 -33
  614. GridCal-4.7.0/GridCal/Engine/Simulations/driver_template.py +0 -101
  615. GridCal-4.7.0/GridCal/Engine/Simulations/driver_types.py +0 -63
  616. GridCal-4.7.0/GridCal/Engine/Simulations/result_types.py +0 -221
  617. GridCal-4.7.0/GridCal/Engine/Simulations/results_table.py +0 -390
  618. GridCal-4.7.0/GridCal/Engine/Simulations/results_template.py +0 -99
  619. GridCal-4.7.0/GridCal/Engine/Simulations/sparse_solve.py +0 -217
  620. GridCal-4.7.0/GridCal/Engine/Sparse/__init__.py +0 -18
  621. GridCal-4.7.0/GridCal/Engine/Sparse/csc.py +0 -486
  622. GridCal-4.7.0/GridCal/Engine/Sparse/csc_numba.py +0 -1070
  623. GridCal-4.7.0/GridCal/Engine/Sparse/utils.py +0 -74
  624. GridCal-4.7.0/GridCal/Engine/__init__.py +0 -26
  625. GridCal-4.7.0/GridCal/Engine/basic_structures.py +0 -1056
  626. GridCal-4.7.0/GridCal/Engine/grid_analysis.py +0 -107
  627. GridCal-4.7.0/GridCal/ExecuteGridCal.py +0 -60
  628. GridCal-4.7.0/GridCal/Gui/AboutDialogue/about_dialogue.py +0 -118
  629. GridCal-4.7.0/GridCal/Gui/AboutDialogue/gui.py +0 -142
  630. GridCal-4.7.0/GridCal/Gui/AboutDialogue/icons_rc.py +0 -328
  631. GridCal-4.7.0/GridCal/Gui/AboutDialogue/matplotlibwidget.py +0 -244
  632. GridCal-4.7.0/GridCal/Gui/AboutDialogue/update_gui_file.py +0 -9
  633. GridCal-4.7.0/GridCal/Gui/Analysis/AnalysisDialogue.py +0 -123
  634. GridCal-4.7.0/GridCal/Gui/Analysis/gui.py +0 -57
  635. GridCal-4.7.0/GridCal/Gui/Analysis/matplotlibwidget.py +0 -244
  636. GridCal-4.7.0/GridCal/Gui/Analysis/object_plot_analysis.py +0 -731
  637. GridCal-4.7.0/GridCal/Gui/Analysis/update_gui_file.py +0 -9
  638. GridCal-4.7.0/GridCal/Gui/BusViewer/bus_viewer_dialogue.py +0 -223
  639. GridCal-4.7.0/GridCal/Gui/BusViewer/gui.py +0 -132
  640. GridCal-4.7.0/GridCal/Gui/BusViewer/icons_rc.py +0 -846
  641. GridCal-4.7.0/GridCal/Gui/BusViewer/update_gui_file.py +0 -9
  642. GridCal-4.7.0/GridCal/Gui/ConsoleWidget.py +0 -69
  643. GridCal-4.7.0/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -110
  644. GridCal-4.7.0/GridCal/Gui/ContingencyPlanner/gui.py +0 -218
  645. GridCal-4.7.0/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -418
  646. GridCal-4.7.0/GridCal/Gui/ContingencyPlanner/update_gui_file.py +0 -9
  647. GridCal-4.7.0/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +0 -408
  648. GridCal-4.7.0/GridCal/Gui/CoordinatesInput/gui.py +0 -214
  649. GridCal-4.7.0/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -1588
  650. GridCal-4.7.0/GridCal/Gui/CoordinatesInput/matplotlibwidget.py +0 -244
  651. GridCal-4.7.0/GridCal/Gui/CoordinatesInput/update_gui_file.py +0 -9
  652. GridCal-4.7.0/GridCal/Gui/GIS/gis_dialogue.py +0 -120
  653. GridCal-4.7.0/GridCal/Gui/GIS/gui.py +0 -70
  654. GridCal-4.7.0/GridCal/Gui/GIS/icons_rc.py +0 -31991
  655. GridCal-4.7.0/GridCal/Gui/GIS/update_gui_file.py +0 -9
  656. GridCal-4.7.0/GridCal/Gui/GeneralDialogues.py +0 -486
  657. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/__init__.py +0 -17
  658. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/battery_graphics.py +0 -197
  659. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/bus_graphics.py +0 -679
  660. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/dc_line_graphics.py +0 -594
  661. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/editor.py +0 -1434
  662. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/generator_graphics.py +0 -260
  663. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/generic_graphics.py +0 -114
  664. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/hvdc_graphics.py +0 -470
  665. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/line_graphics.py +0 -827
  666. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/load_graphics.py +0 -190
  667. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/matplotlibwidget.py +0 -244
  668. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/messages.py +0 -75
  669. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/shunt_graphics.py +0 -217
  670. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/static_generator_graphics.py +0 -197
  671. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/terminal_item.py +0 -181
  672. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/transformer2w_graphics.py +0 -853
  673. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/transformer3w_graphics.py +0 -210
  674. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/upfc_graphics.py +0 -626
  675. GridCal-4.7.0/GridCal/Gui/GridEditorWidget/vsc_graphics.py +0 -620
  676. GridCal-4.7.0/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +0 -184
  677. GridCal-4.7.0/GridCal/Gui/GridGenerator/gui.py +0 -329
  678. GridCal-4.7.0/GridCal/Gui/GridGenerator/icons_rc.py +0 -422
  679. GridCal-4.7.0/GridCal/Gui/GridGenerator/matplotlibwidget.py +0 -244
  680. GridCal-4.7.0/GridCal/Gui/GridGenerator/update_gui_file.py +0 -9
  681. GridCal-4.7.0/GridCal/Gui/GuiFunctions.py +0 -1423
  682. GridCal-4.7.0/GridCal/Gui/LoadDesigner/gui.py +0 -269
  683. GridCal-4.7.0/GridCal/Gui/LoadDesigner/icons_rc.py +0 -1520
  684. GridCal-4.7.0/GridCal/Gui/LoadDesigner/load_designer.py +0 -146
  685. GridCal-4.7.0/GridCal/Gui/LoadDesigner/matplotlibwidget.py +0 -244
  686. GridCal-4.7.0/GridCal/Gui/LoadDesigner/update_gui_file.py +0 -9
  687. GridCal-4.7.0/GridCal/Gui/Main/ConsoleLog.py +0 -106
  688. GridCal-4.7.0/GridCal/Gui/Main/ConsoleLogController.py +0 -46
  689. GridCal-4.7.0/GridCal/Gui/Main/GridCalMain.py +0 -7391
  690. GridCal-4.7.0/GridCal/Gui/Main/MainWindow (SE).py +0 -2899
  691. GridCal-4.7.0/GridCal/Gui/Main/MainWindow.py +0 -5040
  692. GridCal-4.7.0/GridCal/Gui/Main/banner.py +0 -443
  693. GridCal-4.7.0/GridCal/Gui/Main/icons_rc.py +0 -23557
  694. GridCal-4.7.0/GridCal/Gui/Main/matplotlibwidget.py +0 -244
  695. GridCal-4.7.0/GridCal/Gui/Main/object_select_window.py +0 -68
  696. GridCal-4.7.0/GridCal/Gui/Main/update_gui_file.py +0 -20
  697. GridCal-4.7.0/GridCal/Gui/ProfilesInput/excel_dialog.py +0 -41
  698. GridCal-4.7.0/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +0 -49
  699. GridCal-4.7.0/GridCal/Gui/ProfilesInput/icons_rc.py +0 -1901
  700. GridCal-4.7.0/GridCal/Gui/ProfilesInput/matplotlibwidget.py +0 -244
  701. GridCal-4.7.0/GridCal/Gui/ProfilesInput/models_dialogue.py +0 -285
  702. GridCal-4.7.0/GridCal/Gui/ProfilesInput/profile_dialogue.py +0 -687
  703. GridCal-4.7.0/GridCal/Gui/ProfilesInput/profiles_from_data.py +0 -10
  704. GridCal-4.7.0/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +0 -346
  705. GridCal-4.7.0/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +0 -119
  706. GridCal-4.7.0/GridCal/Gui/ProfilesInput/update_gui_file.py +0 -9
  707. GridCal-4.7.0/GridCal/Gui/Session/export_results_driver.py +0 -114
  708. GridCal-4.7.0/GridCal/Gui/Session/file_handler.py +0 -197
  709. GridCal-4.7.0/GridCal/Gui/Session/results_model.py +0 -290
  710. GridCal-4.7.0/GridCal/Gui/Session/session.py +0 -376
  711. GridCal-4.7.0/GridCal/Gui/Session/synchronization_driver.py +0 -423
  712. GridCal-4.7.0/GridCal/Gui/SigmaAnalysis/gui.py +0 -98
  713. GridCal-4.7.0/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -1715
  714. GridCal-4.7.0/GridCal/Gui/SigmaAnalysis/matplotlibwidget.py +0 -244
  715. GridCal-4.7.0/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -111
  716. GridCal-4.7.0/GridCal/Gui/SigmaAnalysis/update_gui_file.py +0 -9
  717. GridCal-4.7.0/GridCal/Gui/SyncDialogue/gui.py +0 -102
  718. GridCal-4.7.0/GridCal/Gui/SyncDialogue/icons_rc.py +0 -709
  719. GridCal-4.7.0/GridCal/Gui/SyncDialogue/sync_dialogue.py +0 -118
  720. GridCal-4.7.0/GridCal/Gui/SyncDialogue/update_gui_file.py +0 -9
  721. GridCal-4.7.0/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +0 -289
  722. GridCal-4.7.0/GridCal/Gui/TowerBuilder/gui.py +0 -361
  723. GridCal-4.7.0/GridCal/Gui/TowerBuilder/icons_rc.py +0 -927
  724. GridCal-4.7.0/GridCal/Gui/TowerBuilder/matplotlibwidget.py +0 -244
  725. GridCal-4.7.0/GridCal/Gui/TowerBuilder/table_models.py +0 -378
  726. GridCal-4.7.0/GridCal/Gui/TowerBuilder/test_.py +0 -162
  727. GridCal-4.7.0/GridCal/Gui/TowerBuilder/update_gui_file.py +0 -9
  728. GridCal-4.7.0/GridCal/Gui/Visualization/visualization.py +0 -614
  729. GridCal-4.7.0/GridCal/Gui/plot_config.py +0 -45
  730. GridCal-4.7.0/GridCal/Gui/pySlipQt/blue_marble.py +0 -99
  731. GridCal-4.7.0/GridCal/Gui/pySlipQt/cartodb.py +0 -102
  732. GridCal-4.7.0/GridCal/Gui/pySlipQt/gmt_local.py +0 -180
  733. GridCal-4.7.0/GridCal/Gui/pySlipQt/log.py +0 -211
  734. GridCal-4.7.0/GridCal/Gui/pySlipQt/mapquest.py +0 -100
  735. GridCal-4.7.0/GridCal/Gui/pySlipQt/modest_maps.py +0 -98
  736. GridCal-4.7.0/GridCal/Gui/pySlipQt/open_street_map.py +0 -105
  737. GridCal-4.7.0/GridCal/Gui/pySlipQt/pySlipQt.py +0 -3687
  738. GridCal-4.7.0/GridCal/Gui/pySlipQt/pycacheback.py +0 -103
  739. GridCal-4.7.0/GridCal/Gui/pySlipQt/stamen_toner.py +0 -99
  740. GridCal-4.7.0/GridCal/Gui/pySlipQt/stamen_transport.py +0 -102
  741. GridCal-4.7.0/GridCal/Gui/pySlipQt/stamen_watercolor.py +0 -101
  742. GridCal-4.7.0/GridCal/Gui/pySlipQt/sys_tile_data.py +0 -438
  743. GridCal-4.7.0/GridCal/Gui/pySlipQt/tiles.py +0 -272
  744. GridCal-4.7.0/GridCal/Gui/pySlipQt/tiles_net.py +0 -427
  745. GridCal-4.7.0/GridCal/Gui/themes.py +0 -55
  746. GridCal-4.7.0/GridCal/Gui/update_gui_all.py +0 -28
  747. GridCal-4.7.0/GridCal/Gui/update_gui_common.py +0 -102
  748. GridCal-4.7.0/GridCal/LICENSE.txt +0 -222
  749. GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/README.md +0 -71
  750. GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/__pycache__/__init__.cpython-310.pyc +0 -0
  751. GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/__pycache__/__init__.cpython-38.pyc +0 -0
  752. GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/__pycache__/__init__.cpython-39.pyc +0 -0
  753. GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/__pycache__/rpgm_algo.cpython-310.pyc +0 -0
  754. GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/__pycache__/rpgm_algo.cpython-38.pyc +0 -0
  755. GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/__pycache__/rpgm_algo.cpython-39.pyc +0 -0
  756. GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/rpgm_algo.py +0 -474
  757. GridCal-4.7.0/GridCal/ThirdParty/__pycache__/__init__.cpython-310.pyc +0 -0
  758. GridCal-4.7.0/GridCal/ThirdParty/__pycache__/__init__.cpython-38.pyc +0 -0
  759. GridCal-4.7.0/GridCal/ThirdParty/__pycache__/__init__.cpython-39.pyc +0 -0
  760. GridCal-4.7.0/GridCal/ThirdParty/pulp/LICENSE.txt +0 -21
  761. GridCal-4.7.0/GridCal/ThirdParty/pulp/__init__.py +0 -40
  762. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/__init__.cpython-310.pyc +0 -0
  763. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/__init__.cpython-38.pyc +0 -0
  764. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/__init__.cpython-39.pyc +0 -0
  765. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/amply.cpython-310.pyc +0 -0
  766. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/amply.cpython-38.pyc +0 -0
  767. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/amply.cpython-39.pyc +0 -0
  768. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/constants.cpython-310.pyc +0 -0
  769. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/constants.cpython-38.pyc +0 -0
  770. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/constants.cpython-39.pyc +0 -0
  771. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/mps_lp.cpython-310.pyc +0 -0
  772. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/mps_lp.cpython-38.pyc +0 -0
  773. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/mps_lp.cpython-39.pyc +0 -0
  774. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/pulp.cpython-310.pyc +0 -0
  775. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/pulp.cpython-38.pyc +0 -0
  776. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/pulp.cpython-39.pyc +0 -0
  777. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/pulp_extra.cpython-310.pyc +0 -0
  778. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/pulp_extra.cpython-38.pyc +0 -0
  779. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/pulp_extra.cpython-39.pyc +0 -0
  780. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/solvers.cpython-310.pyc +0 -0
  781. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/solvers.cpython-38.pyc +0 -0
  782. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/solvers.cpython-39.pyc +0 -0
  783. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/sparse.cpython-310.pyc +0 -0
  784. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/sparse.cpython-38.pyc +0 -0
  785. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/sparse.cpython-39.pyc +0 -0
  786. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/tests.cpython-310.pyc +0 -0
  787. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/tests.cpython-38.pyc +0 -0
  788. GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/tests.cpython-39.pyc +0 -0
  789. GridCal-4.7.0/GridCal/ThirdParty/pulp/amply.py +0 -782
  790. GridCal-4.7.0/GridCal/ThirdParty/pulp/constants.py +0 -104
  791. GridCal-4.7.0/GridCal/ThirdParty/pulp/mps_lp.py +0 -391
  792. GridCal-4.7.0/GridCal/ThirdParty/pulp/pulp.cfg.buildout +0 -15
  793. GridCal-4.7.0/GridCal/ThirdParty/pulp/pulp.cfg.linux +0 -19
  794. GridCal-4.7.0/GridCal/ThirdParty/pulp/pulp.cfg.osx +0 -19
  795. GridCal-4.7.0/GridCal/ThirdParty/pulp/pulp.cfg.win +0 -18
  796. GridCal-4.7.0/GridCal/ThirdParty/pulp/pulp.py +0 -2431
  797. GridCal-4.7.0/GridCal/ThirdParty/pulp/pulp_extra.py +0 -300
  798. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__init__.py +0 -34
  799. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/__init__.cpython-310.pyc +0 -0
  800. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/__init__.cpython-38.pyc +0 -0
  801. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/__init__.cpython-39.pyc +0 -0
  802. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/coin.cpython-310.pyc +0 -0
  803. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/coin.cpython-38.pyc +0 -0
  804. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/coin.cpython-39.pyc +0 -0
  805. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/cplex.cpython-310.pyc +0 -0
  806. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/cplex.cpython-38.pyc +0 -0
  807. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/cplex.cpython-39.pyc +0 -0
  808. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/glpk.cpython-310.pyc +0 -0
  809. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/glpk.cpython-38.pyc +0 -0
  810. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/glpk.cpython-39.pyc +0 -0
  811. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/gurobi.cpython-310.pyc +0 -0
  812. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/gurobi.cpython-38.pyc +0 -0
  813. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/gurobi.cpython-39.pyc +0 -0
  814. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/highs.cpython-310.pyc +0 -0
  815. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/highs.cpython-38.pyc +0 -0
  816. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/highs.cpython-39.pyc +0 -0
  817. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/scip.cpython-310.pyc +0 -0
  818. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/scip.cpython-38.pyc +0 -0
  819. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/scip.cpython-39.pyc +0 -0
  820. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/xpress.cpython-310.pyc +0 -0
  821. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/xpress.cpython-38.pyc +0 -0
  822. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/xpress.cpython-39.pyc +0 -0
  823. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/yaposib.cpython-310.pyc +0 -0
  824. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/yaposib.cpython-38.pyc +0 -0
  825. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/yaposib.cpython-39.pyc +0 -0
  826. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/coin.py +0 -512
  827. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/cplex.py +0 -840
  828. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/glpk.py +0 -377
  829. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/gridcal_solver.py +0 -36
  830. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/gurobi.py +0 -366
  831. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/highs.py +0 -258
  832. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/scip.py +0 -149
  833. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/xpress.py +0 -159
  834. GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/yaposib.py +0 -230
  835. GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/cbc/linux/32/coin-license.txt +0 -239
  836. GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/cbc/linux/64/coin-license.txt +0 -239
  837. GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/cbc/osx/64/coin-license.txt +0 -239
  838. GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/cbc/win/32/coin-license.txt +0 -239
  839. GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/cbc/win/64/coin-license.txt +0 -239
  840. GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/highs/highs-license.txt +0 -24
  841. GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/highs/linux/64/__init__.py +0 -40
  842. GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/highs/linux/__init__.py +0 -40
  843. GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/highs/osx/64/__init__.py +0 -40
  844. GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/highs/osx/__init__.py +0 -40
  845. GridCal-4.7.0/GridCal/ThirdParty/pulp/solvers.py +0 -455
  846. GridCal-4.7.0/GridCal/ThirdParty/pulp/sparse.py +0 -117
  847. GridCal-4.7.0/GridCal/ThirdParty/pulp/tests.py +0 -619
  848. GridCal-4.7.0/GridCal/__version__.py +0 -40
  849. GridCal-4.7.0/GridCal/data/cables.csv +0 -462
  850. GridCal-4.7.0/GridCal/data/transformers.csv +0 -756
  851. GridCal-4.7.0/GridCal/data/wires.csv +0 -100
  852. GridCal-4.7.0/GridCal/update.py +0 -80
  853. GridCal-4.7.0/GridCal.egg-info/PKG-INFO +0 -17
  854. GridCal-4.7.0/GridCal.egg-info/SOURCES.txt +0 -481
  855. GridCal-4.7.0/MANIFEST.in +0 -9
  856. GridCal-4.7.0/PKG-INFO +0 -17
  857. GridCal-4.7.0/README.md +0 -18
  858. GridCal-4.7.0/setup.cfg +0 -4
  859. GridCal-4.7.0/setup.py +0 -281
  860. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Engine/IO/cim/__init__.py +0 -0
  861. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Engine/IO/matpower/__init__.py +0 -0
  862. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Engine/Replacements/__init__.py +0 -0
  863. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Engine/Simulations/Dynamics/__init__.py +0 -0
  864. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
  865. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/Analysis/__init__.py +0 -0
  866. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/BusViewer/__init__.py +0 -0
  867. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/ContingencyPlanner/__init__.py +0 -0
  868. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/CoordinatesInput/__init__.py +0 -0
  869. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/GIS/__init__.py +0 -0
  870. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/GridGenerator/__init__.py +0 -0
  871. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/LoadDesigner/__init__.py +0 -0
  872. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/Main/__init__.py +0 -0
  873. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/ProfilesInput/__init__.py +0 -0
  874. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/Session/__init__.py +0 -0
  875. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/SigmaAnalysis/__init__.py +0 -0
  876. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/SyncDialogue/__init__.py +0 -0
  877. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/TowerBuilder/__init__.py +0 -0
  878. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/Visualization/__init__.py +0 -0
  879. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/__init__.py +0 -0
  880. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/pySlipQt/__init__.py +0 -0
  881. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/win/32/cbc.exe +0 -0
  882. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/win/64/cbc.exe +0 -0
  883. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/highs.exe +0 -0
  884. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/__init__.py +0 -0
  885. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/data/__init__.py +0 -0
  886. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal.egg-info/dependency_links.txt +0 -0
  887. {GridCal-4.7.0 → GridCal-4.7.1}/GridCal.egg-info/requires.txt +0 -0
  888. {GridCal-4.7.0 → 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()