Class TopologyModificationUtils

java.lang.Object
com.powsybl.iidm.modification.topology.TopologyModificationUtils

public final class TopologyModificationUtils extends Object
Author:
Miora Vedelago <miora.ralambotiana at rte-france.com>
  • Method Details

    • addLoadingLimits

      public static void addLoadingLimits(Line created, TopologyModificationUtils.LoadingLimitsBags limits, TwoSides side)
    • getUnusedOrderPositionsBefore

      public static Optional<org.apache.commons.lang3.Range<Integer>> getUnusedOrderPositionsBefore(BusbarSection bbs)
      Get all the unused positions before the lowest used position on the busbar section bbs. It is a range between the maximum used position on the busbar section with the highest section index lower than the section index of the given busbar section and the minimum position on the given busbar section. For two busbar sections with following indexes BBS1 with used orders 1,2,3 and BBS2 with used orders 7,8, this method applied to BBS2 will return a range from 4 to 6.
    • getUnusedOrderPositionsAfter

      public static Optional<org.apache.commons.lang3.Range<Integer>> getUnusedOrderPositionsAfter(BusbarSection bbs)
      Get all the unused positions after the highest used position on the busbar section bbs. It is a range between the minimum used position on the busbar section with the lowest section index higher than the section index of the given busbar section and the maximum position on the given busbar section. For two busbar sections with following indexes BBS1 with used orders 1,2,3 and BBS2 with used orders 7,8, this method applied to BBS1 will return a range from 4 to 6.
    • getPositionRange

      public static Optional<org.apache.commons.lang3.Range<Integer>> getPositionRange(BusbarSection bbs)
      Get the range of connectable positions delimited by neighbouring busbar sections, for a given busbar section. If the range is empty (for instance if positions max on left side is above position min on right side), the range returned is empty. Note that the connectable positions needs to be in ascending order in the voltage level for ascending busbar section index positions.
    • getMaxOrderUsedBefore

      public static Optional<Integer> getMaxOrderUsedBefore(NavigableMap<Integer,List<Integer>> allOrders, int section)
      Method returning the maximum order in the slice with the highest section index lower to the given section. For two busbar sections with following indexes BBS1 with used orders 1,2,3 and BBS2 with used orders 7,8, this method applied to BBS2 will return 3.
    • getMinOrderUsedAfter

      public static Optional<Integer> getMinOrderUsedAfter(NavigableMap<Integer,List<Integer>> allOrders, int section)
      Method returning the minimum order in the slice with the lowest section index higher to the given section. For two busbar sections with following indexes BBS1 with used orders 1,2,3 and BBS2 with used orders 7,8, this method applied to BBS1 will return 7.
    • getFeederPositions

      public static Set<Integer> getFeederPositions(VoltageLevel voltageLevel)
      Utility method to get all the taken feeder positions on a voltage level.
    • getFeederPositionsByConnectable

      public static Map<String,List<Integer>> getFeederPositionsByConnectable(VoltageLevel voltageLevel)
      Utility method to get all the taken feeder positions on a voltage level by connectable.
    • getFeedersByConnectable

      public static Map<String,List<ConnectablePosition.Feeder>> getFeedersByConnectable(VoltageLevel voltageLevel)
      Utility method to get all the feeders on a voltage level by connectable.
    • getFirstBusbarSection

      public static BusbarSection getFirstBusbarSection(VoltageLevel voltageLevel)
      Method returning the first busbar section with the lowest BusbarSectionIndex if there are the BusbarSectionPosition extensions and the first busbar section found otherwise.
    • mergeLimits

    • findTeePoint

      public static VoltageLevel findTeePoint(Line line1, Line line2, Line line3)
      Find tee point connecting the 3 given lines, if any
      Returns:
      the tee point connecting the 3 given lines or null if none