GridCalEngine 5.1.6__tar.gz → 5.1.8__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.
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/DataStructures/generator_data.py +16 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/hvdc_line.py +1 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Diagrams/base_diagram.py +2 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_data_parser.py +11 -6
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/gridcal_to_cgmes.py +1 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/file_handler.py +11 -5
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/gridcal/zip_interface.py +81 -43
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ATC/available_transfer_capacity_ts_driver.py +6 -5
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Clustering/clustering_driver.py +5 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/optimal_linear_contingency_analysis.py +1 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContingencyAnalysis/__init__.py +1 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContingencyAnalysis/contingencies_report.py +1 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_driver.py +1 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_driver.py +10 -5
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/LinearFactors/linear_analysis_driver.py +5 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf.py +14 -14
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/OPF/linear_opf_ts.py +12 -6
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/OPF/opf_driver.py +1 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/OPF/opf_ts_driver.py +4 -2
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_driver.py +11 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_driver.py +9 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Stochastic/__init__.py +1 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Stochastic/blackout_driver.py +1 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_driver.py +6 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/results_template.py +66 -10
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/NumericalMethods/ips.py +1 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/__version__.py +1 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/basic_structures.py +21 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/enumerations.py +26 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/PKG-INFO +1 -1
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Compilers/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Compilers/circuit_to_bentayga.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Compilers/circuit_to_data.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Compilers/circuit_to_newton_pa.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Compilers/circuit_to_optimods.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Compilers/circuit_to_pgm.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/DataStructures/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/DataStructures/battery_data.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/DataStructures/branch_data.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/DataStructures/bus_data.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/DataStructures/fluid_node_data.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/DataStructures/fluid_p2x_data.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/DataStructures/fluid_path_data.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/DataStructures/fluid_pump_data.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/DataStructures/fluid_turbine_data.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/DataStructures/hvdc_data.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/DataStructures/load_data.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/DataStructures/numerical_circuit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/DataStructures/shunt_data.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/area.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/branch_group.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/community.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/contingency.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/contingency_group.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/country.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/emission_gas.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/fuel.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/investment.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/investments_group.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/modelling_authority.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/municipality.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/region.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/technology.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Aggregation/zone.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Associations/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Associations/generator_emission.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Associations/generator_fuel.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Associations/generator_technology.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/branch.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/dc_line.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/line.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/line_locations.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/overhead_line_type.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/sequence_line_type.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/series_reactance.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/switch.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/tap_changer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/transformer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/transformer3w.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/transformer_type.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/underground_line_type.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/upfc.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/vsc.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/winding.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Branches/wire.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Diagrams/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Diagrams/graphic_location.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Diagrams/map_diagram.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Diagrams/map_location.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Diagrams/schematic_diagram.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Fluid/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Fluid/fluid_injection_template.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Fluid/fluid_node.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Fluid/fluid_p2x.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Fluid/fluid_path.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Fluid/fluid_pump.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Fluid/fluid_turbine.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Injections/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Injections/battery.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Injections/controllable_shunt.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Injections/current_injection.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Injections/external_grid.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Injections/generator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Injections/generator_q_curve.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Injections/load.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Injections/shunt.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Injections/static_generator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Parents/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Parents/branch_parent.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Parents/controllable_branch_parent.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Parents/editable_device.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Parents/generator_parent.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Parents/injection_parent.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Parents/load_parent.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Parents/shunt_parent.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Substation/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Substation/bus.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Substation/busbar.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Substation/connectivity_node.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Substation/substation.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/Substation/voltage_level.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/measurement.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/multi_circuit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/profile.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/sparse_array.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Devices/types.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/base/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/base/base_circuit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/base/base_device.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/base/base_property.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/base/units.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/base.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_circuit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_data_validator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_enums.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_export.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_poperty.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_to_gridcal.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_utils.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ac_line_segment.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_converter.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_converterdc_terminal.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_terminal.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/active_power_limit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/analog_control.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/apparent_power_limit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/asynchronous_machine.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/base_voltage.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/basic_interval_schedule.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/bay.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/breaker.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/bus_name_marker.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/busbar_section.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conducting_equipment.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conductor.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conform_load.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conform_load_group.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connectivity_node.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connectivity_node_container.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connector.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control_area.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control_area_generating_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/coordinate_system.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/cs_converter.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/current_limit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/curve.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/curve_data.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_base_terminal.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_breaker.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_busbar.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_chopper.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_conducting_equipment.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_converter_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_disconnector.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_equipment_container.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_ground.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_line.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_line_segment.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_node.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_series_device.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_shunt.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_switch.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_terminal.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_topological_island.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_topological_node.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/disconnector.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/earth_fault_compensator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_area.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_consumer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_scheduling_type.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_source.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equipment.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equipment_container.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_branch.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_equipment.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_injection.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_network.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_shunt.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/external_network_injection.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/fossil_fuel.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/full_model.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/generating_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/geographical_region.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ground.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ground_disconnector.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/grounding_impedance.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_generating_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_power_plant.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_pump.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/identified_object.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/junction.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/limit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/limit_set.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/line.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/linear_shunt_compensator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_area.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_break_switch.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_group.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_response_characteristic.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/location.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/measurement.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/measurement_value.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/mutual_coupling.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/non_conform_load.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/non_conform_load_group.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nonlinear_shunt_compensator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nonlinear_shunt_compensator_point.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nuclear_generating_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit_set.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit_type.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/per_lengthdc_line_parameter.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/petersen_coil.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_asymmetrical.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_linear.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_non_linear.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_symmetrical.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_table.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_table_point.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_tabular.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/position_point.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_system_resource.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_transformer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_transformer_end.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/protected_switch.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/quality61850.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer_table.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer_table_point.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/reactive_capability_curve.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regular_interval_schedule.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regulating_cond_eq.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regulating_control.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/reporting_group.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/rotating_machine.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/season_day_type_schedule.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/series_compensator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/shunt_compensator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/solar_generating_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/static_var_compensator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sub_geographical_region.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sub_load_area.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/substation.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_injection.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_power_flow.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_shunt_compensator_sections.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_status.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_tap_step.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_voltage.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/switch.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/synchronous_machine.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer_control.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer_table_point.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/terminal.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/thermal_generating_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tie_flow.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/topological_island.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/topological_node.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/transformer_end.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/voltage_level.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/voltage_limit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/vs_capability_curve.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/vs_converter.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/wind_generating_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ac_line_segment.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_converter.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_converterdc_terminal.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_terminal.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/active_power_limit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/apparent_power_limit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/asynchronous_machine.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/auxiliary_equipment.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/base_voltage.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/basic_interval_schedule.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/battery_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/bay.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/boundary_point.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/breaker.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/bus_name_marker.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/busbar_section.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/caes_plant.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/clamp.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cogeneration_plant.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/combined_cycle_plant.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conducting_equipment.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conductor.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conform_load.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conform_load_group.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connectivity_node.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connectivity_node_container.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connector.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control_area.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control_area_generating_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/coordinate_system.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cs_converter.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/current_limit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/current_transformer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/curve.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/curve_data.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cut.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_base_terminal.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_breaker.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_busbar.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_chopper.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_conducting_equipment.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_converter_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_disconnector.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_equipment_container.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_ground.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_line.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_line_segment.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_node.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_series_device.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_shunt.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_switch.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_terminal.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_topological_island.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_topological_node.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/disconnecting_circuit_breaker.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/disconnector.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/earth_fault_compensator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_area.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_connection.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_consumer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_scheduling_type.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_source.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equipment.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equipment_container.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_branch.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_equipment.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_injection.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_network.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_shunt.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/external_network_injection.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fault_indicator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fossil_fuel.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fuse.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/generating_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/geographical_region.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ground.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ground_disconnector.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/grounding_impedance.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_generating_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_power_plant.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_pump.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/identified_object.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/jumper.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/junction.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/line.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/linear_shunt_compensator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_area.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_break_switch.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_group.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_response_characteristic.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/location.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/non_conform_load.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/non_conform_load_group.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nonlinear_shunt_compensator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nonlinear_shunt_compensator_point.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nuclear_generating_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit_set.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit_type.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/petersen_coil.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_asymmetrical.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_linear.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_non_linear.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_symmetrical.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_table.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_table_point.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_tabular.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/photo_voltaic_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/position_point.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/post_line_sensor.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/potential_transformer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_connection.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_wind_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_system_resource.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_transformer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_transformer_end.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/protected_switch.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer_table.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer_table_point.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/reactive_capability_curve.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regular_interval_schedule.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regulating_control.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/reporting_group.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/rotating_machine.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/season_day_type_schedule.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sensor.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/series_compensator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/service_location.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/shunt_compensator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/solar_generating_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/solar_power_plant.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/static_var_compensator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sub_geographical_region.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sub_load_area.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/substation.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/surge_arrester.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_injection.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_power_flow.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_shunt_compensator_sections.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_status.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_switch.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_tap_step.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_voltage.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/switch.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/synchronous_machine.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer_control.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer_table_point.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/terminal.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/thermal_generating_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tie_flow.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/topological_island.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/topological_node.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/transformer_end.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/voltage_level.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/voltage_limit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/vs_capability_curve.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/vs_converter.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wave_trap.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wind_generating_unit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wind_power_plant.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/work_location.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cgmes/cgmes_writer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cim16/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cim16/cim_circuit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cim16/cim_data_parser.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cim16/cim_devices.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cim16/cim_enums.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/cim16/cim_parser.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/db/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/db/base_db.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/db/cgmes_lookup_db.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/db/db_handler.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/db/file_system.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/cim/db/psse_lookup_db.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/dgs/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/dgs/dgs_parser.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/epc/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/epc/epc_parser.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/file_system.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/gridcal/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/gridcal/contingency_parser.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/gridcal/excel_interface.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/gridcal/generic_io_functions.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/gridcal/h5_interface.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/gridcal/json_parser.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/gridcal/pack_unpack.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/gridcal/sqlite_interface.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/matpower/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/matpower/matpower_branch_definitions.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/matpower/matpower_bus_definitions.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/matpower/matpower_gen_definitions.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/matpower/matpower_parser.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/matpower/matpower_storage_definitions.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/others/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/others/dpx_parser.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/others/ipa_parser.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/others/plx_parser.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/others/pypsa_parser.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/area.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/branch.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/bus.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/facts.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/fixed_shunt.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/generator.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/gne_device.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/induction_machine.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/inter_area.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/load.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/node.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/owner.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/psse_circuit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/psse_object.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/psse_property.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/substation.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/switched_shunt.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/system_switching_device.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/transformer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/two_terminal_dc_line.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/vsc_dc_line.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/devices/zone.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/gridcal_to_raw.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/raw_functions.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/raw_parser_legacy.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/raw_parser_writer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/raw_to_gridcal.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/rawx_parser_legacy.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/IO/raw/rawx_parser_writer.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/LICENSE.txt +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ATC/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ATC/available_transfer_capacity_driver.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Clustering/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Clustering/clustering.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Clustering/clustering_options.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Clustering/clustering_results.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/helm_contingencies.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/helm_contingency_analysis.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/linear_contingency_analysis.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/nonlinear_contingency_analysis.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/srap.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_driver.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_options.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_results.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_results.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_plan.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContinuationPowerFlow/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_input.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_options.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_results.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Dynamics/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Dynamics/dynamic_modules.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Dynamics/transient_stability_driver.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/InputsAnalysis/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/InputsAnalysis/inputs_analysis_driver.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/InvestmentsEvaluation/NumericalMethods/MVRSM_mo_pareto.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/InvestmentsEvaluation/NumericalMethods/MVRSM_mo_scaled.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/InvestmentsEvaluation/NumericalMethods/MVRSM_original.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/InvestmentsEvaluation/NumericalMethods/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/InvestmentsEvaluation/NumericalMethods/stop_crits.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/InvestmentsEvaluation/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_driver.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_options.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_results.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/LinearFactors/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/LinearFactors/linear_analysis.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/LinearFactors/linear_analysis_options.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/LinearFactors/linear_analysis_results.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_driver.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_results.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/NTC/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/NTC/ntc_driver.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/NTC/ntc_opf.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/NTC/ntc_options.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/NTC/ntc_results.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/NTC/ntc_ts_driver.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/NTC/ntc_ts_results.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/OPF/NumericalMethods/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf_autodif.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf_derivatives.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/OPF/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/OPF/opf_options.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/OPF/opf_results.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/OPF/opf_ts_results.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/OPF/simple_dispatch_ts.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/ac_jacobian.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/acdc_jacobian.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/common_functions.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/derivatives.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/discrete_controls.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/fast_decoupled.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/gauss_power_flow.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/helm_power_flow.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/iwamoto_newton_raphson.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/levenberg_marquardt_acdc.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/linearized_power_flow.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_acdc.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_current.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_decoupled.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_ode.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/grid_analysis.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/power_flow_driver.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/power_flow_options.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/power_flow_results.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_input.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_results.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/PowerFlow/power_flow_worker.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ShortCircuitStudies/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_results.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_worker.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/SigmaAnalysis/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/SigmaAnalysis/sigma_analysis_driver.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/StateEstimation/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/StateEstimation/state_estimation.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/StateEstimation/state_stimation_driver.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Stochastic/latin_hypercube_sampling.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Stochastic/reliability_driver.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Stochastic/reliability_iterable.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_input.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_results.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Topology/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Topology/node_groups_driver.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Topology/topology_processor_driver.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/Topology/topology_reduction_driver.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/driver_template.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/driver_types.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/results_table.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Topology/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Topology/admittance_matrices.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Topology/detect_substations.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Topology/simulation_indices.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Topology/topology.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Topology/topology_substation_reduction.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/Filtering/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/Filtering/filtering.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/Filtering/objects_filtering.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/Filtering/results_table_filtering.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/Filtering/timeseries_filtering.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/MIP/SimpleMip/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/MIP/SimpleMip/highs.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/MIP/SimpleMip/lpmodel.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/MIP/SimpleMip/lpobjects.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/MIP/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/MIP/ortools_interface.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/MIP/pulp_interface.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/MIP/selected_interface.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/NumericalMethods/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/NumericalMethods/autodiff.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/NumericalMethods/common.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/NumericalMethods/iwamoto.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/NumericalMethods/levenberg_marquadt.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/NumericalMethods/newton_raphson.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/NumericalMethods/newton_raphson_ode.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/NumericalMethods/powell.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/NumericalMethods/sparse_solve.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/NumericalMethods/weldorf_online_stddev.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/Sparse/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/Sparse/csc.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/Sparse/csc_numba.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/Sparse/utils.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/ThirdParty/SyntheticNetworks/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/ThirdParty/SyntheticNetworks/rpgm_algo.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/ThirdParty/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Utils/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/__init__.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/api.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/data_logger.py +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/setup.cfg +0 -0
- {GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/setup.py +0 -0
@@ -306,3 +306,19 @@ class GeneratorData:
|
|
306
306
|
:return:
|
307
307
|
"""
|
308
308
|
return np.where(self.dispatchable == 1)[0]
|
309
|
+
|
310
|
+
def get_dispatchable_active_indices(self) -> IntVec:
|
311
|
+
"""
|
312
|
+
Get the indices of dispatchable generators
|
313
|
+
:return:
|
314
|
+
"""
|
315
|
+
x = (self.dispatchable * self.active).astype(int)
|
316
|
+
return np.where(x == 1)[0]
|
317
|
+
|
318
|
+
def get_non_dispatchable_indices(self) -> IntVec:
|
319
|
+
"""
|
320
|
+
Get the indices of dispatchable generators
|
321
|
+
:return:
|
322
|
+
"""
|
323
|
+
x = (~self.dispatchable * self.active).astype(int)
|
324
|
+
return np.where(x == 1)[0]
|
@@ -138,7 +138,7 @@ class HvdcLine(BranchParent):
|
|
138
138
|
|
139
139
|
def __init__(self, bus_from: Bus = None, bus_to: Bus = None, name='HVDC Line', idtag=None, active=True, code='',
|
140
140
|
rate=1.0, Pset=0.0, r=1e-20, loss_factor=0.0, Vset_f=1.0, Vset_t=1.0, length=1.0, mttf=0.0, mttr=0.0,
|
141
|
-
overload_cost=1000.0,
|
141
|
+
overload_cost=1000.0, min_firing_angle_f=-1.0, max_firing_angle_f=1.0, min_firing_angle_t=-1.0,
|
142
142
|
max_firing_angle_t=1.0, contingency_factor=1.0, protection_rating_factor: float = 1.4,
|
143
143
|
control_mode: HvdcControlType = HvdcControlType.type_1_Pset, dispatchable=True, angle_droop=0,
|
144
144
|
capex=0, opex=0, build_status: BuildStatus = BuildStatus.Commissioned, n_lines: int = 1):
|
@@ -89,7 +89,7 @@ class PointsGroup:
|
|
89
89
|
"""
|
90
90
|
Parse file data ito this class
|
91
91
|
:param data: json dictionary
|
92
|
-
:param obj_dict:
|
92
|
+
:param obj_dict: dictionary of relevant objects (idtag, object)
|
93
93
|
:param logger: Logger
|
94
94
|
:param category: category
|
95
95
|
"""
|
@@ -101,6 +101,7 @@ class PointsGroup:
|
|
101
101
|
|
102
102
|
if api_object is None:
|
103
103
|
# locations with no API object are not created
|
104
|
+
print()
|
104
105
|
logger.add_error("Diagram location could not find API object",
|
105
106
|
device_class=category,
|
106
107
|
device=idtag,)
|
@@ -356,18 +356,23 @@ class CgmesDataParser(BaseCircuit):
|
|
356
356
|
self.parsed_data[file_name] = file_cgmes_data
|
357
357
|
profile = model_info.get('profile', '')
|
358
358
|
|
359
|
-
for prof in profile:
|
360
|
-
if prof in cgmes2_4_15_uri:
|
361
|
-
self.cgmes_version = "2.4.15"
|
362
|
-
elif prof in cgmes3_0_0_uri:
|
363
|
-
self.cgmes_version = "3.0.0"
|
364
|
-
|
365
359
|
if isinstance(profile, list):
|
360
|
+
for prof in profile:
|
361
|
+
if prof in cgmes2_4_15_uri:
|
362
|
+
self.cgmes_version = "2.4.15"
|
363
|
+
elif prof in cgmes3_0_0_uri:
|
364
|
+
self.cgmes_version = "3.0.0"
|
365
|
+
|
366
366
|
if 'Boundary' in profile[0]:
|
367
367
|
merge(self.boudary_set, file_cgmes_data, self.logger)
|
368
368
|
else:
|
369
369
|
merge(self.data, file_cgmes_data, self.logger)
|
370
370
|
else:
|
371
|
+
if profile in cgmes2_4_15_uri:
|
372
|
+
self.cgmes_version = "2.4.15"
|
373
|
+
elif profile in cgmes3_0_0_uri:
|
374
|
+
self.cgmes_version = "3.0.0"
|
375
|
+
|
371
376
|
if 'Boundary' in profile:
|
372
377
|
merge(self.boudary_set, file_cgmes_data, self.logger)
|
373
378
|
else:
|
@@ -460,7 +460,7 @@ def get_cgmes_cn_nodes(multi_circuit_model: MultiCircuit,
|
|
460
460
|
else:
|
461
461
|
logger.add_error(msg='Connectivity Node has no default bus',
|
462
462
|
device=mc_elm.name,
|
463
|
-
device_class=
|
463
|
+
device_class=mc_elm.device_type)
|
464
464
|
# print(f'Topological node not found for cn: {cn.name}')
|
465
465
|
|
466
466
|
cgmes_model.add(cn)
|
@@ -48,6 +48,8 @@ from GridCalEngine.IO.gridcal.h5_interface import save_h5, open_h5
|
|
48
48
|
from GridCalEngine.IO.raw.rawx_parser_writer import parse_rawx, write_rawx
|
49
49
|
from GridCalEngine.IO.others.pypsa_parser import parse_netcdf, parse_hdf5
|
50
50
|
from GridCalEngine.Devices.multi_circuit import MultiCircuit
|
51
|
+
from GridCalEngine.Simulations.results_template import DriverToSave
|
52
|
+
from GridCalEngine.enumerations import CGMESVersions
|
51
53
|
|
52
54
|
|
53
55
|
class FileSavingOptions:
|
@@ -58,21 +60,25 @@ class FileSavingOptions:
|
|
58
60
|
def __init__(self,
|
59
61
|
cgmes_boundary_set: str = "",
|
60
62
|
simulation_drivers: List[DriverTemplate] = None,
|
61
|
-
|
62
|
-
dictionary_of_json_files: Dict[str, Dict[str, Any]] = None
|
63
|
+
sessions_data: List[DriverToSave] = None,
|
64
|
+
dictionary_of_json_files: Dict[str, Dict[str, Any]] = None,
|
65
|
+
cgmes_version: CGMESVersions = CGMESVersions.v2_4_15):
|
63
66
|
"""
|
64
67
|
Constructor
|
65
68
|
:param cgmes_boundary_set: CGMES boundary set zip file path
|
66
69
|
:param simulation_drivers: List of Simulation Drivers
|
67
|
-
:param
|
70
|
+
:param sessions_data: List of sessions_data
|
68
71
|
:param dictionary_of_json_files: Dictionary of json files
|
72
|
+
:param cgmes_version: Version to use with CGMES
|
69
73
|
"""
|
70
74
|
|
75
|
+
self.cgmes_vesrion: CGMESVersions = cgmes_version
|
76
|
+
|
71
77
|
self.cgmes_boundary_set: str = cgmes_boundary_set
|
72
78
|
|
73
79
|
self.simulation_drivers = simulation_drivers if simulation_drivers else list()
|
74
80
|
|
75
|
-
self.
|
81
|
+
self.sessions_data: List[DriverToSave] = sessions_data if sessions_data else list()
|
76
82
|
|
77
83
|
self.dictionary_of_json_files = dictionary_of_json_files if dictionary_of_json_files else dict()
|
78
84
|
|
@@ -398,7 +404,7 @@ class FileSave:
|
|
398
404
|
save_gridcal_data_to_zip(dfs=dfs,
|
399
405
|
filename_zip=self.file_name,
|
400
406
|
model_data=model_data,
|
401
|
-
|
407
|
+
sessions_data=self.options.sessions_data,
|
402
408
|
diagrams=self.circuit.diagrams,
|
403
409
|
json_files=self.options.dictionary_of_json_files,
|
404
410
|
text_func=self.text_func,
|
@@ -22,16 +22,17 @@ import chardet
|
|
22
22
|
import pandas as pd
|
23
23
|
import zipfile
|
24
24
|
from warnings import warn
|
25
|
-
from typing import List, Dict,
|
25
|
+
from typing import List, Dict, Union, Callable
|
26
26
|
from GridCalEngine.basic_structures import Logger
|
27
27
|
from GridCalEngine.IO.gridcal.generic_io_functions import parse_config_df, CustomJSONizer
|
28
|
+
from GridCalEngine.Simulations.results_template import DriverToSave
|
28
29
|
import GridCalEngine.Devices as dev
|
29
30
|
|
30
31
|
|
31
32
|
def save_gridcal_data_to_zip(dfs: Dict[str, pd.DataFrame],
|
32
33
|
filename_zip: str,
|
33
34
|
model_data: Dict[str, Dict[str, str]],
|
34
|
-
|
35
|
+
sessions_data: List[DriverToSave],
|
35
36
|
diagrams: List[Union[dev.MapDiagram, dev.SchematicDiagram]],
|
36
37
|
json_files: Dict[str, dict],
|
37
38
|
text_func: Union[None, Callable[[str], None]] = None,
|
@@ -42,7 +43,7 @@ def save_gridcal_data_to_zip(dfs: Dict[str, pd.DataFrame],
|
|
42
43
|
:param dfs: dictionary of pandas dataFrames {name: DataFrame}
|
43
44
|
:param filename_zip: file name where to save all
|
44
45
|
:param model_data: dictionary of json data opposed to the dataframes collection
|
45
|
-
:param
|
46
|
+
:param sessions_data: List of DriverToSave instances, representing the results drivers data
|
46
47
|
:param diagrams: List of Diagram objects
|
47
48
|
:param json_files: List of configuration json files to save Dict[file_name, dictionary to save]
|
48
49
|
:param text_func: pointer to function that prints the names
|
@@ -66,7 +67,7 @@ def save_gridcal_data_to_zip(dfs: Dict[str, pd.DataFrame],
|
|
66
67
|
try:
|
67
68
|
f_zip_ptr.writestr(filename, json.dumps(object_data, indent=4, cls=CustomJSONizer))
|
68
69
|
except TypeError as e:
|
69
|
-
logger.add_error(msg=e, device_class=object_type_name)
|
70
|
+
logger.add_error(msg=str(e), device_class=object_type_name)
|
70
71
|
warn(f"{object_type_name}: {e}")
|
71
72
|
|
72
73
|
# save diagrams
|
@@ -115,42 +116,62 @@ def save_gridcal_data_to_zip(dfs: Dict[str, pd.DataFrame],
|
|
115
116
|
i += 1
|
116
117
|
|
117
118
|
# pre-count the sessions
|
118
|
-
n_items =
|
119
|
-
for session in sessions:
|
120
|
-
for drv_name, drv in session.drivers.items():
|
121
|
-
if hasattr(drv, 'results'):
|
122
|
-
if drv.results is not None:
|
123
|
-
for arr_name, arr in drv.results.get_arrays().items():
|
124
|
-
n_items += 1
|
119
|
+
n_items = len(sessions_data)
|
125
120
|
|
126
121
|
# save sessions
|
127
122
|
i = 0
|
128
|
-
for
|
129
|
-
for drv_name, drv in session.drivers.items():
|
130
|
-
if hasattr(drv, 'results'):
|
131
|
-
if drv.results is not None:
|
132
|
-
for arr_name, arr in drv.results.get_arrays().items():
|
133
|
-
filename = 'sessions/' + session.name + '/' + drv.tpe.value + '/' + arr_name
|
123
|
+
for session_data in sessions_data:
|
134
124
|
|
135
|
-
|
136
|
-
text_func('Flushing ' + filename + ' to ' + filename_zip + '...')
|
125
|
+
if session_data.results is not None:
|
137
126
|
|
138
|
-
|
139
|
-
|
140
|
-
np.save(buffer, np.array(arr)) # save the DataFrame to the buffer
|
141
|
-
f_zip_ptr.writestr(filename + '.npy',
|
142
|
-
buffer.getvalue()) # save the buffer to the zip file
|
127
|
+
# traverse the registered results
|
128
|
+
for arr_name, arr_prop in session_data.results.data_variables.items():
|
143
129
|
|
144
|
-
|
145
|
-
progress_func((i + 1) / n_items * 100)
|
130
|
+
filename = 'sessions/' + session_data.name + '/' + session_data.tpe.value + '/' + arr_name
|
146
131
|
|
147
|
-
|
132
|
+
if text_func is not None:
|
133
|
+
text_func('Flushing ' + filename + ' to ' + filename_zip + '...')
|
134
|
+
|
135
|
+
# get the array
|
136
|
+
arr = getattr(session_data.results, arr_name)
|
137
|
+
|
138
|
+
with BytesIO() as buffer:
|
139
|
+
# pack the array into a DataFrame
|
140
|
+
|
141
|
+
try:
|
142
|
+
if np.iscomplexobj(arr):
|
143
|
+
filename += "__complex__"
|
144
|
+
pd.DataFrame(data=np.c_[arr.real, arr.imag]).to_parquet(buffer)
|
145
|
+
else:
|
146
|
+
pd.DataFrame(data=arr).to_parquet(buffer)
|
147
|
+
|
148
|
+
# save the buffer to the zip file
|
149
|
+
f_zip_ptr.writestr(filename + ".parquet", buffer.getvalue())
|
150
|
+
|
151
|
+
except ValueError as e:
|
152
|
+
warn(str(e))
|
153
|
+
|
154
|
+
if progress_func is not None:
|
155
|
+
progress_func((i + 1) / n_items * 100)
|
156
|
+
|
157
|
+
i += 1
|
158
|
+
|
159
|
+
# save logger
|
160
|
+
if session_data.logger is not None:
|
161
|
+
filename = 'sessions/' + session_data.name + '/' + session_data.tpe.value + '/logger.parquet'
|
162
|
+
with BytesIO() as buffer:
|
163
|
+
# save the DataFrame to the buffer, protocol4 is to be compatible with python 3.6
|
164
|
+
session_data.logger.to_df().to_parquet(buffer)
|
165
|
+
# save the buffer to the zip file
|
166
|
+
f_zip_ptr.writestr(filename, buffer.getvalue())
|
148
167
|
|
149
168
|
if n_failed:
|
150
169
|
print('Failed to pickle several profiles, but saved them as csv.\nFor improved speed install Pandas >= 1.2')
|
151
170
|
|
152
171
|
|
153
|
-
def read_data_frame_from_zip(file_pointer,
|
172
|
+
def read_data_frame_from_zip(file_pointer,
|
173
|
+
extension: str,
|
174
|
+
index_col=None, logger=Logger()) -> Union[None, pd.DataFrame]:
|
154
175
|
"""
|
155
176
|
read DataFrame
|
156
177
|
:param file_pointer: Pointer to the file within the zip file
|
@@ -189,6 +210,26 @@ def read_data_frame_from_zip(file_pointer, extension: str, index_col=None, logge
|
|
189
210
|
logger.add_error(str(e) + ' Upgrading pandas might help.', device=file_pointer.name)
|
190
211
|
return None
|
191
212
|
|
213
|
+
elif extension == '.feather':
|
214
|
+
try:
|
215
|
+
return pd.read_feather(file_pointer)
|
216
|
+
except ValueError as e:
|
217
|
+
logger.add_error(str(e), device=file_pointer.name)
|
218
|
+
return None
|
219
|
+
except AttributeError as e:
|
220
|
+
logger.add_error(str(e) + ' Upgrading pandas might help.', device=file_pointer.name)
|
221
|
+
return None
|
222
|
+
|
223
|
+
elif extension == '.hdf':
|
224
|
+
try:
|
225
|
+
return pd.read_hdf(file_pointer, key='array')
|
226
|
+
except ValueError as e:
|
227
|
+
logger.add_error(str(e), device=file_pointer.name)
|
228
|
+
return None
|
229
|
+
except AttributeError as e:
|
230
|
+
logger.add_error(str(e) + ' Upgrading pandas might help.', device=file_pointer.name)
|
231
|
+
return None
|
232
|
+
|
192
233
|
except EOFError:
|
193
234
|
logger.add_error("EOF error", device=file_pointer.name)
|
194
235
|
return None
|
@@ -209,19 +250,19 @@ def get_frames_from_zip(file_name_zip: str,
|
|
209
250
|
:param logger:
|
210
251
|
:return: list of DataFrames
|
211
252
|
"""
|
253
|
+
data = {'diagrams': list(),
|
254
|
+
'model_data': dict()}
|
255
|
+
json_files = dict()
|
212
256
|
|
213
257
|
# open the zip file
|
214
258
|
try:
|
215
259
|
zip_file_pointer = zipfile.ZipFile(file_name_zip)
|
216
260
|
except zipfile.BadZipFile:
|
217
|
-
return
|
261
|
+
return data, json_files
|
218
262
|
|
219
263
|
names = zip_file_pointer.namelist()
|
220
264
|
|
221
265
|
n = len(names)
|
222
|
-
data = {'diagrams': list(),
|
223
|
-
'model_data': dict()}
|
224
|
-
json_files = dict()
|
225
266
|
|
226
267
|
# for each file in the zip file...
|
227
268
|
for i, file_name in enumerate(names):
|
@@ -329,13 +370,15 @@ def get_session_tree(file_name_zip: str):
|
|
329
370
|
return data
|
330
371
|
|
331
372
|
|
332
|
-
def load_session_driver_objects(file_name_zip: str,
|
373
|
+
def load_session_driver_objects(file_name_zip: str,
|
374
|
+
session_name: str,
|
375
|
+
study_name: str) -> Dict[str, Union[None, pd.DataFrame]]:
|
333
376
|
"""
|
334
377
|
Get the sessions structure
|
335
378
|
:param file_name_zip:
|
336
379
|
:param session_name:
|
337
380
|
:param study_name:
|
338
|
-
:return:
|
381
|
+
:return: Dict[str, Union[None, pd.DataFrame]]
|
339
382
|
"""
|
340
383
|
try:
|
341
384
|
zip_file_pointer = zipfile.ZipFile(file_name_zip)
|
@@ -344,7 +387,7 @@ def load_session_driver_objects(file_name_zip: str, session_name: str, study_nam
|
|
344
387
|
|
345
388
|
data = dict()
|
346
389
|
|
347
|
-
# traverse the zip names and pick all those that start with
|
390
|
+
# traverse the zip names and pick all those that start with sessions_data/session_name/study_name
|
348
391
|
for name in zip_file_pointer.namelist():
|
349
392
|
if '/' in name:
|
350
393
|
path = name.split('/')
|
@@ -360,15 +403,10 @@ def load_session_driver_objects(file_name_zip: str, session_name: str, study_nam
|
|
360
403
|
# read the data
|
361
404
|
data[arr_name] = read_data_frame_from_zip(file_pointer, extension)
|
362
405
|
|
363
|
-
# try:
|
364
|
-
# data[arr_name] = np.load(file_pointer)
|
365
|
-
# except ValueError:
|
366
|
-
# data[arr_name] = np.load(file_pointer, allow_pickle=True)
|
367
|
-
|
368
406
|
return data
|
369
407
|
|
370
408
|
|
371
|
-
def get_xml_content(file_ptr):
|
409
|
+
def get_xml_content(file_ptr: zipfile.ZipExtFile) -> List[str]:
|
372
410
|
"""
|
373
411
|
Reads the content of a file
|
374
412
|
:param file_ptr: File pointer (from file or zip file)
|
@@ -383,7 +421,7 @@ def get_xml_content(file_ptr):
|
|
383
421
|
try:
|
384
422
|
detection = chardet.detect(first_line)
|
385
423
|
encoding = detection['encoding']
|
386
|
-
except:
|
424
|
+
except TypeError:
|
387
425
|
encoding = 'utf-8'
|
388
426
|
|
389
427
|
# sequential back to the start
|
@@ -398,7 +436,7 @@ def get_xml_content(file_ptr):
|
|
398
436
|
|
399
437
|
def get_xml_from_zip(file_name_zip: str,
|
400
438
|
text_func: Union[None, Callable[[str], None]] = None,
|
401
|
-
progress_func: Union[None, Callable[[float], None]] = None,):
|
439
|
+
progress_func: Union[None, Callable[[float], None]] = None, ):
|
402
440
|
"""
|
403
441
|
Get the .xml files from a zip file
|
404
442
|
:param file_name_zip: name of the zip file
|
@@ -200,17 +200,18 @@ class AvailableTransferCapacityTimeSeriesDriver(TimeSeriesDriverTemplate):
|
|
200
200
|
tpe = SimulationTypes.NetTransferCapacityTS_run
|
201
201
|
name = tpe.value
|
202
202
|
|
203
|
-
def __init__(
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
203
|
+
def __init__(self,
|
204
|
+
grid: MultiCircuit,
|
205
|
+
options: AvailableTransferCapacityOptions,
|
206
|
+
time_indices: np.ndarray,
|
207
|
+
clustering_results: Union[ClusteringResults, None] = None):
|
208
208
|
|
209
209
|
"""
|
210
210
|
Power Transfer Distribution Factors class constructor
|
211
211
|
:param grid: MultiCircuit Object
|
212
212
|
:param options: OPF options
|
213
213
|
:param time_indices: array of time indices to simulate
|
214
|
+
:param clustering_results: ClusteringResults (optional)
|
214
215
|
"""
|
215
216
|
|
216
217
|
TimeSeriesDriverTemplate.__init__(
|
@@ -15,6 +15,7 @@
|
|
15
15
|
# along with this program; if not, write to the Free Software Foundation,
|
16
16
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
17
17
|
|
18
|
+
import numpy as np
|
18
19
|
from typing import Union
|
19
20
|
from GridCalEngine.Devices.multi_circuit import MultiCircuit
|
20
21
|
from GridCalEngine.Simulations.driver_types import SimulationTypes
|
@@ -38,7 +39,10 @@ class ClusteringDriver(DriverTemplate):
|
|
38
39
|
|
39
40
|
self.options: ClusteringAnalysisOptions = options
|
40
41
|
|
41
|
-
self.results: Union[ClusteringResults, None] =
|
42
|
+
self.results: Union[ClusteringResults, None] = ClusteringResults(time_indices=np.empty(0, dtype=int),
|
43
|
+
sampled_probabilities=np.empty(0),
|
44
|
+
time_array=np.empty(0),
|
45
|
+
original_sample_idx=np.empty(0, dtype=int))
|
42
46
|
|
43
47
|
def run(self):
|
44
48
|
"""
|
@@ -17,6 +17,6 @@
|
|
17
17
|
from GridCalEngine.Simulations.ContingencyAnalysis.contingency_analysis_options import ContingencyAnalysisOptions
|
18
18
|
from GridCalEngine.Simulations.ContingencyAnalysis.contingency_analysis_driver import ContingencyAnalysisDriver
|
19
19
|
from GridCalEngine.Simulations.ContingencyAnalysis.contingency_analysis_results import ContingencyAnalysisResults
|
20
|
-
from GridCalEngine.Simulations.ContingencyAnalysis.contingency_analysis_ts_driver import
|
20
|
+
from GridCalEngine.Simulations.ContingencyAnalysis.contingency_analysis_ts_driver import ContingencyAnalysisTimeSeriesDriver
|
21
21
|
from GridCalEngine.Simulations.ContingencyAnalysis.contingency_analysis_ts_results import ContingencyAnalysisTimeSeriesResults
|
22
22
|
|
@@ -35,7 +35,7 @@ from GridCalEngine.Compilers.circuit_to_newton_pa import newton_pa_contingencies
|
|
35
35
|
from GridCalEngine.Utils.NumericalMethods.weldorf_online_stddev import WeldorfOnlineStdDevMat
|
36
36
|
|
37
37
|
|
38
|
-
class
|
38
|
+
class ContingencyAnalysisTimeSeriesDriver(TimeSeriesDriverTemplate):
|
39
39
|
"""
|
40
40
|
Contingency Analysis Time Series
|
41
41
|
"""
|
@@ -30,21 +30,21 @@ class ContinuationPowerFlowDriver(DriverTemplate):
|
|
30
30
|
name = 'Continuation Power Flow'
|
31
31
|
tpe = SimulationTypes.ContinuationPowerFlow_run
|
32
32
|
|
33
|
-
def __init__(self,
|
33
|
+
def __init__(self, grid: MultiCircuit,
|
34
34
|
options: ContinuationPowerFlowOptions,
|
35
35
|
inputs: ContinuationPowerFlowInput,
|
36
36
|
pf_options: PowerFlowOptions,
|
37
37
|
opf_results=None, t=0):
|
38
38
|
"""
|
39
39
|
ContinuationPowerFlowDriver constructor
|
40
|
-
:param
|
40
|
+
:param grid: NumericalCircuit instance
|
41
41
|
:param options: ContinuationPowerFlowOptions instance
|
42
42
|
:param inputs: ContinuationPowerFlowInput instance
|
43
43
|
:param pf_options: PowerFlowOptions instance
|
44
44
|
:param opf_results:
|
45
45
|
"""
|
46
46
|
|
47
|
-
DriverTemplate.__init__(self, grid=
|
47
|
+
DriverTemplate.__init__(self, grid=grid)
|
48
48
|
|
49
49
|
# voltage stability options
|
50
50
|
self.options = options
|
@@ -57,7 +57,12 @@ class ContinuationPowerFlowDriver(DriverTemplate):
|
|
57
57
|
|
58
58
|
self.t = t
|
59
59
|
|
60
|
-
self.results =
|
60
|
+
self.results = ContinuationPowerFlowResults(nval=0,
|
61
|
+
nbus=0,
|
62
|
+
nbr=0,
|
63
|
+
bus_names=[],
|
64
|
+
branch_names=[],
|
65
|
+
bus_types=[])
|
61
66
|
|
62
67
|
def get_steps(self):
|
63
68
|
"""
|
@@ -68,7 +73,7 @@ class ContinuationPowerFlowDriver(DriverTemplate):
|
|
68
73
|
else:
|
69
74
|
return list()
|
70
75
|
|
71
|
-
def progress_callback(self, lmbda):
|
76
|
+
def progress_callback(self, lmbda: float) -> None:
|
72
77
|
"""
|
73
78
|
Send progress report
|
74
79
|
:param lmbda: lambda value
|
@@ -56,7 +56,11 @@ class LinearAnalysisDriver(DriverTemplate):
|
|
56
56
|
self.opf_results = opf_results
|
57
57
|
|
58
58
|
# Results
|
59
|
-
self.results: Union[LinearAnalysisResults, None] =
|
59
|
+
self.results: Union[LinearAnalysisResults, None] = LinearAnalysisResults(n_br=0,
|
60
|
+
n_bus=0,
|
61
|
+
br_names=(),
|
62
|
+
bus_names=(),
|
63
|
+
bus_types=())
|
60
64
|
|
61
65
|
self.all_solved: bool = True
|
62
66
|
|
{GridCalEngine-5.1.6 → GridCalEngine-5.1.8}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf.py
RENAMED
@@ -501,10 +501,10 @@ def ac_optimal_power_flow(nc: NumericalCircuit,
|
|
501
501
|
|
502
502
|
# Check the active elements and their operational limits.
|
503
503
|
br_mon_idx = nc.branch_data.get_monitor_enabled_indices()
|
504
|
-
gen_disp_idx = nc.generator_data.
|
504
|
+
gen_disp_idx = nc.generator_data.get_dispatchable_active_indices()
|
505
505
|
ind_gens = np.arange(len(Pg_max))
|
506
|
-
|
507
|
-
Sg_undis = (nc.generator_data.get_injections() / nc.Sbase)[
|
506
|
+
gen_nondisp_idx = nc.generator_data.get_non_dispatchable_indices()
|
507
|
+
Sg_undis = (nc.generator_data.get_injections() / nc.Sbase)[gen_nondisp_idx]
|
508
508
|
rates = nc.rates / Sbase # Line loading limits. If the grid is not well conditioned, add constant value (i.e. +100)
|
509
509
|
Va_max = nc.bus_data.angle_max # This limits are not really used as of right now.
|
510
510
|
Va_min = nc.bus_data.angle_min
|
@@ -555,8 +555,8 @@ def ac_optimal_power_flow(nc: NumericalCircuit,
|
|
555
555
|
if opf_options.acopf_mode == AcOpfMode.ACOPFslacks:
|
556
556
|
nsl = 2 * npq + 2 * n_br_mon
|
557
557
|
# Slack relaxations for constraints
|
558
|
-
c_s = 1 * np.power(nc.branch_data.overload_cost[br_mon_idx] +
|
559
|
-
c_v = 1 * nc.bus_data.cost_v[pq] +
|
558
|
+
c_s = 1 * np.power(nc.branch_data.overload_cost[br_mon_idx] + 0.1, 1.0) # Cost squared since the slack is also squared
|
559
|
+
c_v = 1 * (nc.bus_data.cost_v[pq] + 0.1)
|
560
560
|
sl_sf0 = np.ones(n_br_mon)
|
561
561
|
sl_st0 = np.ones(n_br_mon)
|
562
562
|
sl_vmax0 = np.ones(npq)
|
@@ -629,7 +629,7 @@ def ac_optimal_power_flow(nc: NumericalCircuit,
|
|
629
629
|
arg=(admittances, Cg, Sd, slack, from_idx, to_idx,
|
630
630
|
pq, pv, Va_max, Va_min, Vm_max, Vm_min, Pg_max, Pg_min,
|
631
631
|
Qg_max, Qg_min, tapm_max, tapm_min, tapt_max, tapt_min, alltapm, alltapt,
|
632
|
-
k_m, k_tau, k_mtau, c0, c1, c2, Sbase, rates, br_mon_idx, gen_disp_idx,
|
632
|
+
k_m, k_tau, k_mtau, c0, c1, c2, Sbase, rates, br_mon_idx, gen_disp_idx, gen_nondisp_idx,
|
633
633
|
Sg_undis, pf_options.control_Q, opf_options.acopf_mode),
|
634
634
|
verbose=opf_options.verbose,
|
635
635
|
max_iter=opf_options.ips_iterations,
|
@@ -644,7 +644,7 @@ def ac_optimal_power_flow(nc: NumericalCircuit,
|
|
644
644
|
arg=(admittances, Cg, Sd, slack, from_idx, to_idx, pq, pv,
|
645
645
|
Va_max, Va_min, Vm_max, Vm_min, Pg_max, Pg_min, Qg_max, Qg_min,
|
646
646
|
tapm_max, tapm_min, tapt_max, tapt_min, k_m, k_tau, k_mtau,
|
647
|
-
c0, c1, c2, Sbase, rates, br_mon_idx, gen_disp_idx,
|
647
|
+
c0, c1, c2, Sbase, rates, br_mon_idx, gen_disp_idx, gen_nondisp_idx, Sg_undis,
|
648
648
|
opf_options.acopf_mode, 1e-5),
|
649
649
|
verbose=opf_options.verbose,
|
650
650
|
max_iter=opf_options.ips_iterations,
|
@@ -658,7 +658,7 @@ def ac_optimal_power_flow(nc: NumericalCircuit,
|
|
658
658
|
f_disp_hvdc, t_disp_hvdc, n_disp_hvdc, pq, pv, Pf_nondisp, P_hvdc_max, Vm_max, Vm_min, Pg_max,
|
659
659
|
Pg_min, tanmax, Qg_max, Qg_min, tapm_max, tapm_min, tapt_max, tapt_min,
|
660
660
|
alltapm, alltapt, k_m, k_tau, c0, c1, c2, c_s, c_v, Sbase, rates, br_mon_idx,
|
661
|
-
n_br_mon, gen_disp_idx,
|
661
|
+
n_br_mon, gen_disp_idx, gen_nondisp_idx, Sg_undis, pf_options.control_Q, opf_options.acopf_mode),
|
662
662
|
verbose=opf_options.verbose,
|
663
663
|
max_iter=opf_options.ips_iterations,
|
664
664
|
tol=opf_options.ips_tolerance,
|
@@ -671,18 +671,18 @@ def ac_optimal_power_flow(nc: NumericalCircuit,
|
|
671
671
|
acopf_mode=opf_options.acopf_mode)
|
672
672
|
|
673
673
|
# Save Results DataFrame for tests
|
674
|
-
#
|
675
|
-
#
|
676
|
-
#
|
677
|
-
#
|
674
|
+
#pd.DataFrame(Va).transpose().to_csv('REEresth.csv')
|
675
|
+
#pd.DataFrame(Vm).transpose().to_csv('REEresV.csv')
|
676
|
+
#pd.DataFrame(Pg_dis).transpose().to_csv('REEresP.csv')
|
677
|
+
#pd.DataFrame(Qg_dis).transpose().to_csv('REEresQ.csv')
|
678
678
|
|
679
679
|
Pg = np.zeros(len(ind_gens))
|
680
680
|
Qg = np.zeros(len(ind_gens))
|
681
681
|
|
682
682
|
Pg[gen_disp_idx] = Pg_dis
|
683
683
|
Qg[gen_disp_idx] = Qg_dis
|
684
|
-
Pg[
|
685
|
-
Qg[
|
684
|
+
Pg[gen_nondisp_idx] = np.real(Sg_undis)
|
685
|
+
Qg[gen_nondisp_idx] = np.imag(Sg_undis)
|
686
686
|
|
687
687
|
# convert the lagrange multipliers to significant ones
|
688
688
|
lam_p, lam_q = result.lam[:nbus], result.lam[nbus:2 * nbus]
|