Class DefaultLimitViolationDetector

java.lang.Object
com.powsybl.security.detectors.AbstractContingencyBlindDetector
com.powsybl.security.detectors.DefaultLimitViolationDetector
All Implemented Interfaces:
LimitViolationDetector

public class DefaultLimitViolationDetector extends AbstractContingencyBlindDetector
Implements the default behaviour for limit violation detection.
Author:
Sylvain Leclerc <sylvain.leclerc at rte-france.com>
  • Constructor Details

    • DefaultLimitViolationDetector

      public DefaultLimitViolationDetector(double limitReductionValue, Collection<LoadingLimitType> currentLimitTypes)
    • DefaultLimitViolationDetector

      public DefaultLimitViolationDetector(Collection<LoadingLimitType> currentLimitTypes)
    • DefaultLimitViolationDetector

      public DefaultLimitViolationDetector()
  • Method Details

    • checkCurrent

      public void checkCurrent(Branch branch, TwoSides side, double value, Consumer<LimitViolation> consumer)
      Description copied from interface: LimitViolationDetector
      Checks whether the specified current value on the specified side of the specified Branch should be considered as a LimitViolation or not. In case it should, feeds the consumer with it.
      Parameters:
      branch - The branch on which the current must be checked.
      side - The side of the branch on which the current must be checked.
      value - The current value to be checked, in A.
      consumer - Will be fed with possibly created limit violations.
    • checkCurrent

      public void checkCurrent(ThreeWindingsTransformer transformer, ThreeSides side, double value, Consumer<LimitViolation> consumer)
      Description copied from interface: LimitViolationDetector
      Checks whether the specified current value on the specified side of the specified ThreeWindingsTransformer should be considered as a LimitViolation or not. In case it should, feeds the consumer with it.
      Parameters:
      transformer - The three windings transformer on which the current must be checked.
      side - The side of the transformer on which the current must be checked.
      value - The current value to be checked, in A.
      consumer - Will be fed with possibly created limit violations.
    • checkActivePower

      public void checkActivePower(Branch branch, TwoSides side, double value, Consumer<LimitViolation> consumer)
      Description copied from interface: LimitViolationDetector
      Checks whether the specified active power value on the specified side of the specified Branch should be considered as a LimitViolation or not. In case it should, feeds the consumer with it.
      Parameters:
      branch - The branch on which the current must be checked.
      side - The side of the branch on which the current must be checked.
      value - The active power value to be checked, in A.
      consumer - Will be fed with possibly created limit violations.
    • checkActivePower

      public void checkActivePower(ThreeWindingsTransformer transformer, ThreeSides side, double value, Consumer<LimitViolation> consumer)
      Description copied from interface: LimitViolationDetector
      Checks whether the specified active power value on the specified side of the specified ThreeWindingsTransformer should be considered as a LimitViolation or not. In case it should, feeds the consumer with it.
      Parameters:
      transformer - The three windings transformer on which the current must be checked.
      side - The side of the three windings transformer on which the current must be checked.
      value - The active power value to be checked, in A.
      consumer - Will be fed with possibly created limit violations.
    • checkApparentPower

      public void checkApparentPower(Branch branch, TwoSides side, double value, Consumer<LimitViolation> consumer)
      Description copied from interface: LimitViolationDetector
      Checks whether the specified apparent power value on the specified side of the specified Branch should be considered as a LimitViolation or not. In case it should, feeds the consumer with it.
      Parameters:
      branch - The branch on which the current must be checked.
      side - The side of the branch on which the current must be checked.
      value - The apparent power value to be checked, in A.
      consumer - Will be fed with possibly created limit violations.
    • checkApparentPower

      public void checkApparentPower(ThreeWindingsTransformer transformer, ThreeSides side, double value, Consumer<LimitViolation> consumer)
      Description copied from interface: LimitViolationDetector
      Checks whether the specified apparent power value on the specified side of the specified ThreeWindingsTransformer should be considered as a LimitViolation or not. In case it should, feeds the consumer with it.
      Parameters:
      transformer - The three windings transformer on which the current must be checked.
      side - The side of the three windings transformer on which the current must be checked.
      value - The apparent power value to be checked, in A.
      consumer - Will be fed with possibly created limit violations.
    • checkVoltage

      public void checkVoltage(Bus bus, double value, Consumer<LimitViolation> consumer)
      Description copied from interface: LimitViolationDetector
      Checks whether the specified voltage value on the specified Bus should be considered as a LimitViolation or not. In case it should, returns the corresponding limit violation.
      Parameters:
      bus - The bus on which the voltage must be checked.
      value - The voltage value to be checked, in V.
      consumer - Will be fed with possibly created limit violations.
    • checkVoltageAngle

      public void checkVoltageAngle(VoltageAngleLimit voltageAngleLimit, double value, Consumer<LimitViolation> consumer)
      Description copied from interface: LimitViolationDetector
      Checks whether the specified voltage value on the specified Bus should be considered as a LimitViolation or not. In case it should, returns the corresponding limit violation.
      Parameters:
      voltageAngleLimit - The voltageAngleLimit defining TerminalRefs on which the angle difference must be checked.
      value - The voltage angle difference to be checked, in degrees.
      consumer - Will be fed with possibly created limit violations.
    • checkLimitViolation

      public void checkLimitViolation(Branch branch, TwoSides side, double value, Consumer<LimitViolation> consumer, LimitType type)
    • checkLimitViolation

      public void checkLimitViolation(ThreeWindingsTransformer transformer, ThreeSides side, double value, Consumer<LimitViolation> consumer, LimitType type)