Package com.powsybl.security.detectors
Class AbstractLimitViolationDetector
java.lang.Object
com.powsybl.security.detectors.AbstractContingencyBlindDetector
com.powsybl.security.detectors.AbstractLimitViolationDetector
- All Implemented Interfaces:
LimitViolationDetector
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 Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
checkAll
(Contingency contingency, Network network, Consumer<LimitViolation> consumer) Checks whether the current and voltage values on all equipments of the specifiedNetwork
should be considered asLimitViolation
s.void
checkCurrent
(Contingency contingency, Branch branch, TwoSides side, Consumer<LimitViolation> consumer) Checks whether the current value on the specified side of the specifiedBranch
should be considered as aLimitViolation
or not.void
checkCurrent
(Contingency contingency, Branch branch, Consumer<LimitViolation> consumer) Checks whether the current value on both sides of the specifiedBranch
should be considered asLimitViolation
(s).void
checkCurrent
(Contingency contingency, ThreeWindingsTransformer transformer, ThreeSides side, Consumer<LimitViolation> consumer) Checks whether the current value on the specified side of the specifiedThreeWindingsTransformer
should be considered as aLimitViolation
or not.void
checkCurrent
(Contingency contingency, ThreeWindingsTransformer transformer, Consumer<LimitViolation> consumer) Checks whether the current value on both sides of the specifiedThreeWindingsTransformer
should be considered asLimitViolation
(s).void
checkCurrent
(Branch branch, TwoSides side, double currentValue, Consumer<LimitViolation> consumer) Checks whether the specified current value on the specified side of the specifiedBranch
should be considered as aLimitViolation
or not.void
checkCurrent
(ThreeWindingsTransformer transformer, ThreeSides side, double currentValue, Consumer<LimitViolation> consumer) Checks whether the specified current value on the specified side of the specifiedThreeWindingsTransformer
should be considered as aLimitViolation
or not.void
checkVoltage
(Contingency contingency, Bus bus, Consumer<LimitViolation> consumer) Checks whether the voltage value on the specifiedBus
should be considered as aLimitViolation
or not.void
checkVoltage
(Contingency contingency, VoltageLevel voltageLevel, Consumer<LimitViolation> consumer) Checks whether the voltage value on the specifiedVoltageLevel
should be considered as aLimitViolation
or not.void
checkVoltage
(Bus bus, double voltageValue, Consumer<LimitViolation> consumer) Checks whether the specified voltage value on the specifiedBus
should be considered as aLimitViolation
or not.void
checkVoltageAngle
(Contingency contingency, VoltageAngleLimit voltageAngleLimit, Consumer<LimitViolation> consumer) Checks whether the angle difference value between the TerminalRefs on the specifiedVoltageAngleLimit
should be considered as aLimitViolation
or not.void
checkVoltageAngle
(VoltageAngleLimit voltageAngleLimit, double voltageAngleDifference, Consumer<LimitViolation> consumer) Checks whether the specified voltage value on the specifiedBus
should be considered as aLimitViolation
or not.Methods inherited from class com.powsybl.security.detectors.AbstractContingencyBlindDetector
checkAll, checkAllDc, checkCurrent, checkCurrent, checkCurrent, checkCurrent, checkCurrentDc, checkCurrentDc, checkCurrentDc, checkCurrentDc, checkVoltage, checkVoltage, checkVoltageAngle
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.powsybl.security.LimitViolationDetector
checkActivePower, checkActivePower, checkApparentPower, checkApparentPower, checkCurrent, checkCurrent, checkPermanentLimit, checkPermanentLimit, checkTemporary, checkTemporary, checkVoltage, checkVoltageAngle, toLimitViolationType
-
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 specifiedBranch
should be considered as aLimitViolation
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 specifiedThreeWindingsTransformer
should be considered as aLimitViolation
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
Description copied from interface:LimitViolationDetector
Checks whether the specified voltage value on the specifiedBus
should be considered as aLimitViolation
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 specifiedBus
should be considered as aLimitViolation
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 specifiedBranch
should be considered as aLimitViolation
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 specifiedThreeWindingsTransformer
should be considered as aLimitViolation
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
Checks whether the voltage value on the specifiedBus
should be considered as aLimitViolation
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 specifiedVoltageAngleLimit
should be considered as aLimitViolation
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 specifiedVoltageLevel
should be considered as aLimitViolation
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
Description copied from interface:LimitViolationDetector
Checks whether the current value on both sides of the specifiedBranch
should be considered asLimitViolation
(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 specifiedThreeWindingsTransformer
should be considered asLimitViolation
(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
Description copied from interface:LimitViolationDetector
Checks whether the current and voltage values on all equipments of the specifiedNetwork
should be considered asLimitViolation
s. 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.
-