VeraGrid 5.6.2__tar.gz → 5.6.4__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 (311) hide show
  1. {veragrid-5.6.2 → veragrid-5.6.4}/PKG-INFO +1 -1
  2. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/CoordinatesInput/coordinates_dialogue.py +25 -17
  3. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/diagram_bus_selection_dialogue.py +5 -6
  4. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/schematic_widget.py +1 -1
  5. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridReduce/grid_reduce.py +48 -23
  6. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridReduce/grid_reduce_gui.py +7 -0
  7. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/Model/data_base.py +14 -4
  8. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/Model/diagrams.py +17 -15
  9. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/Model/time_events.py +6 -0
  10. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/simulations.py +168 -114
  11. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/__version__.py +1 -1
  12. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ExecuteVeraGrid.py +0 -0
  13. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/AboutDialogue/__init__.py +0 -0
  14. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/AboutDialogue/about_dialogue.py +0 -0
  15. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/AboutDialogue/gui.py +0 -0
  16. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/AboutDialogue/icons_rc.py +0 -0
  17. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/AboutDialogue/update_gui_file.py +0 -0
  18. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Analysis/AnalysisDialogue.py +0 -0
  19. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Analysis/__init__.py +0 -0
  20. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Analysis/gui.py +0 -0
  21. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Analysis/icons_rc.py +0 -0
  22. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Analysis/object_plot_analysis.py +0 -0
  23. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Analysis/update_gui_file.py +0 -0
  24. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/ContingencyPlanner/__init__.py +0 -0
  25. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -0
  26. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/ContingencyPlanner/gui.py +0 -0
  27. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/ContingencyPlanner/icons_rc.py +0 -0
  28. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/ContingencyPlanner/update_gui_file.py +0 -0
  29. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/CoordinatesInput/__init__.py +0 -0
  30. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/CoordinatesInput/gui.py +0 -0
  31. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/CoordinatesInput/icons_rc.py +0 -0
  32. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/CoordinatesInput/update_gui_file.py +0 -0
  33. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/Editors/__init__.py +0 -0
  34. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/Editors/controllable_shunt_editor.py +0 -0
  35. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/Editors/generator_editor.py +0 -0
  36. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/Editors/line_editor.py +0 -0
  37. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/Editors/new_line_dialogue.py +0 -0
  38. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/Editors/transformer3w_editor.py +0 -0
  39. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/Editors/transformer_editor.py +0 -0
  40. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/Editors/transformer_taps_editor.py +0 -0
  41. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Branches/__init__.py +0 -0
  42. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Branches/line_location_graphic_item.py +0 -0
  43. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_ac_line.py +0 -0
  44. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_dc_line.py +0 -0
  45. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_fluid_path.py +0 -0
  46. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_hvdc_line.py +0 -0
  47. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_line_container.py +0 -0
  48. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +0 -0
  49. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Injections/__init__.py +0 -0
  50. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_battery_graphics.py +0 -0
  51. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_external_grid_graphics.py +0 -0
  52. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_generator_graphics.py +0 -0
  53. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_injections_template_graphics.py +0 -0
  54. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_load_graphics.py +0 -0
  55. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_static_generator_graphics.py +0 -0
  56. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Substation/__init__.py +0 -0
  57. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Substation/node_template.py +0 -0
  58. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Substation/substation_graphic_item.py +0 -0
  59. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Substation/voltage_level_graphic_item.py +0 -0
  60. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/__init__.py +0 -0
  61. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/blue_marble.py +0 -0
  62. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/cartodb.py +0 -0
  63. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/__init__.py +0 -0
  64. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
  65. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
  66. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
  67. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
  68. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tiles.py +0 -0
  69. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
  70. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/__init__.py +0 -0
  71. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/grid_map_widget.py +0 -0
  72. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/MapWidget/map_widget.py +0 -0
  73. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/__init__.py +0 -0
  74. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +0 -0
  75. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +0 -0
  76. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +0 -0
  77. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +0 -0
  78. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +0 -0
  79. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +0 -0
  80. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +0 -0
  81. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +0 -0
  82. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +0 -0
  83. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +0 -0
  84. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics_3term.py +0 -0
  85. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +0 -0
  86. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/__init__.py +0 -0
  87. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +0 -0
  88. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +0 -0
  89. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +0 -0
  90. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +0 -0
  91. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +0 -0
  92. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/__init__.py +0 -0
  93. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +0 -0
  94. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +0 -0
  95. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +0 -0
  96. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +0 -0
  97. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +0 -0
  98. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +0 -0
  99. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +0 -0
  100. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +0 -0
  101. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +0 -0
  102. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Substation/__init__.py +0 -0
  103. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +0 -0
  104. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/__init__.py +0 -0
  105. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +0 -0
  106. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/SchematicWidget/terminal_item.py +0 -0
  107. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/__init__.py +0 -0
  108. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/base_diagram_widget.py +0 -0
  109. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/diagrams_model.py +0 -0
  110. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/generic_graphics.py +0 -0
  111. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Diagrams/graphics_manager.py +0 -0
  112. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridGenerator/__init__.py +0 -0
  113. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
  114. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridGenerator/gui.py +0 -0
  115. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridGenerator/icons_rc.py +0 -0
  116. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridGenerator/update_gui_file.py +0 -0
  117. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridMerge/__init__.py +0 -0
  118. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridMerge/build_diff_tree.py +0 -0
  119. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridMerge/grid_diff.py +0 -0
  120. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridMerge/grid_diff_gui.py +0 -0
  121. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridMerge/grid_merge.py +0 -0
  122. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridMerge/grid_merge_gui.py +0 -0
  123. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridMerge/update_gui_file.py +0 -0
  124. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridReduce/__init__.py +0 -0
  125. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/GridReduce/update_gui_file.py +0 -0
  126. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/LoadCatalogue/SelectComponents.py +0 -0
  127. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/LoadCatalogue/__init__.py +0 -0
  128. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/LoadCatalogue/catalogue_dialogue.py +0 -0
  129. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/LoadCatalogue/icons_rc.py +0 -0
  130. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/LoadCatalogue/update_gui_file.py +0 -0
  131. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/LoadDesigner/__init__.py +0 -0
  132. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/LoadDesigner/icons_rc.py +0 -0
  133. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/LoadDesigner/load_designer.py +0 -0
  134. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/LoadDesigner/load_designer_ui.py +0 -0
  135. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/LoadDesigner/update_gui_file.py +0 -0
  136. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/ConsoleLog.py +0 -0
  137. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/ConsoleLogController.py +0 -0
  138. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/MainWindow.py +0 -0
  139. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/Model/__init__.py +0 -0
  140. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/Model/compiled_arrays.py +0 -0
  141. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/Model/compiled_arrays_model.py +0 -0
  142. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/README.txt +0 -0
  143. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/Results/__init__.py +0 -0
  144. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/Results/results.py +0 -0
  145. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
  146. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/Scripting/scripting.py +0 -0
  147. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/Server/__init__.py +0 -0
  148. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/Server/server.py +0 -0
  149. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/Settings/__init__.py +0 -0
  150. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/Settings/configuration.py +0 -0
  151. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/__init__.py +0 -0
  152. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/base_gui.py +0 -0
  153. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/SubClasses/io.py +0 -0
  154. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/VeraGridMain.py +0 -0
  155. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/__init__.py +0 -0
  156. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/icons_rc.py +0 -0
  157. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/object_select_window.py +0 -0
  158. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Main/update_gui_file.py +0 -0
  159. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/ProfilesInput/__init__.py +0 -0
  160. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/ProfilesInput/excel_dialog.py +0 -0
  161. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
  162. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/ProfilesInput/icons_rc.py +0 -0
  163. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/ProfilesInput/models_dialogue.py +0 -0
  164. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/ProfilesInput/profile_dialogue.py +0 -0
  165. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
  166. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
  167. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/ProfilesInput/update_gui_file.py +0 -0
  168. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/RmsModelEditor/__init__.py +0 -0
  169. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/RmsModelEditor/block_data_dialogue.py +0 -0
  170. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/RmsModelEditor/icons_rc.py +0 -0
  171. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/RmsModelEditor/rms_model_editor.py +0 -0
  172. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/RmsModelEditor/rms_model_editor_engine.py +0 -0
  173. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/RmsModelEditor/update_gui_file.py +0 -0
  174. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/RosetaExplorer/MainWindow.py +0 -0
  175. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/RosetaExplorer/RosetaExplorer.py +0 -0
  176. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/RosetaExplorer/__init__.py +0 -0
  177. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/RosetaExplorer/icons_rc.py +0 -0
  178. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/RosetaExplorer/roseta_objects_model.py +0 -0
  179. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/RosetaExplorer/update_gui_file.py +0 -0
  180. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SigmaAnalysis/__init__.py +0 -0
  181. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SigmaAnalysis/gui.py +0 -0
  182. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SigmaAnalysis/icons_rc.py +0 -0
  183. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -0
  184. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SigmaAnalysis/update_gui_file.py +0 -0
  185. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SolarPowerWizard/__init__.py +0 -0
  186. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SolarPowerWizard/gui.py +0 -0
  187. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SolarPowerWizard/icons_rc.py +0 -0
  188. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
  189. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SolarPowerWizard/update_gui_file.py +0 -0
  190. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SubstationDesigner/__init__.py +0 -0
  191. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SubstationDesigner/substation_designer.py +0 -0
  192. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SubstationDesigner/substation_designer_gui.py +0 -0
  193. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SubstationDesigner/update_gui_file.py +0 -0
  194. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SubstationDesigner/voltage_level_conversion.py +0 -0
  195. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SyncDialogue/__init__.py +0 -0
  196. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SyncDialogue/gui.py +0 -0
  197. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SyncDialogue/icons_rc.py +0 -0
  198. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SyncDialogue/sync_dialogue.py +0 -0
  199. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SyncDialogue/update_gui_file.py +0 -0
  200. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SystemScaler/__init__.py +0 -0
  201. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SystemScaler/icons_rc.py +0 -0
  202. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SystemScaler/system_scaler.py +0 -0
  203. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SystemScaler/system_scaler_ui.py +0 -0
  204. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/SystemScaler/update_gui_file.py +0 -0
  205. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/TowerBuilder/LineBuilderDialogue.py +0 -0
  206. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/TowerBuilder/__init__.py +0 -0
  207. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/TowerBuilder/icons_rc.py +0 -0
  208. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/TowerBuilder/table_models.py +0 -0
  209. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/TowerBuilder/tower_builder.py +0 -0
  210. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/TowerBuilder/update_gui_file.py +0 -0
  211. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/TreeModelViewer/MainWindow.py +0 -0
  212. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/TreeModelViewer/TreeModelViewer.py +0 -0
  213. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/TreeModelViewer/__init__.py +0 -0
  214. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/TreeModelViewer/icons_rc.py +0 -0
  215. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/TreeModelViewer/update_gui_file.py +0 -0
  216. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Visualization/__init__.py +0 -0
  217. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Visualization/visualization.py +0 -0
  218. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Widgets/__init__.py +0 -0
  219. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Widgets/custom_qrangeslider.py +0 -0
  220. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/Widgets/matplotlibwidget.py +0 -0
  221. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/WindPowerWizard/__init__.py +0 -0
  222. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/WindPowerWizard/gui.py +0 -0
  223. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/WindPowerWizard/icons_rc.py +0 -0
  224. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/WindPowerWizard/update_gui_file.py +0 -0
  225. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
  226. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/__init__.py +0 -0
  227. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/associations_model.py +0 -0
  228. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/correct_icons.py +0 -0
  229. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/general_dialogues.py +0 -0
  230. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/gui_functions.py +0 -0
  231. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/messages.py +0 -0
  232. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/object_model.py +0 -0
  233. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/object_proxy_model.py +0 -0
  234. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/pandas_model.py +0 -0
  235. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/plot_config.py +0 -0
  236. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/profiles_model.py +0 -0
  237. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/python_console.py +0 -0
  238. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/python_highlighter.py +0 -0
  239. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/results_model.py +0 -0
  240. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/rms_events_editor_dialog.py +0 -0
  241. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/rms_plot_variables_dialog.py +0 -0
  242. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/table_view_header_wrap.py +0 -0
  243. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/themes.py +0 -0
  244. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/toast_widget.py +0 -0
  245. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/update_gui_all.py +0 -0
  246. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/update_gui_common.py +0 -0
  247. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Gui/wrappable_table_model.py +0 -0
  248. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/LICENSE.txt +0 -0
  249. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Session/__init__.py +0 -0
  250. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Session/export_results_driver.py +0 -0
  251. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Session/file_handler.py +0 -0
  252. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Session/server_driver.py +0 -0
  253. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Session/session.py +0 -0
  254. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/Session/synchronization_driver.py +0 -0
  255. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/__init__.py +0 -0
  256. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/darkdetect/__init__.py +0 -0
  257. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/darkdetect/_dummy.py +0 -0
  258. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/darkdetect/_linux_detect.py +0 -0
  259. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/darkdetect/_mac_detect.py +0 -0
  260. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/darkdetect/_windows_detect.py +0 -0
  261. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/__init__.py +0 -0
  262. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_color.py +0 -0
  263. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_icon/__init__.py +0 -0
  264. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_icon/icon_engine.py +0 -0
  265. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_icon/svg.py +0 -0
  266. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_main.py +0 -0
  267. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/__init__.py +0 -0
  268. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +0 -0
  269. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +0 -0
  270. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/listener.py +0 -0
  271. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_proxy_style.py +0 -0
  272. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_resources/__init__.py +0 -0
  273. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_resources/colors.py +0 -0
  274. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_resources/palette.py +0 -0
  275. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_resources/standard_icons.py +0 -0
  276. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_resources/stylesheets.py +0 -0
  277. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_resources/svg.py +0 -0
  278. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_style_loader.py +0 -0
  279. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_template/__init__.py +0 -0
  280. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_template/engine.py +0 -0
  281. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_template/filter.py +0 -0
  282. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/_util.py +0 -0
  283. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +0 -0
  284. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +0 -0
  285. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +0 -0
  286. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +0 -0
  287. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/qtpy/__init__.py +0 -0
  288. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/qtpy/qt_compat.py +0 -0
  289. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/qtpy/qt_version.py +0 -0
  290. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/__init__.py +0 -0
  291. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/__main__.py +0 -0
  292. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +0 -0
  293. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +0 -0
  294. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +0 -0
  295. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +0 -0
  296. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +0 -0
  297. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +0 -0
  298. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/main_window.py +0 -0
  299. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/__init__.py +0 -0
  300. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/data/VeraGrid.ico +0 -0
  301. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/data/VeraGrid.svg +0 -0
  302. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/data/__init__.py +0 -0
  303. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/data/cables.csv +0 -0
  304. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/data/sequence_lines.csv +0 -0
  305. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/data/transformers.csv +0 -0
  306. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/data/wires.csv +0 -0
  307. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/plugins.py +0 -0
  308. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/templates.py +0 -0
  309. {veragrid-5.6.2 → veragrid-5.6.4}/VeraGrid/update.py +0 -0
  310. {veragrid-5.6.2 → veragrid-5.6.4}/setup.cfg +0 -0
  311. {veragrid-5.6.2 → veragrid-5.6.4}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: VeraGrid
