Class AbstractContingencyBlindDetector

java.lang.Object
com.powsybl.security.detectors.AbstractContingencyBlindDetector
All Implemented Interfaces:
LimitViolationDetector
Direct Known Subclasses:
AbstractLimitViolationDetector, DefaultLimitViolationDetector

public abstract class AbstractContingencyBlindDetector extends Object implements LimitViolationDetector
Provides implementations for aggregation methods of LimitViolationDetector. Contingency based methods are not implemented, default implementation are left untouched.
Author:
Sylvain Leclerc <sylvain.leclerc at rte-france.com>
  • Constructor Details

    • AbstractContingencyBlindDetector

      public AbstractContingencyBlindDetector()
  • Method Details

    • checkCurrent

      public void checkCurrent(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.

      Specified by:
      checkCurrent in interface LimitViolationDetector
      Parameters:
      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(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.

      Specified by:
      checkCurrent in interface LimitViolationDetector
      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.
      consumer - Will be fed with possibly created limit violations.
    • checkCurrentDc

      public void checkCurrentDc(Branch branch, TwoSides side, double dcPowerFactor, 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. In this DC power flow mode, the current is computed using the DC power factor if necessary.

      This implementation computes the current value from the power value, if current is not provided (NaN).

      Specified by:
      checkCurrentDc in interface LimitViolationDetector
      Parameters:
      branch - The branch on which the current must be checked.
      side - The side of the branch on which the current must be checked.
      dcPowerFactor - The DC power factor used to convert the active power into current.
      consumer - Will be fed with possibly created limit violations.
    • checkCurrentDc

      public void checkCurrentDc(ThreeWindingsTransformer transformer, ThreeSides side, double dcPowerFactor, 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. In this DC power flow mode, the current is computed using the DC power factor if necessary.

      This implementation computes the current value from the power value, if current is not provided (NaN).

      Specified by:
      checkCurrentDc in interface LimitViolationDetector
      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.
      dcPowerFactor - The DC power factor used to convert the active power into current.
      consumer - Will be fed with possibly created limit violations.
    • checkVoltage

      public void checkVoltage(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.

      Specified by:
      checkVoltage in interface LimitViolationDetector
      Parameters:
      bus - The bus on which the voltage must be checked.
      consumer - Will be fed with possibly created limit violations.
    • checkVoltage

      public void checkVoltage(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.
      Specified by:
      checkVoltage in interface LimitViolationDetector
      Parameters:
      voltageLevel - The voltage level on which the voltage must be checked.
      consumer - Will be fed with possibly created limit violations.
    • checkVoltageAngle

      public void checkVoltageAngle(VoltageAngleLimit voltageAngleLimit, Consumer<LimitViolation> consumer)
      Checks whether the voltage angle difference between the TerminalRefs defined on the specified VoltageAngleLimit should be considered as a LimitViolation or not. In case it should, feeds the consumer with it.

      This implementation takes the voltageAngle difference to be checked from the Network.

      Specified by:
      checkVoltageAngle in interface LimitViolationDetector
      Parameters:
      voltageAngleLimit - The voltageAngleLimit defining the TerminalRefs on which the angle difference must be checked.
      consumer - Will be fed with possibly created limit violations.
    • checkCurrent

      public void checkCurrent(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.
      Specified by:
      checkCurrent in interface LimitViolationDetector
      Parameters:
      branch - The branch on which the current must be checked.
      consumer - Will be fed with possibly created limit violations.
    • checkCurrent

      public void checkCurrent(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.
      Specified by:
      checkCurrent in interface LimitViolationDetector
      Parameters:
      transformer - The three windings transformer on which the current must be checked.
      consumer - Will be fed with possibly created limit violations.
    • checkCurrentDc

      public void checkCurrentDc(Branch branch, double dcPowerFactor, 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. In this DC power flow mode, the current is computed using the DC power factor if necessary.
      Specified by:
      checkCurrentDc in interface LimitViolationDetector
      Parameters:
      branch - The branch on which the current must be checked.
      dcPowerFactor - The DC power factor used to convert the active power into current.
      consumer - Will be fed with possibly created limit violations.
    • checkCurrentDc

      public void checkCurrentDc(ThreeWindingsTransformer transformer, double dcPowerFactor, 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. In this DC power flow mode, the current is computed using the DC power factor if necessary.
      Specified by:
      checkCurrentDc in interface LimitViolationDetector
      Parameters:
      transformer - The three windings transformer on which the current must be checked.
      dcPowerFactor - The DC power factor used to convert the active power into current.
      consumer - Will be fed with possibly created limit violations.
    • checkAll

      public void checkAll(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.
      Specified by:
      checkAll in interface LimitViolationDetector
      Parameters:
      network - The network on which physical values must be checked.
      consumer - Will be fed with possibly created limit violations.
    • checkAllDc

      public void checkAllDc(Network network, double dcPowerFactor, 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. In this DC power flow mode, the current is computed using the DC power factor if necessary.
      Specified by:
      checkAllDc in interface LimitViolationDetector
      Parameters:
      network - The network on which physical values must be checked.
      dcPowerFactor - The DC power factor used to convert the active power into current.
      consumer - Will be fed with possibly created limit violations.