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.
- GridCal-4.7.1/GridCal/Engine/Core/Compilers/__init__.py +21 -0
- GridCal-4.7.1/GridCal/Engine/Core/Compilers/circuit_to_alliander_pgm.py +553 -0
- GridCal-4.7.1/GridCal/Engine/Core/Compilers/circuit_to_bentayga.py +739 -0
- GridCal-4.7.1/GridCal/Engine/Core/Compilers/circuit_to_data.py +1028 -0
- GridCal-4.7.1/GridCal/Engine/Core/Compilers/circuit_to_data2.py +1074 -0
- GridCal-4.7.1/GridCal/Engine/Core/Compilers/circuit_to_newton_pa.py +1263 -0
- GridCal-4.7.1/GridCal/Engine/Core/DataStructures/__init__.py +29 -0
- GridCal-4.7.1/GridCal/Engine/Core/DataStructures/battery_data.py +215 -0
- GridCal-4.7.1/GridCal/Engine/Core/DataStructures/branch_data.py +307 -0
- GridCal-4.7.1/GridCal/Engine/Core/DataStructures/bus_data.py +78 -0
- GridCal-4.7.1/GridCal/Engine/Core/DataStructures/dc_lines_data.py +91 -0
- GridCal-4.7.1/GridCal/Engine/Core/DataStructures/generator_data.py +207 -0
- GridCal-4.7.1/GridCal/Engine/Core/DataStructures/hvdc_data.py +236 -0
- GridCal-4.7.1/GridCal/Engine/Core/DataStructures/lines_data.py +81 -0
- GridCal-4.7.1/GridCal/Engine/Core/DataStructures/load_data.py +130 -0
- GridCal-4.7.1/GridCal/Engine/Core/DataStructures/shunt_data.py +93 -0
- GridCal-4.7.1/GridCal/Engine/Core/DataStructures/static_generator_data.py +73 -0
- GridCal-4.7.1/GridCal/Engine/Core/DataStructures/transformer_data.py +107 -0
- GridCal-4.7.1/GridCal/Engine/Core/DataStructures/upfc_data.py +100 -0
- GridCal-4.7.1/GridCal/Engine/Core/DataStructures/vsc_data.py +106 -0
- GridCal-4.7.1/GridCal/Engine/Core/__init__.py +8 -0
- GridCal-4.7.1/GridCal/Engine/Core/admittance_matrices.py +360 -0
- GridCal-4.7.1/GridCal/Engine/Core/common_functions.py +113 -0
- GridCal-4.7.1/GridCal/Engine/Core/multi_circuit.py +2806 -0
- GridCal-4.7.1/GridCal/Engine/Core/snapshot_opf_data.py +287 -0
- GridCal-4.7.1/GridCal/Engine/Core/snapshot_pf_data.py +1781 -0
- GridCal-4.7.1/GridCal/Engine/Core/time_series_opf_data.py +353 -0
- GridCal-4.7.1/GridCal/Engine/Core/time_series_pf_data.py +459 -0
- GridCal-4.7.1/GridCal/Engine/Core/topology.py +180 -0
- GridCal-4.7.1/GridCal/Engine/Devices/__init__.py +45 -0
- GridCal-4.7.1/GridCal/Engine/Devices/battery.py +515 -0
- GridCal-4.7.1/GridCal/Engine/Devices/branch.py +740 -0
- GridCal-4.7.1/GridCal/Engine/Devices/bus.py +912 -0
- GridCal-4.7.1/GridCal/Engine/Devices/contingency.py +137 -0
- GridCal-4.7.1/GridCal/Engine/Devices/contingency_group.py +83 -0
- GridCal-4.7.1/GridCal/Engine/Devices/dc_line.py +464 -0
- GridCal-4.7.1/GridCal/Engine/Devices/editable_device.py +253 -0
- GridCal-4.7.1/GridCal/Engine/Devices/enumerations.py +322 -0
- GridCal-4.7.1/GridCal/Engine/Devices/external_grid.py +245 -0
- GridCal-4.7.1/GridCal/Engine/Devices/generator.py +613 -0
- GridCal-4.7.1/GridCal/Engine/Devices/groupings.py +143 -0
- GridCal-4.7.1/GridCal/Engine/Devices/hvdc_line.py +737 -0
- GridCal-4.7.1/GridCal/Engine/Devices/investment.py +115 -0
- GridCal-4.7.1/GridCal/Engine/Devices/investments_group.py +82 -0
- GridCal-4.7.1/GridCal/Engine/Devices/line.py +736 -0
- GridCal-4.7.1/GridCal/Engine/Devices/load.py +267 -0
- GridCal-4.7.1/GridCal/Engine/Devices/measurement.py +42 -0
- GridCal-4.7.1/GridCal/Engine/Devices/shunt.py +231 -0
- GridCal-4.7.1/GridCal/Engine/Devices/static_generator.py +191 -0
- GridCal-4.7.1/GridCal/Engine/Devices/switch.py +216 -0
- GridCal-4.7.1/GridCal/Engine/Devices/technology.py +73 -0
- GridCal-4.7.1/GridCal/Engine/Devices/templates.py +124 -0
- GridCal-4.7.1/GridCal/Engine/Devices/tower.py +608 -0
- GridCal-4.7.1/GridCal/Engine/Devices/transformer.py +1161 -0
- GridCal-4.7.1/GridCal/Engine/Devices/transformer3w.py +75 -0
- GridCal-4.7.1/GridCal/Engine/Devices/underground_line.py +105 -0
- GridCal-4.7.1/GridCal/Engine/Devices/upfc.py +317 -0
- GridCal-4.7.1/GridCal/Engine/Devices/vsc.py +479 -0
- GridCal-4.7.1/GridCal/Engine/Devices/wire.py +61 -0
- GridCal-4.7.1/GridCal/Engine/IO/__init__.py +10 -0
- GridCal-4.7.1/GridCal/Engine/IO/cim/cim_circuit.py +293 -0
- GridCal-4.7.1/GridCal/Engine/IO/cim/cim_devices.py +1530 -0
- GridCal-4.7.1/GridCal/Engine/IO/cim/cim_enums.py +31 -0
- GridCal-4.7.1/GridCal/Engine/IO/cim/cim_parser.py +1021 -0
- GridCal-4.7.1/GridCal/Engine/IO/contingency_parser.py +94 -0
- GridCal-4.7.1/GridCal/Engine/IO/dgs_parser.py +1172 -0
- GridCal-4.7.1/GridCal/Engine/IO/dpx_parser.py +830 -0
- GridCal-4.7.1/GridCal/Engine/IO/excel_interface.py +1158 -0
- GridCal-4.7.1/GridCal/Engine/IO/file_handler.py +392 -0
- GridCal-4.7.1/GridCal/Engine/IO/file_system.py +20 -0
- GridCal-4.7.1/GridCal/Engine/IO/generic_io_functions.py +38 -0
- GridCal-4.7.1/GridCal/Engine/IO/h5_interface.py +102 -0
- GridCal-4.7.1/GridCal/Engine/IO/ipa_parser.py +160 -0
- GridCal-4.7.1/GridCal/Engine/IO/json_parser.py +1311 -0
- GridCal-4.7.1/GridCal/Engine/IO/matpower/matpower_branch_definitions.py +204 -0
- GridCal-4.7.1/GridCal/Engine/IO/matpower/matpower_bus_definitions.py +235 -0
- GridCal-4.7.1/GridCal/Engine/IO/matpower/matpower_gen_definitions.py +196 -0
- GridCal-4.7.1/GridCal/Engine/IO/matpower/matpower_parser.py +573 -0
- GridCal-4.7.1/GridCal/Engine/IO/matpower/matpower_storage_definitions.py +60 -0
- GridCal-4.7.1/GridCal/Engine/IO/pack_unpack.py +579 -0
- GridCal-4.7.1/GridCal/Engine/IO/plexos.py +966 -0
- GridCal-4.7.1/GridCal/Engine/IO/power_world_parser.py +594 -0
- GridCal-4.7.1/GridCal/Engine/IO/pypsa_parser.py +311 -0
- GridCal-4.7.1/GridCal/Engine/IO/raw_parser.py +2491 -0
- GridCal-4.7.1/GridCal/Engine/IO/rawx_parser.py +1305 -0
- GridCal-4.7.1/GridCal/Engine/IO/sqlite_interface.py +102 -0
- GridCal-4.7.1/GridCal/Engine/IO/zip_interface.py +376 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ATC/__init__.py +18 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ATC/available_transfer_capacity_driver.py +673 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ATC/available_transfer_capacity_ts_driver.py +395 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/Clustering/__init__.py +1 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/Clustering/clustering.py +120 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ContingencyAnalysis/__init__.py +4 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_driver.py +293 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_results.py +143 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_ts_driver.py +219 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_ts_results.py +149 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_plan.py +166 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ContinuationPowerFlow/__init__.py +18 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ContinuationPowerFlow/continuation_power_flow.py +819 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ContinuationPowerFlow/continuation_power_flow_driver.py +416 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/Dynamics/dynamic_modules.py +1466 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/Dynamics/transient_stability_driver.py +106 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/InputsAnalysis/__init__.py +2 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/InputsAnalysis/inputs_analysis_driver.py +415 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/LinearFactors/__init__.py +20 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/LinearFactors/linear_analysis.py +454 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/LinearFactors/linear_analysis_driver.py +271 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/LinearFactors/linear_analysis_ts_driver.py +260 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/NTC/__init__.py +8 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/NTC/ntc_driver.py +477 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/NTC/ntc_opf.py +3156 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/NTC/ntc_options.py +126 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/NTC/ntc_results.py +1272 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/NTC/ntc_ts_driver.py +477 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/NTC/ntc_ts_results.py +611 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/NonLinearFactors/__init__.py +20 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/NonLinearFactors/nonlinear_analysis.py +524 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/NonLinearFactors/nonlinear_analysis_driver.py +257 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/NonLinearFactors/nonlinear_analysis_ts_driver.py +260 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/OPF/__init__.py +12 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/OPF/ac_opf.py +369 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/OPF/ac_opf_ts.py +455 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/OPF/dc_opf.py +632 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/OPF/dc_opf_ts.py +776 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/OPF/opf_driver.py +168 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/OPF/opf_options.py +116 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/OPF/opf_results.py +303 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/OPF/opf_templates.py +521 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/OPF/opf_ts_driver.py +332 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/OPF/opf_ts_results.py +318 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/OPF/simple_dispatch.py +220 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/OPF/simple_dispatch_ts.py +247 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/__init__.py +28 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/ac_jacobian.py +528 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/acdc_jacobian.py +787 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/common_functions.py +294 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/derivatives.py +949 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/discrete_controls.py +598 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/fast_decoupled.py +120 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/gauss_power_flow.py +114 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/helm_power_flow.py +743 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/iwamoto_newton_raphson.py +212 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt.py +230 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt_acdc.py +304 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/linearized_power_flow.py +178 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson.py +217 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_acdc.py +378 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_current.py +188 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_decoupled.py +196 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_ode.py +188 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/__init__.py +24 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/power_flow_driver.py +141 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/power_flow_options.py +142 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/power_flow_results.py +628 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/power_flow_worker.py +769 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/time_Series_input.py +166 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/time_series_clustring_driver.py +100 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/time_series_driver.py +401 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/PowerFlow/time_series_results.py +481 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ShortCircuitStudies/__init__.py +19 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit.py +99 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit_driver.py +347 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit_results.py +485 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit_worker.py +340 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/SigmaAnalysis/__init__.py +2 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/SigmaAnalysis/sigma_analysis_driver.py +427 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/StateEstimation/__init__.py +3 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/StateEstimation/state_estimation.py +452 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/StateEstimation/state_stimation_driver.py +279 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/Stochastic/__init__.py +19 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/Stochastic/blackout_driver.py +335 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/Stochastic/latin_hypercube_sampling.py +251 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/Stochastic/reliability_driver.py +217 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/Stochastic/stochastic_power_flow_driver.py +416 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/Stochastic/stochastic_power_flow_input.py +112 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/Stochastic/stochastic_power_flow_results.py +382 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/Topology/__init__.py +18 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/Topology/topology_driver.py +511 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/__init__.py +33 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/driver_template.py +101 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/driver_types.py +63 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/result_types.py +221 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/results_table.py +390 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/results_template.py +99 -0
- GridCal-4.7.1/GridCal/Engine/Simulations/sparse_solve.py +217 -0
- GridCal-4.7.1/GridCal/Engine/Sparse/__init__.py +18 -0
- GridCal-4.7.1/GridCal/Engine/Sparse/csc.py +486 -0
- GridCal-4.7.1/GridCal/Engine/Sparse/csc_numba.py +1070 -0
- GridCal-4.7.1/GridCal/Engine/Sparse/utils.py +74 -0
- GridCal-4.7.1/GridCal/Engine/__init__.py +26 -0
- GridCal-4.7.1/GridCal/Engine/basic_structures.py +1056 -0
- GridCal-4.7.1/GridCal/Engine/grid_analysis.py +107 -0
- GridCal-4.7.1/GridCal/ExecuteGridCal.py +60 -0
- GridCal-4.7.1/GridCal/Gui/AboutDialogue/about_dialogue.py +118 -0
- GridCal-4.7.1/GridCal/Gui/AboutDialogue/gui.py +142 -0
- GridCal-4.7.1/GridCal/Gui/AboutDialogue/icons_rc.py +328 -0
- GridCal-4.7.1/GridCal/Gui/AboutDialogue/matplotlibwidget.py +244 -0
- GridCal-4.7.1/GridCal/Gui/AboutDialogue/update_gui_file.py +9 -0
- GridCal-4.7.1/GridCal/Gui/Analysis/AnalysisDialogue.py +123 -0
- GridCal-4.7.1/GridCal/Gui/Analysis/gui.py +57 -0
- GridCal-4.7.1/GridCal/Gui/Analysis/matplotlibwidget.py +244 -0
- GridCal-4.7.1/GridCal/Gui/Analysis/object_plot_analysis.py +731 -0
- GridCal-4.7.1/GridCal/Gui/Analysis/update_gui_file.py +9 -0
- GridCal-4.7.1/GridCal/Gui/BusViewer/bus_viewer_dialogue.py +223 -0
- GridCal-4.7.1/GridCal/Gui/BusViewer/gui.py +132 -0
- GridCal-4.7.1/GridCal/Gui/BusViewer/icons_rc.py +846 -0
- GridCal-4.7.1/GridCal/Gui/BusViewer/update_gui_file.py +9 -0
- GridCal-4.7.1/GridCal/Gui/ConsoleWidget.py +69 -0
- GridCal-4.7.1/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +110 -0
- GridCal-4.7.1/GridCal/Gui/ContingencyPlanner/gui.py +218 -0
- GridCal-4.7.1/GridCal/Gui/ContingencyPlanner/icons_rc.py +418 -0
- GridCal-4.7.1/GridCal/Gui/ContingencyPlanner/update_gui_file.py +9 -0
- GridCal-4.7.1/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +408 -0
- GridCal-4.7.1/GridCal/Gui/CoordinatesInput/gui.py +214 -0
- GridCal-4.7.1/GridCal/Gui/CoordinatesInput/icons_rc.py +1588 -0
- GridCal-4.7.1/GridCal/Gui/CoordinatesInput/matplotlibwidget.py +244 -0
- GridCal-4.7.1/GridCal/Gui/CoordinatesInput/update_gui_file.py +9 -0
- GridCal-4.7.1/GridCal/Gui/GIS/gis_dialogue.py +120 -0
- GridCal-4.7.1/GridCal/Gui/GIS/gui.py +70 -0
- GridCal-4.7.1/GridCal/Gui/GIS/icons_rc.py +31991 -0
- GridCal-4.7.1/GridCal/Gui/GIS/update_gui_file.py +9 -0
- GridCal-4.7.1/GridCal/Gui/GeneralDialogues.py +486 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/__init__.py +17 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/battery_graphics.py +199 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/bus_graphics.py +679 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/dc_line_graphics.py +594 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/editor.py +1434 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/generator_graphics.py +264 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/generic_graphics.py +114 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/hvdc_graphics.py +470 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/line_graphics.py +827 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/load_graphics.py +190 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/matplotlibwidget.py +244 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/messages.py +75 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/shunt_graphics.py +217 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/static_generator_graphics.py +197 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/terminal_item.py +181 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/transformer2w_graphics.py +853 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/transformer3w_graphics.py +210 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/upfc_graphics.py +626 -0
- GridCal-4.7.1/GridCal/Gui/GridEditorWidget/vsc_graphics.py +620 -0
- GridCal-4.7.1/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +184 -0
- GridCal-4.7.1/GridCal/Gui/GridGenerator/gui.py +329 -0
- GridCal-4.7.1/GridCal/Gui/GridGenerator/icons_rc.py +422 -0
- GridCal-4.7.1/GridCal/Gui/GridGenerator/matplotlibwidget.py +244 -0
- GridCal-4.7.1/GridCal/Gui/GridGenerator/update_gui_file.py +9 -0
- GridCal-4.7.1/GridCal/Gui/GuiFunctions.py +1423 -0
- GridCal-4.7.1/GridCal/Gui/LoadDesigner/gui.py +269 -0
- GridCal-4.7.1/GridCal/Gui/LoadDesigner/icons_rc.py +1520 -0
- GridCal-4.7.1/GridCal/Gui/LoadDesigner/load_designer.py +146 -0
- GridCal-4.7.1/GridCal/Gui/LoadDesigner/matplotlibwidget.py +244 -0
- GridCal-4.7.1/GridCal/Gui/LoadDesigner/update_gui_file.py +9 -0
- GridCal-4.7.1/GridCal/Gui/Main/ConsoleLog.py +106 -0
- GridCal-4.7.1/GridCal/Gui/Main/ConsoleLogController.py +46 -0
- GridCal-4.7.1/GridCal/Gui/Main/GridCalMain.py +7395 -0
- GridCal-4.7.1/GridCal/Gui/Main/MainWindow (SE).py +2899 -0
- GridCal-4.7.1/GridCal/Gui/Main/MainWindow.py +5040 -0
- GridCal-4.7.1/GridCal/Gui/Main/banner.py +443 -0
- GridCal-4.7.1/GridCal/Gui/Main/icons_rc.py +23168 -0
- GridCal-4.7.1/GridCal/Gui/Main/matplotlibwidget.py +244 -0
- GridCal-4.7.1/GridCal/Gui/Main/object_select_window.py +68 -0
- GridCal-4.7.1/GridCal/Gui/Main/update_gui_file.py +20 -0
- GridCal-4.7.1/GridCal/Gui/ProfilesInput/excel_dialog.py +41 -0
- GridCal-4.7.1/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +49 -0
- GridCal-4.7.1/GridCal/Gui/ProfilesInput/icons_rc.py +1901 -0
- GridCal-4.7.1/GridCal/Gui/ProfilesInput/matplotlibwidget.py +244 -0
- GridCal-4.7.1/GridCal/Gui/ProfilesInput/models_dialogue.py +285 -0
- GridCal-4.7.1/GridCal/Gui/ProfilesInput/profile_dialogue.py +687 -0
- GridCal-4.7.1/GridCal/Gui/ProfilesInput/profiles_from_data.py +10 -0
- GridCal-4.7.1/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +346 -0
- GridCal-4.7.1/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +119 -0
- GridCal-4.7.1/GridCal/Gui/ProfilesInput/update_gui_file.py +9 -0
- GridCal-4.7.1/GridCal/Gui/Session/export_results_driver.py +114 -0
- GridCal-4.7.1/GridCal/Gui/Session/file_handler.py +197 -0
- GridCal-4.7.1/GridCal/Gui/Session/results_model.py +290 -0
- GridCal-4.7.1/GridCal/Gui/Session/session.py +376 -0
- GridCal-4.7.1/GridCal/Gui/Session/synchronization_driver.py +423 -0
- GridCal-4.7.1/GridCal/Gui/SigmaAnalysis/gui.py +98 -0
- GridCal-4.7.1/GridCal/Gui/SigmaAnalysis/icons_rc.py +1715 -0
- GridCal-4.7.1/GridCal/Gui/SigmaAnalysis/matplotlibwidget.py +244 -0
- GridCal-4.7.1/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +111 -0
- GridCal-4.7.1/GridCal/Gui/SigmaAnalysis/update_gui_file.py +9 -0
- GridCal-4.7.1/GridCal/Gui/SyncDialogue/gui.py +102 -0
- GridCal-4.7.1/GridCal/Gui/SyncDialogue/icons_rc.py +709 -0
- GridCal-4.7.1/GridCal/Gui/SyncDialogue/sync_dialogue.py +118 -0
- GridCal-4.7.1/GridCal/Gui/SyncDialogue/update_gui_file.py +9 -0
- GridCal-4.7.1/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +289 -0
- GridCal-4.7.1/GridCal/Gui/TowerBuilder/gui.py +361 -0
- GridCal-4.7.1/GridCal/Gui/TowerBuilder/icons_rc.py +927 -0
- GridCal-4.7.1/GridCal/Gui/TowerBuilder/matplotlibwidget.py +244 -0
- GridCal-4.7.1/GridCal/Gui/TowerBuilder/table_models.py +378 -0
- GridCal-4.7.1/GridCal/Gui/TowerBuilder/test_.py +162 -0
- GridCal-4.7.1/GridCal/Gui/TowerBuilder/update_gui_file.py +9 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/Visualization/palettes.py +0 -0
- GridCal-4.7.1/GridCal/Gui/Visualization/visualization.py +614 -0
- GridCal-4.7.1/GridCal/Gui/plot_config.py +45 -0
- GridCal-4.7.1/GridCal/Gui/pySlipQt/blue_marble.py +99 -0
- GridCal-4.7.1/GridCal/Gui/pySlipQt/cartodb.py +102 -0
- GridCal-4.7.1/GridCal/Gui/pySlipQt/gmt_local.py +180 -0
- GridCal-4.7.1/GridCal/Gui/pySlipQt/log.py +211 -0
- GridCal-4.7.1/GridCal/Gui/pySlipQt/mapquest.py +100 -0
- GridCal-4.7.1/GridCal/Gui/pySlipQt/modest_maps.py +98 -0
- GridCal-4.7.1/GridCal/Gui/pySlipQt/open_street_map.py +105 -0
- GridCal-4.7.1/GridCal/Gui/pySlipQt/pySlipQt.py +3687 -0
- GridCal-4.7.1/GridCal/Gui/pySlipQt/pycacheback.py +103 -0
- GridCal-4.7.1/GridCal/Gui/pySlipQt/stamen_toner.py +99 -0
- GridCal-4.7.1/GridCal/Gui/pySlipQt/stamen_transport.py +102 -0
- GridCal-4.7.1/GridCal/Gui/pySlipQt/stamen_watercolor.py +101 -0
- GridCal-4.7.1/GridCal/Gui/pySlipQt/sys_tile_data.py +438 -0
- GridCal-4.7.1/GridCal/Gui/pySlipQt/tiles.py +272 -0
- GridCal-4.7.1/GridCal/Gui/pySlipQt/tiles_net.py +427 -0
- GridCal-4.7.1/GridCal/Gui/themes.py +55 -0
- GridCal-4.7.1/GridCal/Gui/update_gui_all.py +28 -0
- GridCal-4.7.1/GridCal/Gui/update_gui_common.py +102 -0
- GridCal-4.7.1/GridCal/LICENSE.txt +222 -0
- GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/README.md +71 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/SyntheticNetworks/__init__.py +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/__pycache__/__init__.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/__pycache__/__init__.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/__pycache__/rpgm_algo.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/__pycache__/rpgm_algo.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/SyntheticNetworks/rpgm_algo.py +474 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/__init__.py +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/__pycache__/__init__.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/__pycache__/__init__.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/LICENSE.txt +21 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__init__.py +40 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/__init__.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/__init__.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/amply.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/amply.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/constants.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/constants.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/mps_lp.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/mps_lp.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/pulp.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/pulp.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/pulp_extra.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/pulp_extra.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/solvers.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/solvers.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/sparse.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/sparse.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/tests.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/__pycache__/tests.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/amply.py +782 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/constants.py +104 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/mps_lp.py +391 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp.cfg.buildout +15 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp.cfg.linux +19 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp.cfg.osx +19 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp.cfg.win +18 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp.py +2431 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/pulp_extra.py +300 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__init__.py +34 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/__init__.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/__init__.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/coin.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/coin.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/cplex.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/cplex.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/glpk.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/glpk.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/gurobi.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/gurobi.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/highs.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/highs.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/scip.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/scip.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/xpress.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/xpress.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/yaposib.cpython-310.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/yaposib.cpython-38.pyc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/coin.py +512 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/cplex.py +840 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/glpk.py +377 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/gridcal_solver.py +36 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/gurobi.py +366 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/highs.py +258 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/scip.py +149 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/xpress.py +159 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solver_interfaces/yaposib.py +230 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/CoinMP.dll +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/linux/32/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/linux/32/cbc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/linux/32/coin-license.txt +239 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/linux/64/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/linux/64/cbc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/linux/64/coin-license.txt +239 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/linux/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/osx/64/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/osx/64/cbc +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/osx/64/coin-license.txt +239 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/osx/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/win/32/__init__.py +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/win/32/coin-license.txt +239 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/win/64/__init__.py +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/cbc/win/64/coin-license.txt +239 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/win/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/coinMP/win/32/CoinMP.dll +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/coinMP/win/64/CoinMP.dll +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/__init__.py +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/highs-license.txt +24 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/linux/64/__init__.py +40 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/linux/64/libbasiclu.so +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/linux/64/libhighs.so.1.1.1 +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/linux/64/libipx.so +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/linux/__init__.py +40 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/osx/64/__init__.py +40 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solverdir/highs/osx/__init__.py +40 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/basiclu.dll +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/highs.dll +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/ipx.dll +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/libhighs.dll +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/__init__.py +0 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/solvers.py +455 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/sparse.py +117 -0
- GridCal-4.7.1/GridCal/ThirdParty/pulp/tests.py +619 -0
- GridCal-4.7.1/GridCal/__version__.py +40 -0
- GridCal-4.7.1/GridCal/data/cables.csv +462 -0
- GridCal-4.7.1/GridCal/data/transformers.csv +756 -0
- GridCal-4.7.1/GridCal/data/wires.csv +100 -0
- GridCal-4.7.1/GridCal/update.py +80 -0
- GridCal-4.7.1/GridCal.egg-info/PKG-INFO +17 -0
- GridCal-4.7.1/GridCal.egg-info/SOURCES.txt +461 -0
- GridCal-4.7.1/MANIFEST.in +9 -0
- GridCal-4.7.1/PKG-INFO +17 -0
- GridCal-4.7.1/README.md +18 -0
- GridCal-4.7.1/setup.cfg +4 -0
- GridCal-4.7.1/setup.py +281 -0
- GridCal-4.7.0/GridCal/Engine/Core/Compilers/__init__.py +0 -21
- GridCal-4.7.0/GridCal/Engine/Core/Compilers/circuit_to_alliander_pgm.py +0 -553
- GridCal-4.7.0/GridCal/Engine/Core/Compilers/circuit_to_bentayga.py +0 -739
- GridCal-4.7.0/GridCal/Engine/Core/Compilers/circuit_to_data.py +0 -1028
- GridCal-4.7.0/GridCal/Engine/Core/Compilers/circuit_to_data2.py +0 -1074
- GridCal-4.7.0/GridCal/Engine/Core/Compilers/circuit_to_newton_pa.py +0 -1263
- GridCal-4.7.0/GridCal/Engine/Core/DataStructures/__init__.py +0 -29
- GridCal-4.7.0/GridCal/Engine/Core/DataStructures/battery_data.py +0 -215
- GridCal-4.7.0/GridCal/Engine/Core/DataStructures/branch_data.py +0 -307
- GridCal-4.7.0/GridCal/Engine/Core/DataStructures/bus_data.py +0 -78
- GridCal-4.7.0/GridCal/Engine/Core/DataStructures/dc_lines_data.py +0 -91
- GridCal-4.7.0/GridCal/Engine/Core/DataStructures/generator_data.py +0 -207
- GridCal-4.7.0/GridCal/Engine/Core/DataStructures/hvdc_data.py +0 -236
- GridCal-4.7.0/GridCal/Engine/Core/DataStructures/lines_data.py +0 -81
- GridCal-4.7.0/GridCal/Engine/Core/DataStructures/load_data.py +0 -130
- GridCal-4.7.0/GridCal/Engine/Core/DataStructures/shunt_data.py +0 -93
- GridCal-4.7.0/GridCal/Engine/Core/DataStructures/static_generator_data.py +0 -73
- GridCal-4.7.0/GridCal/Engine/Core/DataStructures/transformer_data.py +0 -107
- GridCal-4.7.0/GridCal/Engine/Core/DataStructures/upfc_data.py +0 -100
- GridCal-4.7.0/GridCal/Engine/Core/DataStructures/vsc_data.py +0 -106
- GridCal-4.7.0/GridCal/Engine/Core/__init__.py +0 -8
- GridCal-4.7.0/GridCal/Engine/Core/admittance_matrices.py +0 -360
- GridCal-4.7.0/GridCal/Engine/Core/common_functions.py +0 -113
- GridCal-4.7.0/GridCal/Engine/Core/multi_circuit.py +0 -2806
- GridCal-4.7.0/GridCal/Engine/Core/snapshot_opf_data.py +0 -287
- GridCal-4.7.0/GridCal/Engine/Core/snapshot_pf_data.py +0 -1781
- GridCal-4.7.0/GridCal/Engine/Core/time_series_opf_data.py +0 -353
- GridCal-4.7.0/GridCal/Engine/Core/time_series_pf_data.py +0 -459
- GridCal-4.7.0/GridCal/Engine/Core/topology.py +0 -180
- GridCal-4.7.0/GridCal/Engine/Devices/__init__.py +0 -45
- GridCal-4.7.0/GridCal/Engine/Devices/battery.py +0 -515
- GridCal-4.7.0/GridCal/Engine/Devices/branch.py +0 -740
- GridCal-4.7.0/GridCal/Engine/Devices/bus.py +0 -912
- GridCal-4.7.0/GridCal/Engine/Devices/contingency.py +0 -137
- GridCal-4.7.0/GridCal/Engine/Devices/contingency_group.py +0 -83
- GridCal-4.7.0/GridCal/Engine/Devices/dc_line.py +0 -464
- GridCal-4.7.0/GridCal/Engine/Devices/editable_device.py +0 -253
- GridCal-4.7.0/GridCal/Engine/Devices/enumerations.py +0 -322
- GridCal-4.7.0/GridCal/Engine/Devices/external_grid.py +0 -245
- GridCal-4.7.0/GridCal/Engine/Devices/generator.py +0 -613
- GridCal-4.7.0/GridCal/Engine/Devices/groupings.py +0 -143
- GridCal-4.7.0/GridCal/Engine/Devices/hvdc_line.py +0 -737
- GridCal-4.7.0/GridCal/Engine/Devices/investment.py +0 -115
- GridCal-4.7.0/GridCal/Engine/Devices/investments_group.py +0 -82
- GridCal-4.7.0/GridCal/Engine/Devices/line.py +0 -736
- GridCal-4.7.0/GridCal/Engine/Devices/load.py +0 -267
- GridCal-4.7.0/GridCal/Engine/Devices/measurement.py +0 -42
- GridCal-4.7.0/GridCal/Engine/Devices/shunt.py +0 -231
- GridCal-4.7.0/GridCal/Engine/Devices/static_generator.py +0 -191
- GridCal-4.7.0/GridCal/Engine/Devices/switch.py +0 -216
- GridCal-4.7.0/GridCal/Engine/Devices/technology.py +0 -73
- GridCal-4.7.0/GridCal/Engine/Devices/templates.py +0 -124
- GridCal-4.7.0/GridCal/Engine/Devices/tower.py +0 -608
- GridCal-4.7.0/GridCal/Engine/Devices/transformer.py +0 -1161
- GridCal-4.7.0/GridCal/Engine/Devices/transformer3w.py +0 -75
- GridCal-4.7.0/GridCal/Engine/Devices/underground_line.py +0 -105
- GridCal-4.7.0/GridCal/Engine/Devices/upfc.py +0 -317
- GridCal-4.7.0/GridCal/Engine/Devices/vsc.py +0 -479
- GridCal-4.7.0/GridCal/Engine/Devices/wire.py +0 -61
- GridCal-4.7.0/GridCal/Engine/IO/__init__.py +0 -10
- GridCal-4.7.0/GridCal/Engine/IO/cim/cim_circuit.py +0 -335
- GridCal-4.7.0/GridCal/Engine/IO/cim/cim_devices.py +0 -1400
- GridCal-4.7.0/GridCal/Engine/IO/cim/cim_parser.py +0 -1021
- GridCal-4.7.0/GridCal/Engine/IO/contingency_parser.py +0 -94
- GridCal-4.7.0/GridCal/Engine/IO/dgs_parser.py +0 -1172
- GridCal-4.7.0/GridCal/Engine/IO/dpx_parser.py +0 -830
- GridCal-4.7.0/GridCal/Engine/IO/excel_interface.py +0 -1158
- GridCal-4.7.0/GridCal/Engine/IO/file_handler.py +0 -392
- GridCal-4.7.0/GridCal/Engine/IO/file_system.py +0 -20
- GridCal-4.7.0/GridCal/Engine/IO/generic_io_functions.py +0 -38
- GridCal-4.7.0/GridCal/Engine/IO/h5_interface.py +0 -102
- GridCal-4.7.0/GridCal/Engine/IO/ipa_parser.py +0 -160
- GridCal-4.7.0/GridCal/Engine/IO/json_parser.py +0 -1311
- GridCal-4.7.0/GridCal/Engine/IO/matpower/matpower_branch_definitions.py +0 -204
- GridCal-4.7.0/GridCal/Engine/IO/matpower/matpower_bus_definitions.py +0 -235
- GridCal-4.7.0/GridCal/Engine/IO/matpower/matpower_gen_definitions.py +0 -196
- GridCal-4.7.0/GridCal/Engine/IO/matpower/matpower_parser.py +0 -573
- GridCal-4.7.0/GridCal/Engine/IO/matpower/matpower_storage_definitions.py +0 -60
- GridCal-4.7.0/GridCal/Engine/IO/pack_unpack.py +0 -579
- GridCal-4.7.0/GridCal/Engine/IO/plexos.py +0 -966
- GridCal-4.7.0/GridCal/Engine/IO/power_world_parser.py +0 -594
- GridCal-4.7.0/GridCal/Engine/IO/pypsa_parser.py +0 -311
- GridCal-4.7.0/GridCal/Engine/IO/raw_parser.py +0 -2491
- GridCal-4.7.0/GridCal/Engine/IO/rawx_parser.py +0 -1305
- GridCal-4.7.0/GridCal/Engine/IO/sqlite_interface.py +0 -102
- GridCal-4.7.0/GridCal/Engine/IO/zip_interface.py +0 -376
- GridCal-4.7.0/GridCal/Engine/Simulations/ATC/__init__.py +0 -18
- GridCal-4.7.0/GridCal/Engine/Simulations/ATC/available_transfer_capacity_driver.py +0 -673
- GridCal-4.7.0/GridCal/Engine/Simulations/ATC/available_transfer_capacity_ts_driver.py +0 -395
- GridCal-4.7.0/GridCal/Engine/Simulations/Clustering/__init__.py +0 -1
- GridCal-4.7.0/GridCal/Engine/Simulations/Clustering/clustering.py +0 -120
- GridCal-4.7.0/GridCal/Engine/Simulations/ContingencyAnalysis/__init__.py +0 -4
- GridCal-4.7.0/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_driver.py +0 -293
- GridCal-4.7.0/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_results.py +0 -143
- GridCal-4.7.0/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_ts_driver.py +0 -219
- GridCal-4.7.0/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_analysis_ts_results.py +0 -149
- GridCal-4.7.0/GridCal/Engine/Simulations/ContingencyAnalysis/contingency_plan.py +0 -166
- GridCal-4.7.0/GridCal/Engine/Simulations/ContinuationPowerFlow/__init__.py +0 -18
- GridCal-4.7.0/GridCal/Engine/Simulations/ContinuationPowerFlow/continuation_power_flow.py +0 -819
- GridCal-4.7.0/GridCal/Engine/Simulations/ContinuationPowerFlow/continuation_power_flow_driver.py +0 -416
- GridCal-4.7.0/GridCal/Engine/Simulations/Dynamics/dynamic_modules.py +0 -1466
- GridCal-4.7.0/GridCal/Engine/Simulations/Dynamics/transient_stability_driver.py +0 -106
- GridCal-4.7.0/GridCal/Engine/Simulations/InputsAnalysis/__init__.py +0 -2
- GridCal-4.7.0/GridCal/Engine/Simulations/InputsAnalysis/inputs_analysis_driver.py +0 -415
- GridCal-4.7.0/GridCal/Engine/Simulations/LinearFactors/__init__.py +0 -20
- GridCal-4.7.0/GridCal/Engine/Simulations/LinearFactors/linear_analysis.py +0 -454
- GridCal-4.7.0/GridCal/Engine/Simulations/LinearFactors/linear_analysis_driver.py +0 -271
- GridCal-4.7.0/GridCal/Engine/Simulations/LinearFactors/linear_analysis_ts_driver.py +0 -260
- GridCal-4.7.0/GridCal/Engine/Simulations/NTC/__init__.py +0 -8
- GridCal-4.7.0/GridCal/Engine/Simulations/NTC/ntc_driver.py +0 -477
- GridCal-4.7.0/GridCal/Engine/Simulations/NTC/ntc_opf.py +0 -3156
- GridCal-4.7.0/GridCal/Engine/Simulations/NTC/ntc_options.py +0 -126
- GridCal-4.7.0/GridCal/Engine/Simulations/NTC/ntc_results.py +0 -1272
- GridCal-4.7.0/GridCal/Engine/Simulations/NTC/ntc_ts_driver.py +0 -477
- GridCal-4.7.0/GridCal/Engine/Simulations/NTC/ntc_ts_results.py +0 -611
- GridCal-4.7.0/GridCal/Engine/Simulations/NonLinearFactors/__init__.py +0 -20
- GridCal-4.7.0/GridCal/Engine/Simulations/NonLinearFactors/nonlinear_analysis.py +0 -524
- GridCal-4.7.0/GridCal/Engine/Simulations/NonLinearFactors/nonlinear_analysis_driver.py +0 -257
- GridCal-4.7.0/GridCal/Engine/Simulations/NonLinearFactors/nonlinear_analysis_ts_driver.py +0 -260
- GridCal-4.7.0/GridCal/Engine/Simulations/OPF/__init__.py +0 -12
- GridCal-4.7.0/GridCal/Engine/Simulations/OPF/ac_opf.py +0 -369
- GridCal-4.7.0/GridCal/Engine/Simulations/OPF/ac_opf_ts.py +0 -455
- GridCal-4.7.0/GridCal/Engine/Simulations/OPF/dc_opf.py +0 -632
- GridCal-4.7.0/GridCal/Engine/Simulations/OPF/dc_opf_ts.py +0 -776
- GridCal-4.7.0/GridCal/Engine/Simulations/OPF/opf_driver.py +0 -168
- GridCal-4.7.0/GridCal/Engine/Simulations/OPF/opf_options.py +0 -116
- GridCal-4.7.0/GridCal/Engine/Simulations/OPF/opf_results.py +0 -297
- GridCal-4.7.0/GridCal/Engine/Simulations/OPF/opf_templates.py +0 -521
- GridCal-4.7.0/GridCal/Engine/Simulations/OPF/opf_ts_driver.py +0 -332
- GridCal-4.7.0/GridCal/Engine/Simulations/OPF/opf_ts_results.py +0 -318
- GridCal-4.7.0/GridCal/Engine/Simulations/OPF/simple_dispatch.py +0 -220
- GridCal-4.7.0/GridCal/Engine/Simulations/OPF/simple_dispatch_ts.py +0 -247
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/__init__.py +0 -28
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/ac_jacobian.py +0 -528
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/acdc_jacobian.py +0 -787
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/common_functions.py +0 -294
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/derivatives.py +0 -949
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/discrete_controls.py +0 -598
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/fast_decoupled.py +0 -120
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/gauss_power_flow.py +0 -114
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/helm_power_flow.py +0 -743
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/iwamoto_newton_raphson.py +0 -212
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt.py +0 -230
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt_acdc.py +0 -304
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/linearized_power_flow.py +0 -178
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson.py +0 -217
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_acdc.py +0 -378
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_current.py +0 -188
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_decoupled.py +0 -196
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/NumericalMethods/newton_raphson_ode.py +0 -188
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/__init__.py +0 -24
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/power_flow_driver.py +0 -141
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/power_flow_options.py +0 -142
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/power_flow_results.py +0 -628
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/power_flow_worker.py +0 -769
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/time_Series_input.py +0 -166
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/time_series_clustring_driver.py +0 -100
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/time_series_driver.py +0 -401
- GridCal-4.7.0/GridCal/Engine/Simulations/PowerFlow/time_series_results.py +0 -481
- GridCal-4.7.0/GridCal/Engine/Simulations/ShortCircuitStudies/__init__.py +0 -19
- GridCal-4.7.0/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit.py +0 -99
- GridCal-4.7.0/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit_driver.py +0 -347
- GridCal-4.7.0/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit_results.py +0 -485
- GridCal-4.7.0/GridCal/Engine/Simulations/ShortCircuitStudies/short_circuit_worker.py +0 -340
- GridCal-4.7.0/GridCal/Engine/Simulations/SigmaAnalysis/__init__.py +0 -2
- GridCal-4.7.0/GridCal/Engine/Simulations/SigmaAnalysis/sigma_analysis_driver.py +0 -427
- GridCal-4.7.0/GridCal/Engine/Simulations/StateEstimation/__init__.py +0 -3
- GridCal-4.7.0/GridCal/Engine/Simulations/StateEstimation/state_estimation.py +0 -452
- GridCal-4.7.0/GridCal/Engine/Simulations/StateEstimation/state_stimation_driver.py +0 -279
- GridCal-4.7.0/GridCal/Engine/Simulations/Stochastic/__init__.py +0 -19
- GridCal-4.7.0/GridCal/Engine/Simulations/Stochastic/blackout_driver.py +0 -335
- GridCal-4.7.0/GridCal/Engine/Simulations/Stochastic/latin_hypercube_sampling.py +0 -251
- GridCal-4.7.0/GridCal/Engine/Simulations/Stochastic/reliability_driver.py +0 -217
- GridCal-4.7.0/GridCal/Engine/Simulations/Stochastic/stochastic_power_flow_driver.py +0 -416
- GridCal-4.7.0/GridCal/Engine/Simulations/Stochastic/stochastic_power_flow_input.py +0 -112
- GridCal-4.7.0/GridCal/Engine/Simulations/Stochastic/stochastic_power_flow_results.py +0 -382
- GridCal-4.7.0/GridCal/Engine/Simulations/Topology/__init__.py +0 -18
- GridCal-4.7.0/GridCal/Engine/Simulations/Topology/topology_driver.py +0 -511
- GridCal-4.7.0/GridCal/Engine/Simulations/__init__.py +0 -33
- GridCal-4.7.0/GridCal/Engine/Simulations/driver_template.py +0 -101
- GridCal-4.7.0/GridCal/Engine/Simulations/driver_types.py +0 -63
- GridCal-4.7.0/GridCal/Engine/Simulations/result_types.py +0 -221
- GridCal-4.7.0/GridCal/Engine/Simulations/results_table.py +0 -390
- GridCal-4.7.0/GridCal/Engine/Simulations/results_template.py +0 -99
- GridCal-4.7.0/GridCal/Engine/Simulations/sparse_solve.py +0 -217
- GridCal-4.7.0/GridCal/Engine/Sparse/__init__.py +0 -18
- GridCal-4.7.0/GridCal/Engine/Sparse/csc.py +0 -486
- GridCal-4.7.0/GridCal/Engine/Sparse/csc_numba.py +0 -1070
- GridCal-4.7.0/GridCal/Engine/Sparse/utils.py +0 -74
- GridCal-4.7.0/GridCal/Engine/__init__.py +0 -26
- GridCal-4.7.0/GridCal/Engine/basic_structures.py +0 -1056
- GridCal-4.7.0/GridCal/Engine/grid_analysis.py +0 -107
- GridCal-4.7.0/GridCal/ExecuteGridCal.py +0 -60
- GridCal-4.7.0/GridCal/Gui/AboutDialogue/about_dialogue.py +0 -118
- GridCal-4.7.0/GridCal/Gui/AboutDialogue/gui.py +0 -142
- GridCal-4.7.0/GridCal/Gui/AboutDialogue/icons_rc.py +0 -328
- GridCal-4.7.0/GridCal/Gui/AboutDialogue/matplotlibwidget.py +0 -244
- GridCal-4.7.0/GridCal/Gui/AboutDialogue/update_gui_file.py +0 -9
- GridCal-4.7.0/GridCal/Gui/Analysis/AnalysisDialogue.py +0 -123
- GridCal-4.7.0/GridCal/Gui/Analysis/gui.py +0 -57
- GridCal-4.7.0/GridCal/Gui/Analysis/matplotlibwidget.py +0 -244
- GridCal-4.7.0/GridCal/Gui/Analysis/object_plot_analysis.py +0 -731
- GridCal-4.7.0/GridCal/Gui/Analysis/update_gui_file.py +0 -9
- GridCal-4.7.0/GridCal/Gui/BusViewer/bus_viewer_dialogue.py +0 -223
- GridCal-4.7.0/GridCal/Gui/BusViewer/gui.py +0 -132
- GridCal-4.7.0/GridCal/Gui/BusViewer/icons_rc.py +0 -846
- GridCal-4.7.0/GridCal/Gui/BusViewer/update_gui_file.py +0 -9
- GridCal-4.7.0/GridCal/Gui/ConsoleWidget.py +0 -69
- GridCal-4.7.0/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -110
- GridCal-4.7.0/GridCal/Gui/ContingencyPlanner/gui.py +0 -218
- GridCal-4.7.0/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -418
- GridCal-4.7.0/GridCal/Gui/ContingencyPlanner/update_gui_file.py +0 -9
- GridCal-4.7.0/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +0 -408
- GridCal-4.7.0/GridCal/Gui/CoordinatesInput/gui.py +0 -214
- GridCal-4.7.0/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -1588
- GridCal-4.7.0/GridCal/Gui/CoordinatesInput/matplotlibwidget.py +0 -244
- GridCal-4.7.0/GridCal/Gui/CoordinatesInput/update_gui_file.py +0 -9
- GridCal-4.7.0/GridCal/Gui/GIS/gis_dialogue.py +0 -120
- GridCal-4.7.0/GridCal/Gui/GIS/gui.py +0 -70
- GridCal-4.7.0/GridCal/Gui/GIS/icons_rc.py +0 -31991
- GridCal-4.7.0/GridCal/Gui/GIS/update_gui_file.py +0 -9
- GridCal-4.7.0/GridCal/Gui/GeneralDialogues.py +0 -486
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/__init__.py +0 -17
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/battery_graphics.py +0 -197
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/bus_graphics.py +0 -679
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/dc_line_graphics.py +0 -594
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/editor.py +0 -1434
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/generator_graphics.py +0 -260
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/generic_graphics.py +0 -114
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/hvdc_graphics.py +0 -470
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/line_graphics.py +0 -827
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/load_graphics.py +0 -190
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/matplotlibwidget.py +0 -244
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/messages.py +0 -75
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/shunt_graphics.py +0 -217
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/static_generator_graphics.py +0 -197
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/terminal_item.py +0 -181
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/transformer2w_graphics.py +0 -853
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/transformer3w_graphics.py +0 -210
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/upfc_graphics.py +0 -626
- GridCal-4.7.0/GridCal/Gui/GridEditorWidget/vsc_graphics.py +0 -620
- GridCal-4.7.0/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +0 -184
- GridCal-4.7.0/GridCal/Gui/GridGenerator/gui.py +0 -329
- GridCal-4.7.0/GridCal/Gui/GridGenerator/icons_rc.py +0 -422
- GridCal-4.7.0/GridCal/Gui/GridGenerator/matplotlibwidget.py +0 -244
- GridCal-4.7.0/GridCal/Gui/GridGenerator/update_gui_file.py +0 -9
- GridCal-4.7.0/GridCal/Gui/GuiFunctions.py +0 -1423
- GridCal-4.7.0/GridCal/Gui/LoadDesigner/gui.py +0 -269
- GridCal-4.7.0/GridCal/Gui/LoadDesigner/icons_rc.py +0 -1520
- GridCal-4.7.0/GridCal/Gui/LoadDesigner/load_designer.py +0 -146
- GridCal-4.7.0/GridCal/Gui/LoadDesigner/matplotlibwidget.py +0 -244
- GridCal-4.7.0/GridCal/Gui/LoadDesigner/update_gui_file.py +0 -9
- GridCal-4.7.0/GridCal/Gui/Main/ConsoleLog.py +0 -106
- GridCal-4.7.0/GridCal/Gui/Main/ConsoleLogController.py +0 -46
- GridCal-4.7.0/GridCal/Gui/Main/GridCalMain.py +0 -7391
- GridCal-4.7.0/GridCal/Gui/Main/MainWindow (SE).py +0 -2899
- GridCal-4.7.0/GridCal/Gui/Main/MainWindow.py +0 -5040
- GridCal-4.7.0/GridCal/Gui/Main/banner.py +0 -443
- GridCal-4.7.0/GridCal/Gui/Main/icons_rc.py +0 -23557
- GridCal-4.7.0/GridCal/Gui/Main/matplotlibwidget.py +0 -244
- GridCal-4.7.0/GridCal/Gui/Main/object_select_window.py +0 -68
- GridCal-4.7.0/GridCal/Gui/Main/update_gui_file.py +0 -20
- GridCal-4.7.0/GridCal/Gui/ProfilesInput/excel_dialog.py +0 -41
- GridCal-4.7.0/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +0 -49
- GridCal-4.7.0/GridCal/Gui/ProfilesInput/icons_rc.py +0 -1901
- GridCal-4.7.0/GridCal/Gui/ProfilesInput/matplotlibwidget.py +0 -244
- GridCal-4.7.0/GridCal/Gui/ProfilesInput/models_dialogue.py +0 -285
- GridCal-4.7.0/GridCal/Gui/ProfilesInput/profile_dialogue.py +0 -687
- GridCal-4.7.0/GridCal/Gui/ProfilesInput/profiles_from_data.py +0 -10
- GridCal-4.7.0/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +0 -346
- GridCal-4.7.0/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +0 -119
- GridCal-4.7.0/GridCal/Gui/ProfilesInput/update_gui_file.py +0 -9
- GridCal-4.7.0/GridCal/Gui/Session/export_results_driver.py +0 -114
- GridCal-4.7.0/GridCal/Gui/Session/file_handler.py +0 -197
- GridCal-4.7.0/GridCal/Gui/Session/results_model.py +0 -290
- GridCal-4.7.0/GridCal/Gui/Session/session.py +0 -376
- GridCal-4.7.0/GridCal/Gui/Session/synchronization_driver.py +0 -423
- GridCal-4.7.0/GridCal/Gui/SigmaAnalysis/gui.py +0 -98
- GridCal-4.7.0/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -1715
- GridCal-4.7.0/GridCal/Gui/SigmaAnalysis/matplotlibwidget.py +0 -244
- GridCal-4.7.0/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -111
- GridCal-4.7.0/GridCal/Gui/SigmaAnalysis/update_gui_file.py +0 -9
- GridCal-4.7.0/GridCal/Gui/SyncDialogue/gui.py +0 -102
- GridCal-4.7.0/GridCal/Gui/SyncDialogue/icons_rc.py +0 -709
- GridCal-4.7.0/GridCal/Gui/SyncDialogue/sync_dialogue.py +0 -118
- GridCal-4.7.0/GridCal/Gui/SyncDialogue/update_gui_file.py +0 -9
- GridCal-4.7.0/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +0 -289
- GridCal-4.7.0/GridCal/Gui/TowerBuilder/gui.py +0 -361
- GridCal-4.7.0/GridCal/Gui/TowerBuilder/icons_rc.py +0 -927
- GridCal-4.7.0/GridCal/Gui/TowerBuilder/matplotlibwidget.py +0 -244
- GridCal-4.7.0/GridCal/Gui/TowerBuilder/table_models.py +0 -378
- GridCal-4.7.0/GridCal/Gui/TowerBuilder/test_.py +0 -162
- GridCal-4.7.0/GridCal/Gui/TowerBuilder/update_gui_file.py +0 -9
- GridCal-4.7.0/GridCal/Gui/Visualization/visualization.py +0 -614
- GridCal-4.7.0/GridCal/Gui/plot_config.py +0 -45
- GridCal-4.7.0/GridCal/Gui/pySlipQt/blue_marble.py +0 -99
- GridCal-4.7.0/GridCal/Gui/pySlipQt/cartodb.py +0 -102
- GridCal-4.7.0/GridCal/Gui/pySlipQt/gmt_local.py +0 -180
- GridCal-4.7.0/GridCal/Gui/pySlipQt/log.py +0 -211
- GridCal-4.7.0/GridCal/Gui/pySlipQt/mapquest.py +0 -100
- GridCal-4.7.0/GridCal/Gui/pySlipQt/modest_maps.py +0 -98
- GridCal-4.7.0/GridCal/Gui/pySlipQt/open_street_map.py +0 -105
- GridCal-4.7.0/GridCal/Gui/pySlipQt/pySlipQt.py +0 -3687
- GridCal-4.7.0/GridCal/Gui/pySlipQt/pycacheback.py +0 -103
- GridCal-4.7.0/GridCal/Gui/pySlipQt/stamen_toner.py +0 -99
- GridCal-4.7.0/GridCal/Gui/pySlipQt/stamen_transport.py +0 -102
- GridCal-4.7.0/GridCal/Gui/pySlipQt/stamen_watercolor.py +0 -101
- GridCal-4.7.0/GridCal/Gui/pySlipQt/sys_tile_data.py +0 -438
- GridCal-4.7.0/GridCal/Gui/pySlipQt/tiles.py +0 -272
- GridCal-4.7.0/GridCal/Gui/pySlipQt/tiles_net.py +0 -427
- GridCal-4.7.0/GridCal/Gui/themes.py +0 -55
- GridCal-4.7.0/GridCal/Gui/update_gui_all.py +0 -28
- GridCal-4.7.0/GridCal/Gui/update_gui_common.py +0 -102
- GridCal-4.7.0/GridCal/LICENSE.txt +0 -222
- GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/README.md +0 -71
- GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/__pycache__/__init__.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/__pycache__/__init__.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/__pycache__/__init__.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/__pycache__/rpgm_algo.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/__pycache__/rpgm_algo.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/__pycache__/rpgm_algo.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/SyntheticNetworks/rpgm_algo.py +0 -474
- GridCal-4.7.0/GridCal/ThirdParty/__pycache__/__init__.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/__pycache__/__init__.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/__pycache__/__init__.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/LICENSE.txt +0 -21
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__init__.py +0 -40
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/__init__.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/__init__.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/__init__.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/amply.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/amply.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/amply.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/constants.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/constants.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/constants.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/mps_lp.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/mps_lp.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/mps_lp.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/pulp.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/pulp.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/pulp.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/pulp_extra.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/pulp_extra.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/pulp_extra.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/solvers.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/solvers.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/solvers.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/sparse.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/sparse.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/sparse.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/tests.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/tests.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/__pycache__/tests.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/amply.py +0 -782
- GridCal-4.7.0/GridCal/ThirdParty/pulp/constants.py +0 -104
- GridCal-4.7.0/GridCal/ThirdParty/pulp/mps_lp.py +0 -391
- GridCal-4.7.0/GridCal/ThirdParty/pulp/pulp.cfg.buildout +0 -15
- GridCal-4.7.0/GridCal/ThirdParty/pulp/pulp.cfg.linux +0 -19
- GridCal-4.7.0/GridCal/ThirdParty/pulp/pulp.cfg.osx +0 -19
- GridCal-4.7.0/GridCal/ThirdParty/pulp/pulp.cfg.win +0 -18
- GridCal-4.7.0/GridCal/ThirdParty/pulp/pulp.py +0 -2431
- GridCal-4.7.0/GridCal/ThirdParty/pulp/pulp_extra.py +0 -300
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__init__.py +0 -34
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/__init__.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/__init__.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/__init__.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/coin.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/coin.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/coin.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/cplex.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/cplex.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/cplex.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/glpk.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/glpk.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/glpk.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/gurobi.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/gurobi.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/gurobi.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/highs.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/highs.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/highs.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/scip.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/scip.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/scip.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/xpress.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/xpress.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/xpress.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/yaposib.cpython-310.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/yaposib.cpython-38.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/__pycache__/yaposib.cpython-39.pyc +0 -0
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/coin.py +0 -512
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/cplex.py +0 -840
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/glpk.py +0 -377
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/gridcal_solver.py +0 -36
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/gurobi.py +0 -366
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/highs.py +0 -258
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/scip.py +0 -149
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/xpress.py +0 -159
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solver_interfaces/yaposib.py +0 -230
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/cbc/linux/32/coin-license.txt +0 -239
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/cbc/linux/64/coin-license.txt +0 -239
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/cbc/osx/64/coin-license.txt +0 -239
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/cbc/win/32/coin-license.txt +0 -239
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/cbc/win/64/coin-license.txt +0 -239
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/highs/highs-license.txt +0 -24
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/highs/linux/64/__init__.py +0 -40
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/highs/linux/__init__.py +0 -40
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/highs/osx/64/__init__.py +0 -40
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solverdir/highs/osx/__init__.py +0 -40
- GridCal-4.7.0/GridCal/ThirdParty/pulp/solvers.py +0 -455
- GridCal-4.7.0/GridCal/ThirdParty/pulp/sparse.py +0 -117
- GridCal-4.7.0/GridCal/ThirdParty/pulp/tests.py +0 -619
- GridCal-4.7.0/GridCal/__version__.py +0 -40
- GridCal-4.7.0/GridCal/data/cables.csv +0 -462
- GridCal-4.7.0/GridCal/data/transformers.csv +0 -756
- GridCal-4.7.0/GridCal/data/wires.csv +0 -100
- GridCal-4.7.0/GridCal/update.py +0 -80
- GridCal-4.7.0/GridCal.egg-info/PKG-INFO +0 -17
- GridCal-4.7.0/GridCal.egg-info/SOURCES.txt +0 -481
- GridCal-4.7.0/MANIFEST.in +0 -9
- GridCal-4.7.0/PKG-INFO +0 -17
- GridCal-4.7.0/README.md +0 -18
- GridCal-4.7.0/setup.cfg +0 -4
- GridCal-4.7.0/setup.py +0 -281
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Engine/IO/cim/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Engine/IO/matpower/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Engine/Replacements/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Engine/Simulations/Dynamics/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/Analysis/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/BusViewer/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/ContingencyPlanner/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/CoordinatesInput/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/GIS/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/GridGenerator/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/LoadDesigner/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/Main/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/ProfilesInput/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/Session/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/SigmaAnalysis/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/SyncDialogue/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/TowerBuilder/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/Visualization/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/Gui/pySlipQt/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/win/32/cbc.exe +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/cbc/win/64/cbc.exe +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/ThirdParty/pulp/solverdir/highs/win/64/highs.exe +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal/data/__init__.py +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal.egg-info/dependency_links.txt +0 -0
- {GridCal-4.7.0 → GridCal-4.7.1}/GridCal.egg-info/requires.txt +0 -0
- {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()
|