3
- Version: 5.6.2
3
+ Version: 5.6.4
4
4
  Summary: VeraGrid is a Power Systems simulation program intended for professional use and research
5
5
  Home-page: https://github.com/SanPen/VeraGrid
6
6
  Author: Santiago Peñate Vera et. Al.
@@ -438,26 +438,34 @@ class CoordinatesInputGUI(QtWidgets.QDialog):
438
438
  if self.ui.longitudeCheckBox.isChecked():
439
439
  bus.longitude = self.associations.get_longitude_at(i)
440
440
 
441
+ if bus.substation is not None:
442
+ if bus.substation.longitude == 0.0:
443
+ bus.substation.longitude = bus.longitude
444
+
441
445
  if self.ui.latitudeCheckBox.isChecked():
442
446
  bus.latitude = self.associations.get_latitude_at(i)
443
447
 
444
- self.close()
445
-
448
+ if bus.substation is not None:
449
+ if bus.substation.latitude == 0.0:
450
+ bus.substation.latitude = bus.latitude
446
451
 
447
- if __name__ == "__main__":
448
- app = QtWidgets.QApplication(sys.argv)
449
-
450
- class TestObj:
451
- def __init__(self, name, code, x=0, y=0, latitude=0, longitude=0):
452
- self.name = name
453
- self.code = code
454
- self.x = x
455
- self.y = y
456
- self.latitude = latitude
457
- self.longitude = longitude
452
+ self.close()
458
453
 
