Class AbstractReducedLoadingLimits

java.lang.Object
com.powsybl.security.limitreduction.result.AbstractReducedLoadingLimits
All Implemented Interfaces:
LoadingLimits, OperationalLimits
Direct Known Subclasses:
ReducedActivePowerLimits, ReducedApparentPowerLimits, ReducedCurrentLimits

public abstract class AbstractReducedLoadingLimits extends Object implements LoadingLimits

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>
  • 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 interface LoadingLimits
      Returns:
      the permanent limit.
    • getOriginalPermanentLimit

      public double getOriginalPermanentLimit()
    • getPermanentLimitReduction

      public double getPermanentLimitReduction()
    • getTemporaryLimits

      public Collection<LoadingLimits.TemporaryLimit> getTemporaryLimits()
      Description copied from interface: LoadingLimits
      Get a list of temporary limits ordered by descending duration.
      Specified by:
      getTemporaryLimits in interface LoadingLimits
      Returns:
      a list of temporary limits ordered by descending duration
    • getTemporaryLimit

      public LoadingLimits.TemporaryLimit getTemporaryLimit(int acceptableDuration)
      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 interface LoadingLimits
      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 interface LoadingLimits
      Parameters:
      acceptableDuration - acceptable duration in second
      Returns:
      the temporary limit value or NaN if there is no temporary limit for this acceptable duration
    • setPermanentLimit

      public LoadingLimits setPermanentLimit(double permanentLimit)
      Description copied from interface: LoadingLimits
      Set the permanent limit
      Specified by:
      setPermanentLimit in interface LoadingLimits
      Parameters:
      permanentLimit - the permanent limit
      Returns:
      itself for method chaining
    • remove

      public void remove()
      Specified by:
      remove in interface OperationalLimits