VeraGridEngine.Topology.VoltageLevels package

Submodules

VeraGridEngine.Topology.VoltageLevels.breaker_and_a_half module

VeraGridEngine.Topology.VoltageLevels.breaker_and_a_half.create_breaker_and_a_half(name: str, grid: MultiCircuit, n_bays: int, v_nom: float, substation: Substation, country: Country = None, bar_by_segments: bool = False, offset_x=0, offset_y=0, vl0: VoltageLevel | None = None) Tuple[VoltageLevel, List[Bus], List[Bus], float, float][source]

Create a breaker-and-a-half with disconnectors voltage level :param name: Voltage level name :param grid: MultiCircuit to do the mods :param n_bays: number of bays (positions) :param v_nom: Nominal voltage :param substation: Substation where it belongs :param country: Country (Optional) :param bar_by_segments: Split the bar into segments :param offset_x: x ofsset (px) :param offset_y: y ofsset (px) :param vl0: VoltageLevel to reuse (optional) :return: Voltage level object, list of buses where connections are allowed, offset x, offset y

VeraGridEngine.Topology.VoltageLevels.breaker_and_a_half.create_breaker_and_a_half_with_disconnectors(name: str, grid: MultiCircuit, n_bays: int, v_nom: float, substation: Substation, country: Country = None, bar_by_segments: bool = False, offset_x=0, offset_y=0, vl0: VoltageLevel | None = None) Tuple[VoltageLevel, List[Bus], List[Bus], float, float][source]

Create a breaker-and-a-half voltage level :param name: Voltage level name :param grid: MultiCircuit to do the mods :param n_bays: number of bays (positions) :param v_nom: Nominal voltage :param substation: Substation where it belongs :param country: Country (Optional) :param bar_by_segments: Split the bar into segments :param offset_x: x ofsset (px) :param offset_y: y ofsset (px) :param vl0: VoltageLevel to reuse (optional) :return: Voltage level object, list of buses where connections are allowed, offset x, offset y

VeraGridEngine.Topology.VoltageLevels.double_bar module

VeraGridEngine.Topology.VoltageLevels.double_bar.create_double_bar(name: str, grid: MultiCircuit, n_bays: int, v_nom: float, substation: Substation, country: Country = None, bar_by_segments: bool = False, offset_x: float = 0, offset_y: float = 0, vl0: VoltageLevel | None = None) Tuple[VoltageLevel, List[Bus], List[Bus], float, float][source]

Create a double-bar voltage level :param name: Voltage level name :param grid: MultiCircuit to do the mods :param n_bays: number of bays (positions) :param v_nom: Nominal voltage :param substation: Substation where it belongs :param country: Country (Optional) :param bar_by_segments: Split the bar into segments :param offset_x: x ofsset (px) :param offset_y: y ofsset (px) :param vl0: VoltageLevel to reuse vl0 :return: Voltage level object, list of buses where connections are allowed, offset x, offset y

VeraGridEngine.Topology.VoltageLevels.double_bar.create_double_bar_with_disconnectors(name: str, grid: MultiCircuit, n_bays: int, v_nom: float, substation: Substation, country: Country = None, bar_by_segments: bool = False, offset_x: float = 0, offset_y: float = 0, vl0: VoltageLevel | None = None) Tuple[VoltageLevel, List[Bus], List[Bus], float, float][source]

Create a double-bar voltage level :param name: Voltage level name :param grid: MultiCircuit to do the mods :param n_bays: number of bays (positions) :param v_nom: Nominal voltage :param substation: Substation where it belongs :param country: Country (Optional) :param bar_by_segments: Split the bar into segments :param offset_x: x ofsset (px) :param offset_y: y ofsset (px) :param vl0: VoltageLevel to reuse (optional) :return: Voltage level object, list of buses where connections are allowed, offset x, offset y

VeraGridEngine.Topology.VoltageLevels.double_bar.create_double_bar_with_transference_bar(name: str, grid: MultiCircuit, n_bays: int, v_nom: float, substation: Substation, country: Country = None, bar_by_segments: bool = False, offset_x=0, offset_y=0, vl0: VoltageLevel | None = None) Tuple[VoltageLevel, List[Bus], List[Bus], float, float][source]