459
454
 
460
- window = CoordinatesInputGUI(list_of_objects=[TestObj('Test object', 'code')] * 10)
461
- window.resize(1.61 * 700.0, 600.0) # golden ratio
462
- window.show()
463
- sys.exit(app.exec())
455
+ # if __name__ == "__main__":
456
+ # app = QtWidgets.QApplication(sys.argv)
457
+ #
458
+ # class TestObj:
459
+ # def __init__(self, name, code, x=0, y=0, latitude=0, longitude=0):
460
+ # self.name = name
461
+ # self.code = code
462
+ # self.x = x
463
+ # self.y = y
464
+ # self.latitude = latitude
465
+ # self.longitude = longitude
466
+ #
467
+ #
468
+ # window = CoordinatesInputGUI(list_of_objects=[TestObj('Test object', 'code')] * 10)
469
+ # window.resize(1.61 * 700.0, 600.0) # golden ratio
470
+ # window.show()
471
+ # sys.exit(app.exec())
@@ -3,14 +3,13 @@
3
3
  # file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
4
  # SPDX-License-Identifier: MPL-2.0
5
5
  from __future__ import annotations
6
- from typing import List, Union, Any, TYPE_CHECKING
7
- from PySide6 import QtCore, QtGui, QtWidgets
8
- from PySide6.QtWidgets import (QApplication, QDialog, QTableView, QVBoxLayout, QPushButton, QHBoxLayout,
9
- QLabel, QComboBox, QSpacerItem, QSizePolicy)
6
+ from typing import List, TYPE_CHECKING
7
+ from PySide6 import QtWidgets
8
+ from PySide6.QtWidgets import (QVBoxLayout, QPushButton)
10
9
 
