Class AbstractLimitViolationDetector

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

public abstract class AbstractLimitViolationDetector extends AbstractContingencyBlindDetector
Provides implementations for aggregation methods of LimitViolationDetector. Actual implementations will only have to focus on detecting violations element-wise.
Author:
Sylvain Leclerc <sylvain.leclerc at rte-france.com>
  • Constructor Details

    • AbstractLimitViolationDetector

      public AbstractLimitViolationDetector()
  • Method Details

    • checkCurrent

      public void checkCurrent(Branch branch, TwoSides side, double currentValue, 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.
      currentValue - 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 currentValue, 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.
      currentValue - The current value to be checked, in A.
      consumer - Will be fed with possibly created limit violations.
    • checkVoltage

      public void checkVoltage(Bus bus, double voltageValue, 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.
      voltageValue - The voltage value to be checked, in V.
      consumer - Will be fed with possibly created limit violations.
    • checkVoltageAngle

      public void checkVoltageAngle(VoltageAngleLimit voltageAngleLimit, double voltageAngleDifference, 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.
      voltageAngleDifference - The voltage angle difference to be checked, in degrees.
      consumer - Will be fed with possibly created limit violations.
    • checkCurrent

      public void checkCurrent(Contingency contingency, Branch branch, TwoSides side, Consumer<LimitViolation> consumer)
      Checks whether the 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.

      This implementation takes the current value to be checked from the Network.

      Parameters:
      contingency - The contingency for which current must be checked, null for N situation.
      branch - The branch on which the current must be checked.
      side - The side of the branch on which the current must be checked.
      consumer - Will be fed with possibly created limit violations.
    • checkCurrent

      public void checkCurrent(Contingency contingency, ThreeWindingsTransformer transformer, ThreeSides side, Consumer<LimitViolation> consumer)
      Checks whether the 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.

      This implementation takes the current value to be checked from the Network.

      Parameters:
      contingency - The contingency for which current must be checked, null for N situation.
      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.
      consumer - Will be fed with possibly created limit violations.
    • checkVoltage

      public void checkVoltage(Contingency contingency, Bus bus, Consumer<LimitViolation> consumer)
      Checks whether the voltage value on the specified Bus should be considered as a LimitViolation or not. In case it should, feeds the consumer with it.

      This implementation takes the voltage value to be checked from the Network.

      Parameters:
      contingency - The contingency for which current must be checked, null for N situation.
      bus - The bus on which the voltage must be checked.
      consumer - Will be fed with possibly created limit violations.
    • checkVoltageAngle

      public void checkVoltageAngle(Contingency contingency, VoltageAngleLimit voltageAngleLimit, Consumer<LimitViolation> consumer)
      Description copied from interface: LimitViolationDetector
      Checks whether the angle difference value between the TerminalRefs on the specified VoltageAngleLimit should be considered as a LimitViolation or not. In case it should, feeds the consumer with it.
      Parameters:
      contingency - The contingency for which angle difference must be checked, null for N situation.
      voltageAngleLimit - The voltageAngleLimit defining the TerminalRefs on which the angle difference must be checked.
      consumer - Will be fed with possibly created limit violations.
    • checkVoltage

      public void checkVoltage(Contingency contingency, VoltageLevel voltageLevel, Consumer<LimitViolation> consumer)
      Description copied from interface: LimitViolationDetector
      Checks whether the voltage value on the specified VoltageLevel should be considered as a LimitViolation or not. In case it should, feeds the consumer with it.
      Parameters:
      contingency - The contingency for which current must be checked, null for N situation.
      voltageLevel - The voltage level on which the voltage must be checked.
      consumer - Will be fed with possibly created limit violations.
    • checkCurrent

      public void checkCurrent(Contingency contingency, Branch branch, Consumer<LimitViolation> consumer)
      Description copied from interface: LimitViolationDetector
      Checks whether the current value on both sides of the specified Branch should be considered as LimitViolation(s). In case it should, feeds the consumer with it.
      Parameters:
      contingency - The contingency for which current must be checked, null for N situation.
      branch - The branch on which the current must be checked.
      consumer - Will be fed with possibly created limit violations.
    • checkCurrent

      public void checkCurrent(Contingency contingency, ThreeWindingsTransformer transformer, Consumer<LimitViolation> consumer)
      Description copied from interface: LimitViolationDetector
      Checks whether the current value on both sides of the specified ThreeWindingsTransformer should be considered as LimitViolation(s). In case it should, feeds the consumer with it.
      Parameters:
      contingency - The contingency for which current must be checked, null for N situation.
      transformer - The three windings transformer on which the current must be checked.
      consumer - Will be fed with possibly created limit violations.
    • checkAll

      public void checkAll(Contingency contingency, Network network, Consumer<LimitViolation> consumer)
      Description copied from interface: LimitViolationDetector
      Checks whether the current and voltage values on all equipments of the specified Network should be considered as LimitViolations. In case it should, feeds the consumer with it.
      Parameters:
      contingency - The contingency for which current must be checked, null for N situation.
      network - The network on which physical values must be checked.
      consumer - Will be fed with possibly created limit violations.