Create a double-bar with transference bar voltage level :param name: Voltage level name :param grid: MultiCircuit to do the mods :param n_bays: number of bays (positions) :param v_nom: Nominal voltage :param substation: Substation where it belongs :param country: Country (Optional) :param bar_by_segments: Split the bar into segments :param offset_x: x ofsset (px) :param offset_y: y ofsset (px) :param vl0: VoltageLevel to reuse (optional) :return: Voltage level object, list of buses where connections are allowed, offset x, offset y

VeraGridEngine.Topology.VoltageLevels.double_bar.create_double_bar_with_transference_bar_with_disconnectors(name: str, grid: MultiCircuit, n_bays: int, v_nom: float, substation: Substation, country: Country = None, bar_by_segments: bool = False, offset_x=0, offset_y=0, vl0: VoltageLevel | None = None) Tuple[VoltageLevel, List[Bus], List[Bus], float, float][source]

Create a double-bar with transference bar voltage level :param name: Voltage level name :param grid: MultiCircuit to do the mods :param n_bays: number of bays (positions) :param v_nom: Nominal voltage :param substation: Substation where it belongs :param country: Country (Optional) :param bar_by_segments: Split the bar into segments :param offset_x: x ofsset (px) :param offset_y: y ofsset (px) :param vl0: VoltageLevel to reuse (optional) :return: Voltage level object, list of buses where connections are allowed, offset x, offset y

VeraGridEngine.Topology.VoltageLevels.ring module

VeraGridEngine.Topology.VoltageLevels.ring.create_ring(name: str, grid: MultiCircuit, n_bays: int, v_nom: float, substation: Substation, country: Country = None, offset_x=0, offset_y=0, vl0: VoltageLevel | None = None) Tuple[VoltageLevel, List[Bus], List[Bus], float, float][source]

Create a ring voltage level :param name: Voltage level name :param grid: MultiCircuit to do the mods :param n_bays: number of bays (positions) :param v_nom: Nominal voltage :param substation: Substation where it belongs :param country: Country (Optional) :param offset_x: x ofsset (px) :param offset_y: y ofsset (px) :param vl0: VoltageLevel to reuse (optional) :return: Voltage level object, list of buses where connections are allowed, offset x, offset y

VeraGridEngine.Topology.VoltageLevels.ring.create_ring_with_disconnectors(name: str, grid: MultiCircuit, n_bays: int, v_nom: float, substation: Substation, country: Country = None, offset_x=0, offset_y=0, vl0: VoltageLevel | None = None) Tuple[VoltageLevel, List[Bus], List[Bus], float, float][source]

Create a ring voltage level :param name: Voltage level name :param grid: MultiCircuit to do the mods :param n_bays: number of bays (positions) :param v_nom: Nominal voltage :param substation: Substation where it belongs :param country: Country (Optional) :param offset_x: x ofsset (px) :param offset_y: y ofsset (px) :param vl0: VoltageLevel to reuse (optional) :return: Voltage level object, list of busses where connections are allowed, offset x, offset y

VeraGridEngine.Topology.VoltageLevels.single_bar module

VeraGridEngine.Topology.VoltageLevels.single_bar.connect_bar_segments(grid: MultiCircuit, bar_buses: List[Bus], name: str)[source]
Parameters:
  • grid

  • bar_buses

  • name

Returns:

VeraGridEngine.Topology.VoltageLevels.single_bar.create_single_bar(name: str, grid: MultiCircuit, n_bays: int, v_nom: float, substation: Substation, country: Country = None, bar_by_segments: bool = False, offset_x: float = 0.0, offset_y: float = 0.0, vl0: VoltageLevel | None = None) Tuple[VoltageLevel, List[Bus], List[Bus], float, float][source]