11
10
  from VeraGrid.Gui.Diagrams.SchematicWidget.schematic_widget import (SchematicWidget, make_diagram_from_buses,
12
11
  SchematicDiagram)
13
- from VeraGridEngine.Devices.Substation.substation import Substation
12
+ from VeraGridEngine.Devices.Substation.substation import Substation, DeviceType
14
13
  from VeraGridEngine.Devices.Substation.bus import Bus
15
14
  from VeraGridEngine.Devices.multi_circuit import MultiCircuit
16
15
 
@@ -38,7 +37,7 @@ class DiagramBusSelectorDialogue(QtWidgets.QDialog):
38
37
 
39
38
  self.layout = QVBoxLayout(self)
40
39
 
41
- selected_buses = grid.get_buses_from_objects(elements=[substation])
40
+ selected_buses = grid.get_buses_from_objects(elements=[substation], dtype=DeviceType.SubstationDevice)
42
41
 
43
42
  if len(selected_buses):
44
43
  diagram = make_diagram_from_buses(circuit=grid,
@@ -4735,7 +4735,7 @@ class SchematicWidget(BaseDiagramWidget):
4735
4735
  vl_wizard.setModal(True)
4736
4736
  vl_wizard.exec() # waits until closed
4737
4737
 
4738
- if vl_wizard.closed_ok is not None:
4738
+ if vl_wizard.closed_ok:
4739
4739
  (new_buses,
4740
4740
  conn_buses,
4741
4741
  associated_branches,
@@ -10,15 +10,16 @@ import numpy as np
10
10
  from VeraGrid.Gui.GridReduce.grid_reduce_gui import Ui_ReduceDialog
11
11
  from VeraGrid.Gui.general_dialogues import LogsDialogue
12
12
  from VeraGrid.Gui.messages import yes_no_question, warning_msg
13
- from VeraGrid.Gui.gui_functions import get_list_model
13
+ from VeraGrid.Gui.gui_functions import get_list_model, enums_to_model
14
14
  from VeraGrid.Session.session import SimulationSession
15
15
  from VeraGridEngine.Devices.Substation.bus import Bus
16
16
  from VeraGridEngine.Devices.multi_circuit import MultiCircuit
17
17
  from VeraGridEngine.Topology.GridReduction.di_shi_grid_reduction import di_shi_reduction
18
- from VeraGridEngine.Topology.GridReduction.ptdf_grid_reduction import ptdf_reduction, ptdf_reduction_projected, ptdf_reduction_ree_bad, ptdf_reduction_ree_less_bad
18
+ from VeraGridEngine.Topology.GridReduction.ptdf_grid_reduction import ptdf_reduction, ptdf_reduction_projected, \
19
+ ptdf_reduction_ree_bad, ptdf_reduction_ree_less_bad
19
20
  from VeraGridEngine.Topology.GridReduction.ward_equivalents import ward_standard_reduction
20
21
  from VeraGridEngine.basic_structures import Logger
21
- from VeraGridEngine.enumerations import GridReductionMethod
22
+ from VeraGridEngine.enumerations import GridReductionMethod, BusReductionMethod
22
23
 
23
24
 
24
25
  class GridReduceDialogue(QtWidgets.QDialog):
@@ -44,12 +45,18 @@ class GridReduceDialogue(QtWidgets.QDialog):
44
45
 
45
46
  self.ui.listView.setModel(get_list_model(list(selected_buses_set)))
46
47
 
47
- methods = [GridReductionMethod.PTDF,
48
- GridReductionMethod.PTDFProjected,
49
- GridReductionMethod.DiShi,
50
- GridReductionMethod.Ward]
51
- self.methods_dict = {m.value: m for m in methods}
52
- self.ui.methodComboBox.setModel(get_list_model([m.value for m in methods]))
48
+ self.methods_dict, methods_mdl = enums_to_model(
49
+ [GridReductionMethod.PTDF,
50
+ GridReductionMethod.PTDFProjected,
51
+ GridReductionMethod.DiShi,
52
+ GridReductionMethod.Ward]
53
+ )
54
+ self.ui.methodComboBox.setModel(methods_mdl)
55
+
56
+ self.bus_methods_dict, bus_methods_mdl = enums_to_model(
57
+ [BusReductionMethod.Reduce, BusReductionMethod.Keep]
58
+ )
59
+ self.ui.busModeComboBox.setModel(bus_methods_mdl)
53
60
 
54
61
  self._grid: MultiCircuit = grid
55
62
  self._session: SimulationSession = session
@@ -59,7 +66,7 @@ class GridReduceDialogue(QtWidgets.QDialog):
59
66
 
60
67
  self.ui.reduceButton.clicked.connect(self.reduce_grid)
61
68
 
62
- def reduce_grid(self):
69
+ def reduce_grid(self) -> None:
63
70
  """
64
71
  The elements of the grid will be added with new idtags.
65
72
  This is useful in the case you want to compose a new grid from grids that are the same.
@@ -67,21 +74,39 @@ class GridReduceDialogue(QtWidgets.QDialog):
67
74
  """
68
75
  if len(self._selected_buses_set):
69
76
 
70
- method: GridReductionMethod = self.methods_dict[self.ui.methodComboBox.currentText()]
77
+ reduction_method: GridReductionMethod = self.methods_dict[self.ui.methodComboBox.currentText()]
78
+ bus_mode: BusReductionMethod = self.bus_methods_dict[self.ui.busModeComboBox.currentText()]
79
+
80
+ if bus_mode == BusReductionMethod.Reduce:
81
+ text = f"This will delete the selected buses and reintroduce their influence."
82
+ else:
83
+ text = "This will keep the selected buses and delete all others, reintroducing their influence."
84
+
85
+ text += f"using the {reduction_method.value} equivalent. "
86
+ "This cannot be undone and it is dangerous if you don't know"
87
+ "what you are doing \nAre you sure?"
71
88
 
72
89
  ok = yes_no_question(
73
- text="This will delete the selected buses and reintroduce their influence"
74
- "using the Ward equivalent. This cannot be undone and it is dangerous if you don't know"
75
- "what you are doing \nAre you sure?",
90
+ text=text,
76
91
  title="Grid reduction?")
77
92
 
78
93
  if ok:
79
94
 
80
- # convert the set of buses to bus indices
81
- reduction_bus_indices = np.array([self._grid.buses.index(b) for b in self._selected_buses_set],
82
- dtype=int)
95
+ if bus_mode == BusReductionMethod.Reduce:
96
+ # convert the set of buses to bus indices
97
+ reduction_bus_indices = np.array([self._grid.buses.index(b)
98
+ for b in self._selected_buses_set],
99
+ dtype=int)
100
+
101
+ elif bus_mode == BusReductionMethod.Keep:
102
+ # the the other buses that are not in the set
103
+ reduction_bus_indices = np.array([i for i in range(self._grid.get_bus_number())
104
+ if self._grid.buses[i] not in self._selected_buses_set],
105
+ dtype=int)
106
+ else:
107
+ raise NotImplementedError(f"BusReductionMethod not implemented: {bus_mode.value}")
83
108
 
84
- if method == GridReductionMethod.DiShi:
109
+ if reduction_method == GridReductionMethod.DiShi:
85
110
 
86
111
  # get the previous power flow
87
112
  _, pf_res = self._session.power_flow
@@ -97,7 +122,7 @@ class GridReduceDialogue(QtWidgets.QDialog):
97
122
  V0=pf_res.voltage
98
123
  )
99
124
 
100
- elif method == GridReductionMethod.Ward:
125
+ elif reduction_method == GridReductionMethod.Ward:
101
126
 
102
127
  # get the previous power flow
103
128
  _, pf_res = self._session.power_flow
@@ -113,7 +138,7 @@ class GridReduceDialogue(QtWidgets.QDialog):
113
138
  V0=pf_res.voltage,
114
139
  )
