GridCalEngine 5.3.38__tar.gz → 5.3.40__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.3.38 → gridcalengine-5.3.40}/GridCalEngine/Compilers/circuit_to_gslv.py +51 -124
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/line.py +3 -2
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/wire.py +2 -1
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Parents/editable_device.py +21 -4
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_data_parser.py +17 -9
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_export.py +29 -18
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_to_gridcal.py +14 -10
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cim16/cim_parser.py +9 -4
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/file_handler.py +4 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/gridcal/zip_interface.py +2 -2
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_driver.py +14 -3
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_driver.py +1 -1
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/Formulations/pf_basic_formulation.py +6 -2
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/Formulations/pf_generalized_formulation.py +59 -42
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/newton_raphson_fx.py +14 -14
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/power_flow_driver.py +6 -3
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/power_flow_results.py +27 -2
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_driver.py +7 -1
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Topology/admittance_matrices.py +1 -1
- gridcalengine-5.3.40/GridCalEngine/Utils/ThirdParty/gslv/__init__.py +0 -0
- gridcalengine-5.3.40/GridCalEngine/Utils/ThirdParty/gslv/gslv_activation.py +107 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/__version__.py +1 -1
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/data_logger.py +35 -1
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/PKG-INFO +1 -1
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/setup.py +2 -2
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Compilers/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Compilers/circuit_to_bentayga.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Compilers/circuit_to_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Compilers/circuit_to_newton_pa.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Compilers/circuit_to_optimods.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Compilers/circuit_to_pgm.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/active_branch_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/battery_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/branch_parent_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/bus_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/fluid_node_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/fluid_p2x_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/fluid_path_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/fluid_pump_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/fluid_turbine_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/generator_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/hvdc_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/load_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/numerical_circuit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/passive_branch_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/shunt_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/DataStructures/vsc_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/area.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/branch_group.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/community.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/contingency.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/contingency_group.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/country.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/facility.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/inter_aggregation_info.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/investment.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/investments_group.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/modelling_authority.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/municipality.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/region.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/remedial_action.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/remedial_action_group.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Aggregation/zone.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Associations/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Associations/association.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Associations/emission_gas.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Associations/fuel.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Associations/technology.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/branch.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/dc_line.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/hvdc_line.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/line_locations.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/overhead_line_type.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/sequence_line_type.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/series_reactance.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/switch.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/tap_changer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/transformer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/transformer3w.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/transformer_type.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/underground_line_type.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/upfc.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/vsc.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Branches/winding.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Diagrams/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Diagrams/base_diagram.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Diagrams/graphic_location.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Diagrams/map_diagram.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Diagrams/map_location.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Diagrams/palettes.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Diagrams/schematic_diagram.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Fluid/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Fluid/fluid_injection_template.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Fluid/fluid_node.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Fluid/fluid_p2x.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Fluid/fluid_path.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Fluid/fluid_pump.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Fluid/fluid_turbine.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Injections/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Injections/battery.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Injections/controllable_shunt.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Injections/current_injection.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Injections/external_grid.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Injections/generator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Injections/generator_q_curve.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Injections/load.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Injections/shunt.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Injections/static_generator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Parents/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Parents/branch_parent.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Parents/controllable_branch_parent.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Parents/generator_parent.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Parents/injection_parent.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Parents/load_parent.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Parents/physical_device.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Parents/shunt_parent.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Substation/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Substation/bus.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Substation/busbar.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Substation/connectivity_node.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Substation/substation.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Substation/voltage_level.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/admittance_matrix.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/assets.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/comparison.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/measurement.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/multi_circuit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/profile.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/types.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/base/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/base/base_circuit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/base/base_device.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/base/base_property.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/base/units.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/base.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_assets/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_assets/cgmes_2_4_15_assets.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_assets/cgmes_3_0_0_assets.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_circuit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_create_instances.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_data_validator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_enums.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_property.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_utils.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ac_line_segment.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_converter.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_converterdc_terminal.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/acdc_terminal.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/active_power_limit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/analog_control.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/apparent_power_limit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/asynchronous_machine.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/base_voltage.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/basic_interval_schedule.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/bay.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/breaker.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/bus_name_marker.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/busbar_section.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conducting_equipment.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conductor.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conform_load.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/conform_load_group.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connectivity_node.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connectivity_node_container.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/connector.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control_area.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/control_area_generating_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/coordinate_system.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/cs_converter.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/current_limit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/curve.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/curve_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_base_terminal.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_breaker.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_busbar.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_chopper.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_conducting_equipment.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_converter_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_disconnector.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_equipment_container.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_ground.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_line.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_line_segment.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_node.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_series_device.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_shunt.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_switch.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_terminal.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_topological_island.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/dc_topological_node.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/disconnector.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/earth_fault_compensator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_area.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_consumer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_scheduling_type.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/energy_source.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equipment.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equipment_container.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_branch.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_equipment.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_injection.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_network.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/equivalent_shunt.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/external_network_injection.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/fossil_fuel.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/full_model.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/generating_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/geographical_region.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ground.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ground_disconnector.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/grounding_impedance.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_generating_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_power_plant.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/hydro_pump.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/identified_object.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/junction.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/limit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/limit_set.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/line.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/linear_shunt_compensator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_area.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_break_switch.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_group.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/load_response_characteristic.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/location.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/measurement.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/measurement_value.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/mutual_coupling.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/non_conform_load.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/non_conform_load_group.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nonlinear_shunt_compensator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nonlinear_shunt_compensator_point.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/nuclear_generating_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit_set.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/operational_limit_type.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/per_lengthdc_line_parameter.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/petersen_coil.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_asymmetrical.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_linear.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_non_linear.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_symmetrical.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_table.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_table_point.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/phase_tap_changer_tabular.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/position_point.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_system_resource.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_transformer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/power_transformer_end.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/protected_switch.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/quality61850.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer_table.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/ratio_tap_changer_table_point.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/reactive_capability_curve.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regular_interval_schedule.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regulating_cond_eq.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/regulating_control.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/reporting_group.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/rotating_machine.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/season_day_type_schedule.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/series_compensator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/shunt_compensator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/solar_generating_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/static_var_compensator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sub_geographical_region.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sub_load_area.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/substation.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_injection.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_power_flow.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_shunt_compensator_sections.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_status.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_tap_step.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/sv_voltage.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/switch.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/synchronous_machine.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer_control.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tap_changer_table_point.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/terminal.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/thermal_generating_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/tie_flow.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/topological_island.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/topological_node.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/transformer_end.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/voltage_level.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/voltage_limit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/vs_capability_curve.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/vs_converter.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v2_4_15/devices/wind_generating_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ac_line_segment.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_converter.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_converterdc_terminal.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/acdc_terminal.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/active_power_limit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/analog_control.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/apparent_power_limit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/asynchronous_machine.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/auxiliary_equipment.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/base_voltage.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/basic_interval_schedule.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/battery_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/bay.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/boundary_point.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/breaker.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/bus_name_marker.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/busbar_section.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/caes_plant.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/clamp.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cogeneration_plant.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/combined_cycle_plant.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conducting_equipment.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conductor.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conform_load.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/conform_load_group.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connectivity_node.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connectivity_node_container.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/connector.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control_area.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/control_area_generating_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/coordinate_system.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cs_converter.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/current_limit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/current_transformer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/curve.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/curve_data.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/cut.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_base_terminal.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_breaker.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_busbar.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_chopper.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_conducting_equipment.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_converter_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_disconnector.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_equipment_container.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_ground.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_line.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_line_segment.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_node.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_series_device.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_shunt.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_switch.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_terminal.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_topological_island.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/dc_topological_node.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/disconnecting_circuit_breaker.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/disconnector.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/earth_fault_compensator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_area.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_connection.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_consumer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_scheduling_type.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/energy_source.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equipment.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equipment_container.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_branch.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_equipment.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_injection.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_network.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/equivalent_shunt.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/external_network_injection.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fault_indicator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fossil_fuel.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/fuse.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/generating_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/geographical_region.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ground.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ground_disconnector.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/grounding_impedance.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_generating_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_power_plant.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/hydro_pump.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/identified_object.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/io_point.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/jumper.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/junction.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/limit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/limit_set.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/line.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/linear_shunt_compensator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_area.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_break_switch.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_group.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/load_response_characteristic.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/location.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/measurement.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/measurement_value.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/mutual_coupling.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/non_conform_load.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/non_conform_load_group.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nonlinear_shunt_compensator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nonlinear_shunt_compensator_point.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/nuclear_generating_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit_set.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/operational_limit_type.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/petersen_coil.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_asymmetrical.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_linear.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_non_linear.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_symmetrical.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_table.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_table_point.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/phase_tap_changer_tabular.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/photo_voltaic_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/position_point.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/post_line_sensor.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/potential_transformer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_connection.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_electronics_wind_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_system_resource.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_transformer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/power_transformer_end.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/protected_switch.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer_table.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/ratio_tap_changer_table_point.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/reactive_capability_curve.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regular_interval_schedule.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regulating_cond_eq.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/regulating_control.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/reporting_group.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/rotating_machine.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/season_day_type_schedule.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sensor.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/series_compensator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/service_location.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/shunt_compensator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/solar_generating_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/solar_power_plant.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/static_var_compensator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sub_geographical_region.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sub_load_area.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/substation.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/surge_arrester.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_injection.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_power_flow.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_shunt_compensator_sections.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_status.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_switch.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_tap_step.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/sv_voltage.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/switch.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/synchronous_machine.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer_control.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tap_changer_table_point.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/terminal.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/thermal_generating_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/tie_flow.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/topological_island.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/topological_node.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/transformer_end.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/voltage_level.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/voltage_limit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/vs_capability_curve.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/vs_converter.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wave_trap.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wind_generating_unit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/wind_power_plant.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_v3_0_0/devices/work_location.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_writer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/gridcal_to_cgmes.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/rdfs_infos.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/rdfs_serializations.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cim16/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cim16/cim_circuit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cim16/cim_data_parser.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cim16/cim_devices.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cim16/cim_enums.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/db/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/db/base_db.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/db/cgmes_lookup_db.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/db/db_handler.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/db/file_system.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/db/psse_lookup_db.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/dgs/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/dgs/dgs_parser.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/epc/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/epc/epc_parser.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/file_system.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/gridcal/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/gridcal/catalogue.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/gridcal/contingency_parser.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/gridcal/excel_interface.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/gridcal/generic_io_functions.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/gridcal/h5_interface.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/gridcal/json_parser.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/gridcal/pack_unpack.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/gridcal/remote.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/gridcal/results_export.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/gridcal/sqlite_interface.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/area.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/branch.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/branch_dc.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/bus.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/bus_dc.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/converter_dc.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/generator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/legacy/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/legacy/matpower_branch_definitions.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/legacy/matpower_bus_definitions.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/legacy/matpower_gen_definitions.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/legacy/matpower_parser.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/matpower_circuit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/matpower_to_gridcal.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/matpower/matpower_utils.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/others/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/others/dpx_parser.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/others/ipa_parser.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/others/pandapower_parser.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/others/plx_parser.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/others/pypsa_parser.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/area.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/branch.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/bus.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/facts.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/fixed_shunt.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/generator.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/gne_device.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/impedance_correction_table.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/induction_machine.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/inter_area.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/load.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/multi_section_line.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/node.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/owner.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/psse_circuit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/psse_object.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/psse_property.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/substation.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/switched_shunt.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/system_switching_device.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/transformer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/two_terminal_dc_line.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/vsc_dc_line.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/devices/zone.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/gridcal_to_raw.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/raw_functions.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/raw_parser_writer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/raw_to_gridcal.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/raw_writer_comment_map.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/raw/rawx_parser_writer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/ucte/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/ucte/devices/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/ucte/devices/ucte_base.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/ucte/devices/ucte_circuit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/ucte/devices/ucte_comment.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/ucte/devices/ucte_exchange_power.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/ucte/devices/ucte_line.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/ucte/devices/ucte_node.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/ucte/devices/ucte_transformer.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/ucte/devices/ucte_transformer_regulation.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/ucte/devices/ucte_transformer_tap_table.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/ucte/ucte_to_gridcal.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/LICENSE.txt +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ATC/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ATC/available_transfer_capacity_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ATC/available_transfer_capacity_options.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ATC/available_transfer_capacity_ts_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Clustering/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Clustering/clustering.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Clustering/clustering_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Clustering/clustering_options.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Clustering/clustering_results.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/helm_contingencies.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/helm_contingency_analysis.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/linear_contingency_analysis.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/nonlinear_contingency_analysis.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/optimal_linear_contingency_analysis.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContingencyAnalysis/Methods/srap.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContingencyAnalysis/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContingencyAnalysis/contingencies_report.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_options.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_results.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_analysis_ts_results.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContingencyAnalysis/contingency_plan.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContinuationPowerFlow/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_input.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_options.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ContinuationPowerFlow/continuation_power_flow_results.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Derivatives/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Derivatives/ac_jacobian.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Derivatives/csc_derivatives.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Derivatives/csr_derivatives.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Derivatives/matpower_derivatives.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Dynamics/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Dynamics/dynamic_modules.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Dynamics/transient_stability_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/InputsAnalysis/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/InputsAnalysis/inputs_analysis_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/NSGA_3.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/mixed_variable_NSGA_2.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/random_eval.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/InvestmentsEvaluation/Methods/stop_crits.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/InvestmentsEvaluation/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_options.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/InvestmentsEvaluation/investments_evaluation_results.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/LinearFactors/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/LinearFactors/linear_analysis.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/LinearFactors/linear_analysis_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/LinearFactors/linear_analysis_options.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/LinearFactors/linear_analysis_results.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/LinearFactors/linear_analysis_ts_results.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/NTC/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/NTC/ntc_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/NTC/ntc_opf.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/NTC/ntc_options.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/NTC/ntc_results.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/NTC/ntc_ts_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/NTC/ntc_ts_results.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/NodalCapacity/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/NodalCapacity/nodal_capacity_options.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/NodalCapacity/nodal_capacity_ts_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/NodalCapacity/nodal_capacity_ts_results.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/OPF/Formulations/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/OPF/Formulations/ac_opf_problem.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/OPF/NumericalMethods/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf_derivatives.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/OPF/NumericalMethods/ac_opf_new.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/OPF/NumericalMethods/newton_raphson_ips_fx.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/OPF/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/OPF/linear_opf_ts.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/OPF/opf_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/OPF/opf_options.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/OPF/opf_results.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/OPF/opf_ts_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/OPF/opf_ts_results.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/OPF/simple_dispatch_ts.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/Formulations/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/Formulations/pf_advanced_formulation.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/Formulations/pf_formulation_template.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/common_functions.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/discrete_controls.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/fast_decoupled.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/gauss_power_flow.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/helm_power_flow.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/iwamoto_newton_raphson.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/levenberg_marquadt_fx.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/linearized_power_flow.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/NumericalMethods/powell_fx.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/grid_analysis.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/power_flow_options.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_input.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/power_flow_ts_results.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/PowerFlow/power_flow_worker.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ShortCircuitStudies/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_options.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_results.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/ShortCircuitStudies/short_circuit_worker.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/SigmaAnalysis/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/SigmaAnalysis/sigma_analysis_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/StateEstimation/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/StateEstimation/state_estimation.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/StateEstimation/state_estimation_inputs.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/StateEstimation/state_stimation_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Stochastic/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Stochastic/adequacy_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Stochastic/blackout_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Stochastic/latin_hypercube_sampling.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Stochastic/reliability.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Stochastic/reliability_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Stochastic/reliability_iterable.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_input.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Stochastic/stochastic_power_flow_results.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Topology/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Topology/node_groups_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Topology/topology_processor_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/Topology/topology_reduction_driver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/driver_handler.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/driver_template.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/options_template.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/results_table.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/results_template.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Simulations/types.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Topology/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Topology/detect_substations.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Topology/simulation_indices.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Topology/topology.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Topology/topology_processor.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/Filtering/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/Filtering/filtering.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/Filtering/objects_filtering.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/Filtering/results_table_filtering.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/Filtering/timeseries_filtering.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/MIP/SimpleMip/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/MIP/SimpleMip/highs.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/MIP/SimpleMip/lpmodel.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/MIP/SimpleMip/lpobjects.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/MIP/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/MIP/pulp_interface.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/MIP/selected_interface.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/MVRSM_mo_pareto.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/MVRSM_mo_scaled.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/MVRSM_original.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/autodiff.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/common.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/ips.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/iwamoto.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/levenberg_marquadt.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/newton_raphson.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/newton_raphson_ode.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/non_dominated_sorting.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/nsga3.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/numerical_stability.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/powell.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/sparse_solve.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/NumericalMethods/weldorf_online_stddev.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/Sparse/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/Sparse/csc.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/Sparse/csc2.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/Sparse/csc_numba.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/Sparse/sparse_array.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/Sparse/utils.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/SyntheticNetworks/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/SyntheticNetworks/rpgm_algo.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/apis/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/apis/copt_api.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/apis/cplex_cmd.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/apis/cplex_py.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/apis/gurobi_cmd.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/apis/gurobi_py.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/apis/highs_cmd.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/apis/highs_py.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/apis/lp_solver.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/apis/lp_solver_cmd.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/apis/scip_api.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/apis/xpress_api.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/constants.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/model/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/model/lp_objects.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/model/lp_problem.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/mps_lp.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/paths.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/pulp.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/sparse.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/ThirdParty/pulp/utilities.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/progress_bar.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/scores.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Utils/zip_file_mgmt.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/__init__.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/api.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/basic_structures.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/enumerations.py +0 -0
- {gridcalengine-5.3.38 → gridcalengine-5.3.40}/setup.cfg +0 -0
@@ -3,27 +3,30 @@
|
|
3
3
|
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
4
4
|
# SPDX-License-Identifier: MPL-2.0
|
5
5
|
from __future__ import annotations
|
6
|
-
import
|
7
|
-
import warnings
|
6
|
+
import time
|
8
7
|
import numpy as np
|
9
8
|
from typing import List, Dict, Union, Tuple, TYPE_CHECKING
|
10
9
|
|
11
|
-
from GridCalEngine import
|
10
|
+
from GridCalEngine.Utils.ThirdParty.gslv.gslv_activation import (pg, build_status_dict, tap_module_control_mode_dict,
|
11
|
+
tap_phase_control_mode_dict, hvdc_control_mode_dict,
|
12
|
+
group_type_dict, contingency_ops_type_dict,
|
13
|
+
contingency_method_dict, converter_control_type_dict,
|
14
|
+
bus_type_dict,
|
15
|
+
GSLV_AVAILABLE, GSLV_VERSION,
|
16
|
+
GSLV_RECOMMENDED_VERSION)
|
12
17
|
from GridCalEngine.DataStructures.branch_parent_data import BranchParentData
|
13
18
|
from GridCalEngine.basic_structures import IntVec, Vec
|
14
19
|
from GridCalEngine.Devices.profile import Profile
|
15
20
|
from GridCalEngine.Devices.multi_circuit import MultiCircuit
|
16
|
-
from GridCalEngine.enumerations import (HvdcControlType, SolverType, TimeGrouping,
|
17
|
-
ZonalGrouping, MIPSolvers, ContingencyMethod, ContingencyOperationTypes,
|
18
|
-
BuildStatus, BranchGroupTypes, ConverterControlType)
|
19
21
|
import GridCalEngine.Devices as dev
|
20
22
|
from GridCalEngine.Simulations.PowerFlow.power_flow_options import PowerFlowOptions
|
21
23
|
from GridCalEngine.Simulations.PowerFlow.power_flow_results import PowerFlowResults
|
22
|
-
|
24
|
+
from GridCalEngine import TapModuleControl, TapPhaseControl
|
25
|
+
from GridCalEngine.enumerations import SolverType
|
23
26
|
from GridCalEngine.DataStructures.numerical_circuit import NumericalCircuit
|
24
27
|
|
25
|
-
|
26
|
-
from GridCalEngine.basic_structures import
|
28
|
+
|
29
|
+
from GridCalEngine.basic_structures import Logger
|
27
30
|
|
28
31
|
if TYPE_CHECKING: # Only imports the below statements during type checking
|
29
32
|
from GridCalEngine.Simulations.OPF.opf_results import OptimalPowerFlowResults
|
@@ -32,97 +35,6 @@ if TYPE_CHECKING: # Only imports the below statements during type checking
|
|
32
35
|
from GridCalEngine.Simulations.ContingencyAnalysis.contingency_analysis_options import ContingencyAnalysisOptions
|
33
36
|
from GridCalEngine.Simulations.ContingencyAnalysis.contingency_analysis_results import ContingencyAnalysisResults
|
34
37
|
|
35
|
-
GSLV_RECOMMENDED_VERSION = "0.2.0"
|
36
|
-
GSLV_VERSION = ''
|
37
|
-
GSLV_AVAILABLE = False
|
38
|
-
try:
|
39
|
-
import pygslv as pg
|
40
|
-
|
41
|
-
pg.activate(os.path.join(get_create_gridcal_folder(), "license.gslv"), verbose=True)
|
42
|
-
|
43
|
-
# activate
|
44
|
-
if not pg.isLicensed():
|
45
|
-
# license not found
|
46
|
-
GSLV_AVAILABLE = False
|
47
|
-
else:
|
48
|
-
# already activated
|
49
|
-
GSLV_AVAILABLE = True
|
50
|
-
GSLV_VERSION = pg.get_version()
|
51
|
-
|
52
|
-
if GSLV_AVAILABLE:
|
53
|
-
if GSLV_VERSION < GSLV_RECOMMENDED_VERSION:
|
54
|
-
warnings.warn(f"Recommended version for GSLV is {GSLV_RECOMMENDED_VERSION} "
|
55
|
-
f"instead of {GSLV_VERSION}")
|
56
|
-
|
57
|
-
build_status_dict = {
|
58
|
-
BuildStatus.Planned: pg.BuildStatus.Planned,
|
59
|
-
BuildStatus.Commissioned: pg.BuildStatus.Commissioned,
|
60
|
-
BuildStatus.Candidate: pg.BuildStatus.Candidate,
|
61
|
-
BuildStatus.Decommissioned: pg.BuildStatus.Decommissioned,
|
62
|
-
BuildStatus.PlannedDecommission: pg.BuildStatus.PlannedDecommission,
|
63
|
-
}
|
64
|
-
|
65
|
-
tap_module_control_mode_dict = {
|
66
|
-
TapModuleControl.fixed: pg.TapModuleControl.fixed,
|
67
|
-
TapModuleControl.Qf: pg.TapModuleControl.Qf,
|
68
|
-
TapModuleControl.Qt: pg.TapModuleControl.Qt,
|
69
|
-
TapModuleControl.Vm: pg.TapModuleControl.Vm,
|
70
|
-
}
|
71
|
-
|
72
|
-
tap_phase_control_mode_dict = {
|
73
|
-
TapPhaseControl.fixed: pg.TapPhaseControl.fixed,
|
74
|
-
TapPhaseControl.Pf: pg.TapPhaseControl.Pf,
|
75
|
-
TapPhaseControl.Pt: pg.TapPhaseControl.Pt,
|
76
|
-
}
|
77
|
-
|
78
|
-
hvdc_control_mode_dict = {
|
79
|
-
HvdcControlType.type_0_free: pg.HvdcControlType.type_0_free,
|
80
|
-
HvdcControlType.type_1_Pset: pg.HvdcControlType.type_1_Pset,
|
81
|
-
}
|
82
|
-
|
83
|
-
group_type_dict = {
|
84
|
-
BranchGroupTypes.GenericGroup: pg.BranchGroupTypes.GenericGroup,
|
85
|
-
BranchGroupTypes.TransformerGroup: pg.BranchGroupTypes.TransformerGroup,
|
86
|
-
BranchGroupTypes.LineSegmentsGroup: pg.BranchGroupTypes.LineSegmentsGroup,
|
87
|
-
}
|
88
|
-
|
89
|
-
contingency_ops_type_dict = {
|
90
|
-
ContingencyOperationTypes.Active: pg.ContingencyOperationTypes.Active,
|
91
|
-
ContingencyOperationTypes.PowerPercentage: pg.ContingencyOperationTypes.PowerPercentage,
|
92
|
-
}
|
93
|
-
|
94
|
-
contingency_method_dict = {
|
95
|
-
ContingencyMethod.PTDF: pg.ContingencyMethod.PTDF,
|
96
|
-
ContingencyMethod.PowerFlow: pg.ContingencyMethod.PowerFlow,
|
97
|
-
ContingencyMethod.HELM: pg.ContingencyMethod.HELM,
|
98
|
-
}
|
99
|
-
|
100
|
-
converter_control_type_dict = {
|
101
|
-
ConverterControlType.Vm_dc: pg.ConverterControlType.Vm_dc,
|
102
|
-
ConverterControlType.Vm_ac: pg.ConverterControlType.Vm_ac,
|
103
|
-
ConverterControlType.Va_ac: pg.ConverterControlType.Va_ac,
|
104
|
-
ConverterControlType.Qac: pg.ConverterControlType.Q_ac,
|
105
|
-
ConverterControlType.Pdc: pg.ConverterControlType.P_dc,
|
106
|
-
ConverterControlType.Pac: pg.ConverterControlType.P_ac,
|
107
|
-
}
|
108
|
-
|
109
|
-
bus_type_dict = {
|
110
|
-
BusMode.PQ_tpe.value: pg.BusMode.PQ,
|
111
|
-
BusMode.PV_tpe.value: pg.BusMode.PV,
|
112
|
-
BusMode.Slack_tpe.value: pg.BusMode.Slack,
|
113
|
-
BusMode.P_tpe.value: pg.BusMode.P,
|
114
|
-
BusMode.PQV_tpe.value: pg.BusMode.PQV,
|
115
|
-
}
|
116
|
-
|
117
|
-
except ImportError as e:
|
118
|
-
pg = None
|
119
|
-
GSLV_AVAILABLE = False
|
120
|
-
GSLV_VERSION = ''
|
121
|
-
build_status_dict = dict()
|
122
|
-
tap_module_control_mode_dict = dict()
|
123
|
-
tap_phase_control_mode_dict = dict()
|
124
|
-
contingency_ops_type_dict = dict()
|
125
|
-
contingency_method_dict = dict()
|
126
38
|
|
127
39
|
|
128
40
|
def get_gslv_mip_solvers_list() -> List[str]:
|
@@ -188,8 +100,6 @@ def fill_profile(gslv_profile: "pg.Profiledouble|pg.Profilebool|pg.Profileint|pg
|
|
188
100
|
:param default_val: Default value
|
189
101
|
"""
|
190
102
|
|
191
|
-
|
192
|
-
|
193
103
|
if use_time_series:
|
194
104
|
if gc_profile.is_sparse:
|
195
105
|
if time_indices is None:
|
@@ -2418,7 +2328,8 @@ def gslv_pf(circuit: MultiCircuit,
|
|
2418
2328
|
pf_opt: PowerFlowOptions,
|
2419
2329
|
time_series: bool = False,
|
2420
2330
|
time_indices: Union[IntVec, None] = None,
|
2421
|
-
opf_results: Union[None, OptimalPowerFlowResults] = None
|
2331
|
+
opf_results: Union[None, OptimalPowerFlowResults] = None,
|
2332
|
+
logger: Logger = Logger()) -> "pg.PowerFlowResults":
|
2422
2333
|
"""
|
2423
2334
|
GSLV power flow
|
2424
2335
|
:param circuit: MultiCircuit instance
|
@@ -2449,19 +2360,23 @@ def gslv_pf(circuit: MultiCircuit,
|
|
2449
2360
|
time_indices = [0]
|
2450
2361
|
n_threads = 1
|
2451
2362
|
|
2363
|
+
t0 = time.time()
|
2452
2364
|
pf_res = pg.multi_island_pf(grid=gslv_grid,
|
2453
2365
|
options=pf_options,
|
2454
2366
|
time_indices=time_indices,
|
2455
2367
|
n_threads=n_threads)
|
2456
2368
|
|
2369
|
+
logger.add_info("gslv time", value=f"{(time.time() - t0)} s")
|
2370
|
+
|
2457
2371
|
return pf_res
|
2458
2372
|
|
2459
2373
|
|
2460
|
-
def translate_gslv_pf_results(grid: MultiCircuit, res: "pg.PowerFlowResults") -> PowerFlowResults:
|
2374
|
+
def translate_gslv_pf_results(grid: MultiCircuit, res: "pg.PowerFlowResults", logger: Logger) -> PowerFlowResults:
|
2461
2375
|
"""
|
2462
2376
|
Translate the GSLV Power Analytics results back to GridCal
|
2463
2377
|
:param grid: MultiCircuit instance
|
2464
2378
|
:param res: GSLV's PowerFlowResults instance
|
2379
|
+
:param logger: Logger
|
2465
2380
|
:return: PowerFlowResults instance
|
2466
2381
|
"""
|
2467
2382
|
results = PowerFlowResults(
|
@@ -2489,10 +2404,10 @@ def translate_gslv_pf_results(grid: MultiCircuit, res: "pg.PowerFlowResults") ->
|
|
2489
2404
|
results.loading = res.loading[0, :]
|
2490
2405
|
results.losses = res.losses[0, :]
|
2491
2406
|
# results.Vbranch = res.Vbranch[0, :]
|
2492
|
-
|
2493
|
-
|
2494
|
-
|
2495
|
-
results.
|
2407
|
+
results.If = res.If[0, :]
|
2408
|
+
results.It = res.It[0, :]
|
2409
|
+
|
2410
|
+
results.tap_module = res.tap_module[0, :]
|
2496
2411
|
results.tap_angle = res.tap_angle[0, :]
|
2497
2412
|
# results.F = res.F
|
2498
2413
|
# results.T = res.T
|
@@ -2502,6 +2417,18 @@ def translate_gslv_pf_results(grid: MultiCircuit, res: "pg.PowerFlowResults") ->
|
|
2502
2417
|
results.Pt_hvdc = res.Pt_hvdc[0, :]
|
2503
2418
|
results.loading_hvdc = res.loading_hvdc[0, :]
|
2504
2419
|
results.losses_hvdc = res.losses_hvdc[0, :]
|
2420
|
+
|
2421
|
+
results.Pf_vsc = res.Pf_vsc[0, :]
|
2422
|
+
results.St_vsc = res.St_vsc[0, :]
|
2423
|
+
results.loading_vsc = res.loading_vsc[0, :]
|
2424
|
+
results.losses_vsc = res.losses_vsc[0, :]
|
2425
|
+
|
2426
|
+
results.gen_q = res.gen_q[0, :]
|
2427
|
+
results.battery_q = res.battery_q[0, :]
|
2428
|
+
results.shunt_q = res.shunt_q[0, :]
|
2429
|
+
|
2430
|
+
# logger.add_info("gslv time", value=res.time_array[0])
|
2431
|
+
|
2505
2432
|
# results.bus_area_indices = grid.get_bus_area_indices()
|
2506
2433
|
# results.area_names = [a.name for a in grid.areas]
|
2507
2434
|
# results.bus_types = convert_bus_types(res.bus_types[0]) # this is a list of lists
|
@@ -2657,8 +2584,8 @@ def compare_branch_parent_data(gslv_branch_data: pg.BranchParentData,
|
|
2657
2584
|
# branch data
|
2658
2585
|
errors += CheckArrEq(np.array(gslv_branch_data.idtag), np.array(gc_branch_data.idtag), parent_name, 'idtag')
|
2659
2586
|
errors += CheckArrEq(gslv_branch_data.F, gc_branch_data.F, parent_name, 'F')
|
2660
|
-
errors += CheckArrEq(gslv_branch_data.T, gc_branch_data.T,
|
2661
|
-
errors += CheckArrEq(gslv_branch_data.active, gc_branch_data.active,
|
2587
|
+
errors += CheckArrEq(gslv_branch_data.T, gc_branch_data.T, parent_name, 'T')
|
2588
|
+
errors += CheckArrEq(gslv_branch_data.active, gc_branch_data.active, parent_name, 'active')
|
2662
2589
|
errors += CheckArr(gslv_branch_data.rates, gc_branch_data.rates, tol, parent_name, 'rates')
|
2663
2590
|
|
2664
2591
|
errors += CheckArr(gslv_branch_data.contingency_rates, gc_branch_data.contingency_rates, tol,
|
@@ -2671,14 +2598,14 @@ def compare_branch_parent_data(gslv_branch_data: pg.BranchParentData,
|
|
2671
2598
|
errors += CheckArr(gslv_branch_data.mttr, gc_branch_data.mttr, tol, parent_name, 'mttr')
|
2672
2599
|
|
2673
2600
|
errors += CheckArrEq(gslv_branch_data.contingency_enabled, gc_branch_data.contingency_enabled,
|
2674
|
-
|
2601
|
+
parent_name, 'contingency_enabled')
|
2675
2602
|
errors += CheckArrEq(gslv_branch_data.monitor_loading, gc_branch_data.monitor_loading,
|
2676
|
-
|
2603
|
+
parent_name, 'monitor_loading')
|
2677
2604
|
|
2678
2605
|
errors += CheckArr(gslv_branch_data.overload_cost, gc_branch_data.overload_cost, tol,
|
2679
2606
|
parent_name, 'overload_cost')
|
2680
2607
|
errors += CheckArrEq(gslv_branch_data.original_idx, gc_branch_data.original_idx,
|
2681
|
-
|
2608
|
+
parent_name, 'original_idx')
|
2682
2609
|
# errors += CheckArr(gslv_branch_data.reducible, gc_branch_data.reducible, tol, parent_name, 'reducible')
|
2683
2610
|
|
2684
2611
|
return errors
|
@@ -2695,7 +2622,7 @@ def compare_nc(nc_gslv: "pg.NumericalCircuit", nc_gc: NumericalCircuit, tol: flo
|
|
2695
2622
|
errors = 0
|
2696
2623
|
|
2697
2624
|
# bus data
|
2698
|
-
errors += CheckArrEq(nc_gslv.bus_data.active, nc_gc.bus_data.active,
|
2625
|
+
errors += CheckArrEq(nc_gslv.bus_data.active, nc_gc.bus_data.active, 'BusData', 'active')
|
2699
2626
|
errors += CheckArr(nc_gslv.bus_data.Vbus.real, nc_gc.bus_data.Vbus.real, tol, 'BusData', 'V0')
|
2700
2627
|
errors += CheckArr(nc_gslv.bus_data.installed_power, nc_gc.bus_data.installed_power, tol,
|
2701
2628
|
'BusData', 'installed power')
|
@@ -2736,14 +2663,14 @@ def compare_nc(nc_gslv: "pg.NumericalCircuit", nc_gc: NumericalCircuit, tol: flo
|
|
2736
2663
|
errors += CheckArr(nc_gslv.vsc_data.control1_val, nc_gc.vsc_data.control1_val, tol, 'VscData', 'control1_val')
|
2737
2664
|
errors += CheckArr(nc_gslv.vsc_data.control2_val, nc_gc.vsc_data.control2_val, tol, 'VscData', 'control2_val')
|
2738
2665
|
|
2739
|
-
errors += CheckArrEq(nc_gslv.vsc_data.control1_bus_idx, nc_gc.vsc_data.control1_bus_idx,
|
2740
|
-
|
2741
|
-
errors += CheckArrEq(nc_gslv.vsc_data.control2_bus_idx, nc_gc.vsc_data.control2_bus_idx,
|
2742
|
-
|
2743
|
-
errors += CheckArrEq(nc_gslv.vsc_data.control1_branch_idx, nc_gc.vsc_data.control1_branch_idx,
|
2744
|
-
|
2745
|
-
errors += CheckArrEq(nc_gslv.vsc_data.control2_branch_idx, nc_gc.vsc_data.control2_branch_idx,
|
2746
|
-
|
2666
|
+
errors += CheckArrEq(nc_gslv.vsc_data.control1_bus_idx, nc_gc.vsc_data.control1_bus_idx, 'VscData',
|
2667
|
+
'control1_bus_idx')
|
2668
|
+
errors += CheckArrEq(nc_gslv.vsc_data.control2_bus_idx, nc_gc.vsc_data.control2_bus_idx, 'VscData',
|
2669
|
+
'control2_bus_idx')
|
2670
|
+
errors += CheckArrEq(nc_gslv.vsc_data.control1_branch_idx, nc_gc.vsc_data.control1_branch_idx, 'VscData',
|
2671
|
+
'control1_branch_idx')
|
2672
|
+
errors += CheckArrEq(nc_gslv.vsc_data.control2_branch_idx, nc_gc.vsc_data.control2_branch_idx, 'VscData',
|
2673
|
+
'control2_branch_idx')
|
2747
2674
|
|
2748
2675
|
# HVDC data
|
2749
2676
|
errors += compare_branch_parent_data(nc_gslv.hvdc_data, nc_gc.hvdc_data, tol, "HvdcData")
|
@@ -2768,8 +2695,8 @@ def compare_nc(nc_gslv: "pg.NumericalCircuit", nc_gc: NumericalCircuit, tol: flo
|
|
2768
2695
|
errors += CheckArr(nc_gslv.hvdc_data.Qmax_t, nc_gc.hvdc_data.Qmax_t, tol, 'HvdcData', 'Qmax_t')
|
2769
2696
|
|
2770
2697
|
# generator data
|
2771
|
-
errors += CheckArrEq(nc_gslv.generator_data.bus_idx, nc_gc.generator_data.bus_idx,
|
2772
|
-
errors += CheckArrEq(nc_gslv.generator_data.active, nc_gc.generator_data.active,
|
2698
|
+
errors += CheckArrEq(nc_gslv.generator_data.bus_idx, nc_gc.generator_data.bus_idx, 'GenData', 'bus_idx')
|
2699
|
+
errors += CheckArrEq(nc_gslv.generator_data.active, nc_gc.generator_data.active, 'GenData', 'active')
|
2773
2700
|
errors += CheckArr(nc_gslv.generator_data.p, nc_gc.generator_data.p, tol, 'GenData', 'P')
|
2774
2701
|
errors += CheckArr(nc_gslv.generator_data.pf, nc_gc.generator_data.pf, tol, 'GenData', 'Pf')
|
2775
2702
|
errors += CheckArr(nc_gslv.generator_data.v, nc_gc.generator_data.v, tol, 'GenData', 'v')
|
@@ -325,8 +325,9 @@ class Line(BranchParent):
|
|
325
325
|
raise Exception("Template must be set before changing the circuit index.")
|
326
326
|
if not isinstance(obj, (OverheadLineType, UndergroundLineType, SequenceLineType)):
|
327
327
|
raise Exception("Invalid template type. Must be OverheadLineType, UndergroundLineType, or SequenceLineType.")
|
328
|
-
if
|
329
|
-
|
328
|
+
if isinstance(obj, OverheadLineType):
|
329
|
+
if val > obj.n_circuits:
|
330
|
+
raise Exception("Circuit index exceeds the number of circuits in the template.")
|
330
331
|
if val <= 0:
|
331
332
|
raise Exception("Circuit index must be greater than 0.")
|
332
333
|
else:
|
@@ -13,7 +13,8 @@ class Wire(EditableDevice):
|
|
13
13
|
to compose towers
|
14
14
|
"""
|
15
15
|
|
16
|
-
def __init__(self, name='',
|
16
|
+
def __init__(self, name='',
|
17
|
+
idtag: Union[str, None] = None,
|
17
18
|
r: float = 0.01,
|
18
19
|
max_current: float = 1.0,
|
19
20
|
stranding: str = "",
|
{gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/Devices/Parents/editable_device.py
RENAMED
@@ -83,6 +83,23 @@ def parse_idtag(val: Union[str, None]) -> str:
|
|
83
83
|
return str(val)
|
84
84
|
|
85
85
|
|
86
|
+
def smart_compare(a, b, atol = 1.e-10):
|
87
|
+
"""
|
88
|
+
Compares two Python objects with tolerance for numerical values.
|
89
|
+
|
90
|
+
If both inputs are numeric (int, float, complex, or NumPy numbers),
|
91
|
+
the function uses `np.isclose()` to compare them. For all other types, it falls back to
|
92
|
+
standard equality comparison (`==`).
|
93
|
+
|
94
|
+
a :First object to compare.
|
95
|
+
b :Second object to compare.
|
96
|
+
:return: bool
|
97
|
+
"""
|
98
|
+
if isinstance(a, float) and isinstance(b, float):
|
99
|
+
return np.isclose(a, b, atol=atol)
|
100
|
+
return a == b
|
101
|
+
|
102
|
+
|
86
103
|
class GCProp:
|
87
104
|
"""
|
88
105
|
GridCal property
|
@@ -879,7 +896,7 @@ class EditableDevice:
|
|
879
896
|
v1 = self.get_property_value(prop=prop, t_idx=None)
|
880
897
|
v2 = other.get_property_value(prop=prop, t_idx=None)
|
881
898
|
|
882
|
-
if v1
|
899
|
+
if not smart_compare(v1, v2):
|
883
900
|
logger.add_info(msg="Different snapshot values",
|
884
901
|
device_class=self.device_type.value,
|
885
902
|
device_property=prop.name,
|
@@ -907,7 +924,7 @@ class EditableDevice:
|
|
907
924
|
v1 = p1[t_idx]
|
908
925
|
v2 = p2[t_idx]
|
909
926
|
|
910
|
-
if v1
|
927
|
+
if not smart_compare(v1, v2):
|
911
928
|
logger.add_info(msg="Different time series values",
|
912
929
|
device_class=self.device_type.value,
|
913
930
|
device_property=prop.name,
|
@@ -919,7 +936,7 @@ class EditableDevice:
|
|
919
936
|
v1b = self.get_property_value(prop=prop, t_idx=t_idx)
|
920
937
|
v2b = other.get_property_value(prop=prop, t_idx=t_idx)
|
921
938
|
|
922
|
-
if v1
|
939
|
+
if not smart_compare(v1, v1b):
|
923
940
|
logger.add_info(
|
924
941
|
msg="Profile values differ with different getter methods!",
|
925
942
|
device_class=self.device_type.value,
|
@@ -929,7 +946,7 @@ class EditableDevice:
|
|
929
946
|
expected_value=v1)
|
930
947
|
action = ActionType.Modify
|
931
948
|
|
932
|
-
if v2
|
949
|
+
if not smart_compare(v2, v2b):
|
933
950
|
logger.add_info(
|
934
951
|
msg="Profile getting values differ with different getter methods!",
|
935
952
|
device_class=self.device_type.value,
|
{gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_data_parser.py
RENAMED
@@ -167,10 +167,11 @@ def merge(A: Dict[str, Dict[str, Dict[str, str]]],
|
|
167
167
|
pass
|
168
168
|
|
169
169
|
|
170
|
-
def read_cgmes_files(cim_files: Union[List[str], str]) -> Dict[str, List[str]]:
|
170
|
+
def read_cgmes_files(cim_files: Union[List[str], str], logger: DataLogger) -> Dict[str, List[str]]:
|
171
171
|
"""
|
172
172
|
Reads a list of .zip or xml into a dictionary of file name -> list of text lines
|
173
173
|
:param cim_files: list of file names
|
174
|
+
:param logger: DataLogger instance
|
174
175
|
:return: dictionary of file name -> list of text lines
|
175
176
|
"""
|
176
177
|
# read files and sort them in the preferred reading order
|
@@ -189,21 +190,28 @@ def read_cgmes_files(cim_files: Union[List[str], str]) -> Dict[str, List[str]]:
|
|
189
190
|
elif file_extension == '.zip':
|
190
191
|
# read the content of a zip file
|
191
192
|
d = get_xml_from_zip(file_name_zip=f)
|
192
|
-
|
193
|
-
|
193
|
+
if d is not None:
|
194
|
+
for key, value in d.items():
|
195
|
+
data[key] = value
|
196
|
+
else:
|
197
|
+
logger.add_error("BadZipFile", value=f)
|
198
|
+
print(f"BadZipFile {f}")
|
194
199
|
else:
|
195
200
|
name, file_extension = os.path.splitext(cim_files)
|
196
201
|
|
197
202
|
if file_extension == '.xml':
|
198
|
-
|
199
|
-
|
200
|
-
file_ptr.close()
|
203
|
+
with open(cim_files, 'rb') as file_ptr:
|
204
|
+
data[name] = get_xml_content(file_ptr=file_ptr)
|
201
205
|
|
202
206
|
elif file_extension == '.zip':
|
203
207
|
# read the content of a zip file
|
204
208
|
d = get_xml_from_zip(file_name_zip=cim_files)
|
205
|
-
|
206
|
-
|
209
|
+
if d is not None:
|
210
|
+
for key, value in d.items():
|
211
|
+
data[key] = value
|
212
|
+
else:
|
213
|
+
logger.add_error("BadZipFile", value=cim_files)
|
214
|
+
print(f"BadZipFile {cim_files}")
|
207
215
|
|
208
216
|
return data
|
209
217
|
|
@@ -324,7 +332,7 @@ class CgmesDataParser(BaseCircuit):
|
|
324
332
|
"http://iec.ch/TC57/ns/CIM/StateVariables-EU/3.0",
|
325
333
|
"http://iec.ch/TC57/ns/CIM/Topology-EU/3.0"]
|
326
334
|
# import the cim files' content into a dictionary
|
327
|
-
data = read_cgmes_files(files)
|
335
|
+
data = read_cgmes_files(cim_files=files, logger=self.logger)
|
328
336
|
# Parse the files
|
329
337
|
i = 0
|
330
338
|
for file_name, file_data in data.items():
|
@@ -21,6 +21,32 @@ import xml.etree.ElementTree as Et
|
|
21
21
|
import xml.dom.minidom
|
22
22
|
|
23
23
|
|
24
|
+
def get_available_cgmes_profiles(cgmes_version: CGMESVersions):
|
25
|
+
if cgmes_version == CGMESVersions.v2_4_15:
|
26
|
+
return {
|
27
|
+
"EQ": ["http://entsoe.eu/CIM/EquipmentCore/3/1",
|
28
|
+
"http://entsoe.eu/CIM/EquipmentShortCircuit/3/1",
|
29
|
+
"http://entsoe.eu/CIM/EquipmentOperation/3/1"],
|
30
|
+
"SSH": ["http://entsoe.eu/CIM/SteadyStateHypothesis/1/1"],
|
31
|
+
"TP": ["http://entsoe.eu/CIM/Topology/4/1"],
|
32
|
+
"SV": ["http://entsoe.eu/CIM/StateVariables/4/1"],
|
33
|
+
"GL": ["http://entsoe.eu/CIM/GeographicalLocation/2/1"]
|
34
|
+
}
|
35
|
+
elif cgmes_version == CGMESVersions.v3_0_0:
|
36
|
+
return {
|
37
|
+
"EQ": ["http://iec.ch/TC57/ns/CIM/CoreEquipment-EU/3.0"],
|
38
|
+
"OP": ["http://iec.ch/TC57/ns/CIM/Operation-EU/3.0"],
|
39
|
+
"SC": ["http://iec.ch/TC57/ns/CIM/ShortCircuit-EU/3.0"],
|
40
|
+
"SSH": ["http://iec.ch/TC57/ns/CIM/SteadyStateHypothesis-EU/3.0"],
|
41
|
+
"TP": ["http://iec.ch/TC57/ns/CIM/Topology-EU/3.0"],
|
42
|
+
"SV": ["http://iec.ch/TC57/ns/CIM/StateVariables-EU/3.0"],
|
43
|
+
"GL": ["http://iec.ch/TC57/ns/CIM/GeographicalLocation-EU/3.0"]
|
44
|
+
}
|
45
|
+
else:
|
46
|
+
print(f"CGMES Version not suported {cgmes_version.value}")
|
47
|
+
return dict()
|
48
|
+
|
49
|
+
|
24
50
|
class CimExporter:
|
25
51
|
def __init__(self, cgmes_circuit: CgmesCircuit, profiles_to_export: List[cgmesProfile], one_file_per_profile: bool):
|
26
52
|
self.cgmes_circuit = cgmes_circuit
|
@@ -48,15 +74,7 @@ class CimExporter:
|
|
48
74
|
"xmlns:entsoe": "http://entsoe.eu/CIM/SchemaExtension/3/1#",
|
49
75
|
"xmlns:rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
|
50
76
|
}
|
51
|
-
self.profile_uris =
|
52
|
-
"EQ": ["http://entsoe.eu/CIM/EquipmentCore/3/1",
|
53
|
-
"http://entsoe.eu/CIM/EquipmentShortCircuit/3/1",
|
54
|
-
"http://entsoe.eu/CIM/EquipmentOperation/3/1"],
|
55
|
-
"SSH": ["http://entsoe.eu/CIM/SteadyStateHypothesis/1/1"],
|
56
|
-
"TP": ["http://entsoe.eu/CIM/Topology/4/1"],
|
57
|
-
"SV": ["http://entsoe.eu/CIM/StateVariables/4/1"],
|
58
|
-
"GL": ["http://entsoe.eu/CIM/GeographicalLocation/2/1"]
|
59
|
-
}
|
77
|
+
self.profile_uris = get_available_cgmes_profiles(cgmes_version=cgmes_circuit.cgmes_version)
|
60
78
|
|
61
79
|
self.enum_dict = dict()
|
62
80
|
self.about_dict = dict()
|
@@ -101,15 +119,8 @@ class CimExporter:
|
|
101
119
|
"xmlns:eu": "http://iec.ch/TC57/CIM100-European#",
|
102
120
|
"xmlns:rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
|
103
121
|
}
|
104
|
-
self.profile_uris =
|
105
|
-
|
106
|
-
"OP": ["http://iec.ch/TC57/ns/CIM/Operation-EU/3.0"],
|
107
|
-
"SC": ["http://iec.ch/TC57/ns/CIM/ShortCircuit-EU/3.0"],
|
108
|
-
"SSH": ["http://iec.ch/TC57/ns/CIM/SteadyStateHypothesis-EU/3.0"],
|
109
|
-
"TP": ["http://iec.ch/TC57/ns/CIM/Topology-EU/3.0"],
|
110
|
-
"SV": ["http://iec.ch/TC57/ns/CIM/StateVariables-EU/3.0"],
|
111
|
-
"GL": ["http://iec.ch/TC57/ns/CIM/GeographicalLocation-EU/3.0"]
|
112
|
-
}
|
122
|
+
self.profile_uris = get_available_cgmes_profiles(cgmes_version=cgmes_circuit.cgmes_version)
|
123
|
+
|
113
124
|
self.enum_dict = dict()
|
114
125
|
self.about_dict = dict()
|
115
126
|
for s_i, p_i, o_i in rdf_serialization.triples((None, RDF.type, RDFS.Class)):
|
{gridcalengine-5.3.38 → gridcalengine-5.3.40}/GridCalEngine/IO/cim/cgmes/cgmes_to_gridcal.py
RENAMED
@@ -279,7 +279,7 @@ def get_gcdev_buses(cgmes_model: CgmesCircuit,
|
|
279
279
|
gc_model: MultiCircuit,
|
280
280
|
v_dict: Dict[str, Tuple[float, float]],
|
281
281
|
cn_look_up: CnLookup,
|
282
|
-
logger: DataLogger) -> Dict[str, gcdev.Bus]:
|
282
|
+
logger: DataLogger) -> Tuple[Dict[str, gcdev.Bus], bool]:
|
283
283
|
"""
|
284
284
|
Convert the TopologicalNodes to Buses (CalculationNodes)
|
285
285
|
|
@@ -289,7 +289,7 @@ def get_gcdev_buses(cgmes_model: CgmesCircuit,
|
|
289
289
|
:param cn_look_up: CnLookup
|
290
290
|
:param logger: DataLogger
|
291
291
|
:return: dictionary relating the TopologicalNode uuid to the gcdev CalculationNode
|
292
|
-
Dict[str, gcdev.Bus]
|
292
|
+
Dict[str, gcdev.Bus], fatal error?
|
293
293
|
"""
|
294
294
|
|
295
295
|
slack_id = get_slack_id(cgmes_model.cgmes_assets.SynchronousMachine_list)
|
@@ -310,11 +310,12 @@ def get_gcdev_buses(cgmes_model: CgmesCircuit,
|
|
310
310
|
device_class=tp_node.tpe,
|
311
311
|
device_property="nominalVoltage")
|
312
312
|
elif nominal_voltage is None:
|
313
|
-
logger.add_error(msg='Nominal voltage is None. :(',
|
313
|
+
logger.add_error(msg='Nominal voltage is None. Maybe boundary was not attached for import :(',
|
314
314
|
device=tp_node.rdfid,
|
315
315
|
device_class=tp_node.tpe,
|
316
316
|
device_property="nominalVoltage")
|
317
|
-
raise Exception("Nominal voltage is missing for Bus (Maybe boundary was not attached for import) !")
|
317
|
+
# raise Exception("Nominal voltage is missing for Bus (Maybe boundary was not attached for import) !")
|
318
|
+
return calc_node_dict, True
|
318
319
|
|
319
320
|
|
320
321
|
if voltage is not None and nominal_voltage is not None:
|
@@ -392,7 +393,7 @@ def get_gcdev_buses(cgmes_model: CgmesCircuit,
|
|
392
393
|
cn_look_up.add_bus(bus=gcdev_elm)
|
393
394
|
calc_node_dict[gcdev_elm.idtag] = gcdev_elm
|
394
395
|
|
395
|
-
return calc_node_dict
|
396
|
+
return calc_node_dict, False
|
396
397
|
|
397
398
|
|
398
399
|
def get_gcdev_dc_buses(cgmes_model: CgmesCircuit,
|
@@ -2339,11 +2340,14 @@ def cgmes_to_gridcal(cgmes_model: CgmesCircuit,
|
|
2339
2340
|
device_to_terminal_dict = get_gcdev_device_to_terminal_dict(cgmes_model=cgmes_model,
|
2340
2341
|
logger=logger)
|
2341
2342
|
|
2342
|
-
calc_node_dict
|
2343
|
-
|
2344
|
-
|
2345
|
-
|
2346
|
-
|
2343
|
+
calc_node_dict, fatal_error = get_gcdev_buses(cgmes_model=cgmes_model,
|
2344
|
+
gc_model=gc_model,
|
2345
|
+
v_dict=sv_volt_dict,
|
2346
|
+
cn_look_up=cn_look_up,
|
2347
|
+
logger=logger)
|
2348
|
+
|
2349
|
+
if fatal_error:
|
2350
|
+
return gc_model
|
2347
2351
|
|
2348
2352
|
cn_dict = get_gcdev_connectivity_nodes(cgmes_model=cgmes_model,
|
2349
2353
|
gcdev_model=gc_model,
|
@@ -14,7 +14,7 @@ from GridCalEngine.IO.cim.cim16.cim_circuit import CIMCircuit
|
|
14
14
|
from GridCalEngine.data_logger import DataLogger
|
15
15
|
|
16
16
|
|
17
|
-
def read_cim_files(cim_files):
|
17
|
+
def read_cim_files(cim_files, logger: DataLogger):
|
18
18
|
"""
|
19
19
|
Reads a list of .zip or xml into a dictionary of file name -> list of text lines
|
20
20
|
:param cim_files: list of file names
|
@@ -49,8 +49,13 @@ def read_cim_files(cim_files):
|
|
49
49
|
elif file_extension == '.zip':
|
50
50
|
# read the content of a zip file
|
51
51
|
d = get_xml_from_zip(file_name_zip=cim_files)
|
52
|
-
|
53
|
-
|
52
|
+
|
53
|
+
if d is not None:
|
54
|
+
for key, value in d.items():
|
55
|
+
data[key] = value
|
56
|
+
else:
|
57
|
+
logger.add_error("BadZipFile", value=cim_files)
|
58
|
+
print(f"BadZipFile {cim_files}")
|
54
59
|
|
55
60
|
return data
|
56
61
|
|
@@ -968,7 +973,7 @@ class CIMImport:
|
|
968
973
|
self.cim = CIMCircuit(text_func=self.text_func, progress_func=self.progress_func, logger=self.logger)
|
969
974
|
|
970
975
|
# import the cim files' content into a dictionary
|
971
|
-
data = read_cim_files(cim_files)
|
976
|
+
data = read_cim_files(cim_files=cim_files, logger=self.logger)
|
972
977
|
|
973
978
|
lst2 = sort_cim_files(list(data.keys()))
|
974
979
|
# Parse the files
|
@@ -417,6 +417,10 @@ class FileOpen:
|
|
417
417
|
self.circuit = cgmes_to_gridcal(cgmes_model=self.cgmes_circuit,
|
418
418
|
map_dc_to_hvdc_line=self.options.try_to_map_dc_to_hvdc_line,
|
419
419
|
logger=self.cgmes_logger)
|
420
|
+
|
421
|
+
if self.cgmes_logger.has_logs():
|
422
|
+
self.logger += self.cgmes_logger.get_logger()
|
423
|
+
|
420
424
|
else:
|
421
425
|
# try CIM
|
422
426
|
parser = CIMImport(text_func=text_func, progress_func=progress_func)
|
@@ -3,7 +3,7 @@
|
|
3
3
|
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
4
4
|
# SPDX-License-Identifier: MPL-2.0
|
5
5
|
import json
|
6
|
-
from io import StringIO, TextIOWrapper, BytesIO
|
6
|
+
from io import StringIO, TextIOWrapper, BytesIO, BufferedReader
|
7
7
|
import os
|
8
8
|
import numpy as np
|
9
9
|
import chardet
|
@@ -435,7 +435,7 @@ def load_session_driver_objects(file_name_zip: str,
|
|
435
435
|
return data
|
436
436
|
|
437
437
|
|
438
|
-
def get_xml_content(file_ptr: zipfile.ZipExtFile) -> List[str]:
|
438
|
+
def get_xml_content(file_ptr: zipfile.ZipExtFile | BufferedReader) -> List[str]:
|
439
439
|
"""
|
440
440
|
Reads the content of a file
|
441
441
|
:param file_ptr: File pointer (from file or zip file)
|
@@ -167,14 +167,25 @@ class ContingencyAnalysisDriver(DriverTemplate):
|
|
167
167
|
|
168
168
|
elif self.engine == EngineType.GSLV:
|
169
169
|
|
170
|
-
self.report_text("Running contingencies in
|
170
|
+
self.report_text("Running contingencies in gslv...")
|
171
171
|
con_res = gslv_contingencies(circuit=self.grid,
|
172
172
|
con_opt=self.options,
|
173
173
|
time_series=False,
|
174
174
|
time_indices=None)
|
175
175
|
|
176
|
-
self.results =
|
177
|
-
|
176
|
+
self.results = ContingencyAnalysisResults(
|
177
|
+
ncon=self.grid.get_contingency_groups_number(),
|
178
|
+
nbus=self.grid.get_bus_number(),
|
179
|
+
nbr=self.grid.get_branch_number_wo_hvdc(),
|
180
|
+
bus_names=self.grid.get_bus_names(),
|
181
|
+
branch_names=self.grid.get_branch_names_wo_hvdc(),
|
182
|
+
bus_types=np.ones(self.grid.get_bus_number(), dtype=int),
|
183
|
+
con_names=np.array(self.grid.get_contingency_group_names())
|
184
|
+
)
|
185
|
+
|
186
|
+
# results.S[t, :] = res_t.S.real.max(axis=0)
|
187
|
+
self.results.max_flows = con_res.max_values.Sf[0, :]
|
188
|
+
self.results.max_loading = con_res.max_values.loading[0, :]
|
178
189
|
|
179
190
|
return self.results
|
180
191
|
|