Create a single-bar voltage level with disconnectors :param name: Voltage level name :param grid: MultiCircuit to do the mods :param n_bays: number of bays (positions) :param v_nom: Nominal voltage :param substation: Substation where it belongs :param country: Country (Optional) :param bar_by_segments: Split the bar into segments :param offset_x: x ofsset (px) :param offset_y: y ofsset (px) :param vl0: VoltageLevel to reuse (optional) :return: Voltage level object, list of buses where connections are allowed, offset x, offset y

VeraGridEngine.Topology.VoltageLevels.single_bar.create_single_bar_with_bypass(name: str, grid: MultiCircuit, n_bays: int, v_nom: float, substation: Substation, country: Country = None, bar_by_segments: bool = False, offset_x: float = 0.0, offset_y: float = 0.0, vl0: VoltageLevel | None = None) Tuple[VoltageLevel, List[Bus], List[Bus], float, float][source]

Create a single-bar with by-pass voltage level :param name: Voltage level name :param grid: MultiCircuit to do the mods :param n_bays: number of bays (positions) :param v_nom: Nominal voltage :param substation: Substation where it belongs :param country: Country (Optional) :param bar_by_segments: Split the bar into segments :param offset_x: x offset (px) :param offset_y: y offset (px) :param vl0: VoltageLevel to reuse (optional) :return: Voltage level object, list of buses where connections are allowed, offset x, offset y

VeraGridEngine.Topology.VoltageLevels.single_bar.create_single_bar_with_bypass_with_disconnectors(name: str, grid: MultiCircuit, n_bays: int, v_nom: float, substation: Substation, country: Country = None, bar_by_segments: bool = False, offset_x: float = 0.0, offset_y: float = 0.0, vl0: VoltageLevel | None = None) Tuple[VoltageLevel, List[Bus], List[Bus], float, float][source]

Create a single-bar with by-pass voltage level :param name: Voltage level name :param grid: MultiCircuit to do the mods :param n_bays: number of bays (positions) :param v_nom: Nominal voltage :param substation: Substation where it belongs :param country: Country (Optional) :param bar_by_segments: Split the bar into segments :param offset_x: x offset (px) :param offset_y: y offset (px) :param vl0: VoltageLevel to reuse (optional) :return: Voltage level object, list of buses where connections are allowed, offset x, offset y

VeraGridEngine.Topology.VoltageLevels.single_bar.create_single_bar_with_disconnectors(name: str, grid: MultiCircuit, n_bays: int, v_nom: float, substation: Substation, country: Country = None, bar_by_segments: bool = False, offset_x: float = 0.0, offset_y: float = 0.0, vl0: VoltageLevel | None = None) Tuple[VoltageLevel, List[Bus], List[Bus], float, float][source]

Create a single-bar voltage level without disconnectors :param name: Voltage level name :param grid: MultiCircuit to do the mods :param n_bays: number of bays (positions) :param v_nom: Nominal voltage :param substation: Substation where it belongs :param country: Country (Optional) :param bar_by_segments: Split the bar into segments :param offset_x: x ofsset (px) :param offset_y: y ofsset (px) :param vl0: Voltage level to reuse (optional) :return: Voltage level object, list of buses where connections are allowed, offset x, offset y

VeraGridEngine.Topology.VoltageLevels.single_bar.create_single_bar_with_splitter(name: str, grid: MultiCircuit, n_bays: int, v_nom: float, substation: Substation, country: Country = None, bar_by_segments: bool = False, offset_x: float = 0, offset_y: float = 0, vl0: VoltageLevel | None = None) Tuple[VoltageLevel, List[Bus], List[Bus], float, float][source]

Create a single-bar with splitter breaker voltage level :param name: Voltage level name :param grid: MultiCircuit to do the mods :param n_bays: number of bays (positions) :param v_nom: Nominal voltage :param substation: Substation where it belongs :param country: Country (Optional) :param bar_by_segments: Split the bar into segments :param offset_x: x ofsset (px) :param offset_y: y ofsset (px) :param vl0: VoltageLevel to reuse (optional) :return: Voltage level object, list of buses where connections are allowed, offset x, offset y

