Class LimitReduction

java.lang.Object
com.powsybl.security.limitreduction.LimitReduction

public class LimitReduction extends Object

This class represents a reduction that should be applied to operational limits of a certain type.

A reduced limit is computed as original limit * limitReduction.value.

It may also contain restrictions indicating in which conditions it should be applied. If no restriction is defined the limit reduction is applied to all limits of the defined type.

The possible restrictions are:

  • monitoringOnly: use true if the limit reduction is applied when reporting the limit violations only. Use false if it is applied also inside the conditions of operator strategies. The default value is false.
  • contingencyContext: the contingency context in which the limit reduction is applied (in pre-contingency only, after every contingency, etc.);
  • networkElementCriteria: criteria a network element should respect for the limit reduction to be applied on its limits;
  • limitDurationCriteria: criteria based on limit overload acceptable durations. Through these criteria, we can defined if the reduction is applied on the permanent limit and/or on a temporary limit if it acceptable duration is within a specific range.

Author:
Olivier Perrin <olivier.perrin at rte-france.com>
  • Constructor Details

    • LimitReduction

      public LimitReduction(LimitType limitType, double value)

      Create a limit reduction applying on each operational limits of a given type.

      This reduction is applied for a contingency context ALL and for limit violations reporting and operator strategy conditions.

      Parameters:
      limitType - the type of the limits to reduce.
      value - the value of the reduction (reduced limits are equal to original limit * reduction value).
    • LimitReduction

      public LimitReduction(LimitType limitType, double value, boolean monitoringOnly)

      Create a limit reduction applying on each limits of a given type, for monitoring only or monitoring/action depending on the monitoringOnly parameter.

      This reduction is applied for a contingency context ALL.

      Parameters:
      limitType - the type of the limits to reduce
      value - the value of the reduction (reduced limits are equal to original limit * reduction value).
      monitoringOnly - true if the reduction is applied only for monitoring only, false otherwise.
  • Method Details

    • builder

      public static LimitReduction.Builder builder(LimitType limitType, double value)

      Initialize a builder for creating more specific limit reductions (indicate a contingency context or criteria on network elements or on limit durations).

      Parameters:
      limitType - the type of the limits to reduce.
      value - the value of the reduction (reduced limits are equal to original limit * reduction value).
      Returns:
      a builder used to create a LimitReduction.
    • getLimitType

      public LimitType getLimitType()
    • getValue

      public double getValue()
    • isMonitoringOnly

      public boolean isMonitoringOnly()

      Indicate if the limit reduction is applied only to report limit violations (true), or if also affects the conditions of operator strategies (false).

      Returns:
      true if the limit reduction is applied only for monitoring, false otherwise.
    • getContingencyContext

      public ContingencyContext getContingencyContext()

      Indicate the limit reduction contingency context.

      Returns:
      the ContingencyContext of the limit reduction.
    • getNetworkElementCriteria

      public List<NetworkElementCriterion> getNetworkElementCriteria()

      Indicate the criteria on network elements candidate for the limit reduction.

      Returns:
      the list of the NetworkElementCriterion candidate for the limit reduction.
    • getDurationCriteria

      public List<LimitDurationCriterion> getDurationCriteria()

      Indicate criteria on operational limit acceptable durations.

      Returns:
      the list of the LimitDurationCriterion of the limit reduction.