115
140
 
116
- elif method == GridReductionMethod.PTDF:
141
+ elif reduction_method == GridReductionMethod.PTDF:
117
142
 
118
143
  # NOTE: self._grid gets reduced in-place
119
144
  grid_reduced, logger = ptdf_reduction(
@@ -121,16 +146,16 @@ class GridReduceDialogue(QtWidgets.QDialog):
121
146
  reduction_bus_indices=reduction_bus_indices,
122
147
  )
123
148
 
124
- elif method == GridReductionMethod.PTDFProjected:
149
+ elif reduction_method == GridReductionMethod.PTDFProjected:
125
150
 
126
151
  # NOTE: self._grid gets reduced in-place
127
-
152
+
128
153
  # get the options from the linear analysis driver
129
154
  lin_drv, _ = self._session.linear_power_flow
130
155
  distribute_slack = True
131
156
  if lin_drv is not None:
132
157
  distribute_slack = lin_drv.options.distribute_slack
133
-
158
+
134
159
  grid_reduced, logger = ptdf_reduction_projected(
135
160
  grid=self._grid,
136
161
  reduction_bus_indices=reduction_bus_indices,
@@ -48,6 +48,11 @@ class Ui_ReduceDialog(object):
48
48
  self.horizontalLayout = QHBoxLayout(self.frame)
49
49
  self.horizontalLayout.setObjectName(u"horizontalLayout")
50
50
  self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
51
+ self.busModeComboBox = QComboBox(self.frame)
52
+ self.busModeComboBox.setObjectName(u"busModeComboBox")
53
+
54
+ self.horizontalLayout.addWidget(self.busModeComboBox)
55
+
51
56
  self.methodComboBox = QComboBox(self.frame)
52
57
  self.methodComboBox.setObjectName(u"methodComboBox")
53
58
 
@@ -73,6 +78,8 @@ class Ui_ReduceDialog(object):
73
78
 
74
79
  def retranslateUi(self, ReduceDialog):
75
80
  ReduceDialog.setWindowTitle(QCoreApplication.translate("ReduceDialog", u"Grid Merge", None))
81
+ self.busModeComboBox.setPlaceholderText(QCoreApplication.translate("ReduceDialog", u"Buses", None))
82
+ self.methodComboBox.setPlaceholderText(QCoreApplication.translate("ReduceDialog", u"Method", None))
76
83
  #if QT_CONFIG(tooltip)
77
84
  self.reduceButton.setToolTip(QCoreApplication.translate("ReduceDialog", u"Aply the selected changes", None))
78
85
  #endif // QT_CONFIG(tooltip)
@@ -407,7 +407,7 @@ class DataBaseTableMain(DiagramsMain):
407
407
  source_model = proxy_model.sourceModel()
408
408
 
409
409
  sel_idx = self.ui.dataStructureTableView.selectedIndexes()
410
- objects = source_model.objects if hasattr(source_model, 'objects') else []
410
+ objects: List[ALL_DEV_TYPES] = source_model.objects if hasattr(source_model, 'objects') else []
411
411
 
412
412
  if len(objects) > 0:
413
413
 
@@ -419,7 +419,8 @@ class DataBaseTableMain(DiagramsMain):
419
419
  sel_obj: ALL_DEV_TYPES = source_model.objects[idx]
420
420
  selected_objects.append(sel_obj)
421
421
 
422
- buses = self.circuit.get_buses_from_objects(elements=selected_objects)
422
+ buses = self.circuit.get_buses_from_objects(elements=selected_objects,
423
+ dtype=objects[0].device_type)
423
424
 
424
425
  return buses, selected_objects
425
426
 
@@ -699,8 +700,19 @@ class DataBaseTableMain(DiagramsMain):
699
700
  self.grid_reduction_dialogue.exec()
700
701
 
701
702
  if self.grid_reduction_dialogue.did_reduce:
703
+
704
+ # delete from the diagrams
702
705
  self.delete_from_all_diagrams(elements=list(selected_buses))
703
706
 
707
+ # update the view
708
+ self.view_objects_data()
709
+ self.update_from_to_list_views()
710
+ self.update_date_dependent_combos()
711
+ else:
712
+ self.show_warning_toast("No reduction done")
713
+ else:
714
+ self.show_warning_toast("Select some elements first")
715
+
704
716
  def grid_reduction_from_schematic_selection(self):
705
717
  """
706
718
  Call the grid reduction dialogue on the schematic selection
@@ -1011,8 +1023,6 @@ class DataBaseTableMain(DiagramsMain):
1011
1023
  # # update event
1012
1024
  # self.circuit.rms_events[idx] = self.rms_events_Editor_window.get_updated_event()
1013
1025
 
1014
-
1015
-
1016
1026
  else:
1017
1027
 
1018
1028
  warning_msg('No editor available.\n'
@@ -1365,7 +1365,7 @@ class DiagramsMain(CompiledArraysMain):
1365
1365
 
1366
1366
  else:
1367
1367
  if allow_popups:
1368
- info_msg(f"{current_study} only has values for the snapshot")
1368
+ self.show_warning_toast(f"{current_study} only has values for the snapshot")
1369
1369
 
1370
1370
  elif current_study == sim.PowerFlowTimeSeriesDriver.tpe.value:
1371
1371
  if t_idx is not None:
@@ -1382,7 +1382,7 @@ class DiagramsMain(CompiledArraysMain):
1382
1382
 
1383
1383
  else:
1384
1384
  if allow_popups:
1385
- info_msg(f"{current_study} does not have values for the snapshot")
1385
+ self.show_warning_toast(f"{current_study} does not have values for the snapshot")
1386
1386
 
1387
1387
  elif current_study == sim.StateEstimationDriver.tpe.value:
1388
1388
  if t_idx is None:
@@ -1398,7 +1398,7 @@ class DiagramsMain(CompiledArraysMain):
1398
1398
 
1399
1399
  else:
1400
1400
  if allow_popups:
1401
- info_msg(f"{current_study} only has values for the snapshot")
1401
+ self.show_warning_toast(f"{current_study} only has values for the snapshot")
1402
1402
 
1403
1403
  elif current_study == sim.ContinuationPowerFlowDriver.tpe.value:
1404
1404
  if t_idx is None:
@@ -1415,7 +1415,7 @@ class DiagramsMain(CompiledArraysMain):
1415
1415
  max_bus_width=max_bus_width)
1416
1416
  else:
1417
1417
  if allow_popups:
1418
- info_msg(f"{current_study} only has values for the snapshot")
1418
+ self.show_warning_toast(f"{current_study} only has values for the snapshot")
1419
1419
 
1420
1420
  elif current_study == sim.StochasticPowerFlowDriver.tpe.value:
1421
1421
 
@@ -1445,7 +1445,7 @@ class DiagramsMain(CompiledArraysMain):
1445
1445
  max_bus_width=max_bus_width)
1446
1446
  else:
1447
1447
  if allow_popups:
1448
- info_msg(f"{current_study} only has values for the snapshot")
1448
+ self.show_warning_toast(f"{current_study} only has values for the snapshot")
1449
1449
 
1450
1450
  elif current_study == sim.OptimalPowerFlowDriver.tpe.value:
1451
1451
  if t_idx is None:
@@ -1460,7 +1460,7 @@ class DiagramsMain(CompiledArraysMain):
1460
1460
  max_bus_width=max_bus_width)
1461
1461
  else:
1462
1462
  if allow_popups:
1463
- info_msg(f"{current_study} only has values for the snapshot")
1463
+ self.show_warning_toast(f"{current_study} only has values for the snapshot")
1464
1464
 
1465
1465
  elif current_study == sim.OptimalPowerFlowTimeSeriesDriver.tpe.value:
1466
1466
 
@@ -1479,7 +1479,7 @@ class DiagramsMain(CompiledArraysMain):
1479
1479
  max_bus_width=max_bus_width)
1480
1480
  else:
1481
1481
  if allow_popups:
1482
- info_msg(f"{current_study} does not have values for the snapshot")
1482
+ self.show_warning_toast(f"{current_study} does not have values for the snapshot")
1483
1483
 
1484
1484
  elif current_study == sim.NodalCapacityTimeSeriesDriver.tpe.value:
1485
1485
 
@@ -1507,7 +1507,7 @@ class DiagramsMain(CompiledArraysMain):
1507
1507
  max_bus_width=max_bus_width)
1508
1508
  else:
1509
1509
  if allow_popups:
1510
- info_msg(f"{current_study} only has values for the snapshot")
1510
+ self.show_warning_toast(f"{current_study} only has values for the snapshot")
1511
1511
 
1512
1512
  elif current_study == sim.LinearAnalysisTimeSeriesDriver.tpe.value:
1513
1513
  if t_idx is not None:
@@ -1525,7 +1525,7 @@ class DiagramsMain(CompiledArraysMain):
1525
1525
  max_bus_width=max_bus_width)
1526
1526
  else:
1527
1527
  if allow_popups:
1528
- info_msg(f"{current_study} does not have values for the snapshot")
1528
+ self.show_warning_toast(f"{current_study} does not have values for the snapshot")
1529
1529
 
1530
1530
  elif current_study == sim.ContingencyAnalysisDriver.tpe.value:
1531
1531
 
@@ -1544,7 +1544,7 @@ class DiagramsMain(CompiledArraysMain):
1544
1544
 
1545
1545
  else:
1546
1546
  if allow_popups:
1547
- info_msg(f"{current_study} only has values for the snapshot")
1547
+ self.show_warning_toast(f"{current_study} only has values for the snapshot")
1548
1548
 
1549
1549
  elif current_study == sim.ContingencyAnalysisTimeSeriesDriver.tpe.value:
1550
1550
  if t_idx is not None:
@@ -1562,7 +1562,7 @@ class DiagramsMain(CompiledArraysMain):
1562
1562
  max_bus_width=max_bus_width)
1563
1563
  else:
1564
1564
  if allow_popups:
1565
- info_msg(f"{current_study} does not have values for the snapshot")
1565
+ self.show_warning_toast(f"{current_study} does not have values for the snapshot")
1566
1566
 
1567
1567
  elif current_study == sim.AvailableTransferCapacityDriver.tpe.value:
1568
1568
  self.default_colouring(t_idx=t_idx,
@@ -1599,7 +1599,7 @@ class DiagramsMain(CompiledArraysMain):
1599
1599
  max_bus_width=max_bus_width)
1600
1600
  else:
1601
1601
  if allow_popups:
1602
- info_msg(f"{current_study} only has values for the snapshot")
1602
+ self.show_warning_toast(f"{current_study} only has values for the snapshot")
1603
1603
 
1604
1604
  elif current_study == sim.OptimalNetTransferCapacityTimeSeriesDriver.tpe.value:
1605
1605
  if t_idx is not None:
@@ -1617,7 +1617,7 @@ class DiagramsMain(CompiledArraysMain):
1617
1617
  max_bus_width=max_bus_width)
1618
1618
  else:
1619
1619
  if allow_popups:
1620
- info_msg(f"{current_study} does not have values for the snapshot")
1620
+ self.show_warning_toast(f"{current_study} does not have values for the snapshot")
1621
1621
 
1622
1622
  elif current_study == sim.InputsAnalysisDriver.tpe.value:
1623
1623
 
@@ -1964,7 +1964,8 @@ class DiagramsMain(CompiledArraysMain):
1964
1964
  title="Substations schematic")
1965
1965
  return
1966
1966
 
1967
- selected_buses = self.circuit.get_buses_from_objects(elements=substations)
1967
+ selected_buses = self.circuit.get_buses_from_objects(elements=substations,
1968
+ dtype=DeviceType.SubstationDevice)
1968
1969
 
1969
1970
  if len(selected_buses):
1970
1971
  diagram = make_diagram_from_buses(circuit=self.circuit,
@@ -2005,7 +2006,8 @@ class DiagramsMain(CompiledArraysMain):
2005
2006
  self.show_error_toast("The current diagram is not a schematic :(")
2006
2007
  return
2007
2008
 
2008
- selected_buses = self.circuit.get_buses_from_objects(elements=substations)
2009
+ selected_buses = self.circuit.get_buses_from_objects(elements=substations,
2010
+ dtype=DeviceType.SubstationDevice)
2009
2011
 
2010
2012
  if len(selected_buses):
2011
2013
  diagram_widget.add_buses(selected_buses)
@@ -158,8 +158,10 @@ class TimeEventsMain(DataBaseTableMain):
158
158
  if self.profile_input_dialogue.has_profile(i):
159
159
  # if there was a profile, we want the generator not dispatchable
160
160
  elm.enabled_dispatch = False
161
+ elm.enabled_dispatch_prof.fill(False)
161
162
  else:
162
163
  elm.enabled_dispatch = True
164
+ elm.enabled_dispatch_prof.fill(True)
163
165
 
164
166
  self.show_info_toast("Generators dispatchable status set")
165
167
 
@@ -203,6 +205,8 @@ class TimeEventsMain(DataBaseTableMain):
203
205
  self.setup_sim_indices(st=self.start_end_dialogue_window.start_value,
204
206
  en=self.start_end_dialogue_window.end_value)
205
207
 
208
+ self.view_objects_data()
209
+
206
210
  self.show_info_toast("Resampled!")
207
211
  else:
208
212
  self.show_error_toast("Empty time series :/")
@@ -239,6 +243,8 @@ class TimeEventsMain(DataBaseTableMain):
239
243
 
240
244
  # we need to remove the clustering simulation because it no longer matches the time data
241
245
  self.session.delete_driver(driver_type=SimulationTypes.ClusteringAnalysis_run)
246
+
247
+ self.view_objects_data()
242
248
  self.show_info_toast("Resampled!")
243
249
  else:
244
250
  self.show_error_toast("Run clustering simulation first")