VeraGridEngine.Topology.VoltageLevels.single_bar.create_single_bar_with_splitter_with_disconnectors(name: str, grid: MultiCircuit, n_bays: int, v_nom: float, substation: Substation, country: Country = None, bar_by_segments: bool = False, offset_x: float = 0, offset_y: float = 0, vl0: VoltageLevel | None = None) Tuple[VoltageLevel, List[Bus], List[Bus], float, float][source]

Create a single-bar with splitter breaker voltage level :param name: Voltage level name :param grid: MultiCircuit to do the mods :param n_bays: number of bays (positions) :param v_nom: Nominal voltage :param substation: Substation where it belongs :param country: Country (Optional) :param bar_by_segments: Split the bar into segments :param offset_x: x ofsset (px) :param offset_y: y ofsset (px) :param vl0: VoltageLevel to reuse (Optional) :return: Voltage level object, list of busses where connections are allowed, offset x, offset y

VeraGridEngine.Topology.VoltageLevels.vl_creation_common_functions module

VeraGridEngine.Topology.VoltageLevels.vl_creation_common_functions.create_substation(grid: MultiCircuit, se_name: str, se_code: str, lat: float, lon: float, vl_templates: List[VoltageLevelTemplate], buses_to_replace: List[Bus] = None, x0: float = 0.0, y0: float = 0.0) Tuple[Substation, List[VoltageLevel]][source]

Create a complete substation :param grid: MultiCircuit instance :param se_name: Substation name :param se_code: Substation code :param lat: Latitude :param lon: Longitude :param vl_templates: List of VoltageLevelTemplates to convert :param buses_to_replace: Optional list of buses to merge :param x0: x offset :param y0: y offset :return: se_object, [vl list]

VeraGridEngine.Topology.VoltageLevels.vl_creation_common_functions.transform_bus_into_voltage_level(grid: MultiCircuit, bus: Bus, vl_type=Single bar, add_disconnectors: bool = False, bar_by_segments: bool = False, skip_injections_reconnection: bool = True, enable_transfer_bus: bool = False, reducible_branches: bool = False, bay_assignments: Tuple[str, int, str]]=None, x0: float = 0.0, y0: float = 0.0) Tuple[List[Bus], List[Bus], List[Line | DcLine | Transformer2W | HvdcLine | VSC | UPFC | Winding | Switch | SeriesReactance], List[Generator | Battery | Load | ExternalGrid | StaticGenerator | Shunt | ControllableShunt | CurrentInjection], List[Tuple[Line | DcLine | Transformer2W | HvdcLine | VSC | UPFC | Winding | Switch | SeriesReactance | Generator | Battery | Load | ExternalGrid | StaticGenerator | Shunt | ControllableShunt | CurrentInjection, Bus, Bus]]][source]

Transform a bus into a voltage level :param grid: MultiCircuit to add devices to :param bus: Bus device to transform :param vl_type: VoltageLevelTypes :param add_disconnectors: add voltage level disconnectors? :param bar_by_segments: Have the bar with connectivity and impedance instead of a single bus-bar? :param skip_injections_reconnection: if true the injections are not included in the reconnections list :param enable_transfer_bus: if true, adds a transfer bus (JBPT) connected to all position buses if it makes sense :param reducible_branches: if true, every switch created in this conversion is marked reducible :param bay_assignments: list of (device_name, bay_number, assigned_bus) tuples for custom bay order :param x0: base x coordinate :param y0: base y coordinate :return: - List of all voltage level buses, - List of bay buses, - List of bus connected branches, - List of bus connected - List of re-connections (element, old bus, new bus)

VeraGridEngine.Topology.VoltageLevels.vl_creation_common_functions.transform_bus_to_connectivity_grid(grid: MultiCircuit, busbar: Bus) Tuple[List[Bus], List[Line]][source]

Transform a BusBar into multiple Connectivity buses connected by branches. This is to be able to compute the power that passes through a busbar for specific busbar power studies

Parameters:
  • grid – MultiCircuit instance

  • busbar – the Bus object (BusGraphicType.BusBar) to transform

Returns:

list of new Connectivity buses, list of branches between them

Module contents