Class AbstractReducedLoadingLimits
java.lang.Object
com.powsybl.security.limitreduction.result.AbstractReducedLoadingLimits
- All Implemented Interfaces:
LoadingLimits
,OperationalLimits
- Direct Known Subclasses:
ReducedActivePowerLimits
,ReducedApparentPowerLimits
,ReducedCurrentLimits
Simple abstract implementation of LoadingLimits
not linked to a network element, used to provide
reduced limits without altering the real limits of the network element.
- Author:
- Olivier Perrin <olivier.perrin at rte-france.com>
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final record
Nested classes/interfaces inherited from interface com.powsybl.iidm.network.LoadingLimits
LoadingLimits.TemporaryLimit
-
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractReducedLoadingLimits
(double permanentLimit, double originalPermanentLimit, double permanentLimitReduction) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addTemporaryLimit
(String name, double value, int acceptableDuration, boolean fictitious, double originalValue, double limitReduction) double
double
Get the permanent limit.double
getTemporaryLimit
(int acceptableDuration) Get a temporary limit from its acceptable duration.Get a list of temporary limits ordered by descending duration.double
getTemporaryLimitValue
(int acceptableDuration) Get a temporary limit value from its acceptable duration.void
remove()
setPermanentLimit
(double permanentLimit) Set the permanent limitMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.powsybl.iidm.network.OperationalLimits
getLimitType
-
Constructor Details
-
AbstractReducedLoadingLimits
protected AbstractReducedLoadingLimits(double permanentLimit, double originalPermanentLimit, double permanentLimitReduction)
-
-
Method Details
-
addTemporaryLimit
public void addTemporaryLimit(String name, double value, int acceptableDuration, boolean fictitious, double originalValue, double limitReduction) -
getPermanentLimit
public double getPermanentLimit()Description copied from interface:LoadingLimits
Get the permanent limit.- Specified by:
getPermanentLimit
in interfaceLoadingLimits
- Returns:
- the permanent limit.
-
getOriginalPermanentLimit
public double getOriginalPermanentLimit() -
getPermanentLimitReduction
public double getPermanentLimitReduction() -
getTemporaryLimits
Description copied from interface:LoadingLimits
Get a list of temporary limits ordered by descending duration.- Specified by:
getTemporaryLimits
in interfaceLoadingLimits
- Returns:
- a list of temporary limits ordered by descending duration
-
getTemporaryLimit
Description copied from interface:LoadingLimits
Get a temporary limit from its acceptable duration. Return null if there is non temporary limit with this acceptable duration.- Specified by:
getTemporaryLimit
in interfaceLoadingLimits
- Parameters:
acceptableDuration
- acceptable duration in second- Returns:
- the temporary limit
-
getTemporaryLimitValue
public double getTemporaryLimitValue(int acceptableDuration) Description copied from interface:LoadingLimits
Get a temporary limit value from its acceptable duration. Return NaN if there is non temporary limit with this acceptable duration.- Specified by:
getTemporaryLimitValue
in interfaceLoadingLimits
- Parameters:
acceptableDuration
- acceptable duration in second- Returns:
- the temporary limit value or NaN if there is no temporary limit for this acceptable duration
-
setPermanentLimit
Description copied from interface:LoadingLimits
Set the permanent limit- Specified by:
setPermanentLimit
in interfaceLoadingLimits
- Parameters:
permanentLimit
- the permanent limit- Returns:
- itself for method chaining
-
remove
public void remove()- Specified by:
remove
in interfaceOperationalLimits
-