Interface Scalable

All Known Implementing Classes:
DanglingLineScalable, ProportionalScalable

public interface Scalable
Author:
Geoffroy Jamgotchian <geoffroy.jamgotchian at rte-france.com>, Ameni Walha <ameni.walha at rte-france.com>
  • Method Details

    • initialValue

      double initialValue(Network n)
      Get the constant active power in MW injected at the network.
    • reset

      void reset(Network n)
      Set the constant active power to zero.
    • maximumValue

      double maximumValue(Network n)
      Get the maximal active power in MW. Uses Generator convention by default
    • minimumValue

      double minimumValue(Network n)
      Get the minimal active power in MW. Uses Generator convention by default
    • maximumValue

      double maximumValue(Network n, Scalable.ScalingConvention scalingConvention)
      Get the maximal active power in MW with scaling convention.
      See Also:
    • minimumValue

      double minimumValue(Network n, Scalable.ScalingConvention scalingConvention)
      Get the minimal active power in MW with scaling convention.
      See Also:
    • filterInjections

      void filterInjections(Network network, List<Injection> injections, List<String> notFound)
      Scans all the expected injections of the scalable. If the injection can be found in given network, it is added the the injections list. Otherwise, its identifier is added to the "notFound" list.
      Parameters:
      network - network
      injections - network injections used in the scalable
      notFound - expected injections not found in the network
    • filterInjections

      List<Injection> filterInjections(Network network, List<String> notFound)
      Scans all the expected injections of the scalable. If the injection can be found in given network, it is added the the injections list. Otherwise, its identifier is added to the "notFound" list.
      Parameters:
      network - network
      notFound - expected injections not found in the network
      Returns:
      network injections used in the scalable
    • filterInjections

      List<Injection> filterInjections(Network network)
      Scans all the expected injections of the scalable. If the injection can be found in given network, it is added to the injections list.
      Parameters:
      network - network
      Returns:
      network injections used in the scalable
    • scale

      double scale(Network n, double asked, ScalingParameters parameters)
      Scale the given network using Generator convention by default. The actual scaling value may be different to the one asked if the Scalable limit is reached. If the scalable is disconnected, the scaling value will be 0.
      Parameters:
      n - network
      asked - value asked to adjust the scalable active power
      parameters - specific parameters used to scale
      Returns:
      the actual value of the scalable active power adjustment
    • scale

      default double scale(Network n, double asked)
    • onGenerator

      static com.powsybl.iidm.modification.scalable.GeneratorScalable onGenerator(String id)
      create GeneratorScalable with id
    • onGenerator

      static com.powsybl.iidm.modification.scalable.GeneratorScalable onGenerator(String id, double minValue, double maxValue)
      create GeneratorScalable with id, min and max power values for scaling
    • onLoad

      static com.powsybl.iidm.modification.scalable.LoadScalable onLoad(String id)
      create LoadScalable with id
    • onLoad

      static com.powsybl.iidm.modification.scalable.LoadScalable onLoad(String id, double minValue, double maxValue)
      create LoadScalable with id, min and max power values for scaling
    • onDanglingLine

      static DanglingLineScalable onDanglingLine(String id)
      create DanglingLineScalable with id. The generator scaling convention is used by default.
    • onDanglingLine

      static DanglingLineScalable onDanglingLine(String id, Scalable.ScalingConvention scalingConvention)
      create DanglingLineScalable with id and the scaling convention that will be used.
    • onDanglingLine

      static DanglingLineScalable onDanglingLine(String id, double minValue, double maxValue)
      create DanglingLineScalable with id, min and max power values for scaling. The generator scaling convention is used by default.
    • onDanglingLine

      static DanglingLineScalable onDanglingLine(String id, double minValue, double maxValue, Scalable.ScalingConvention scalingConvention)
      create DanglingLineScalable with id, min and max power values for scaling and the scaling convention that will be used.
    • scalable

      static Scalable scalable(String id)
    • scalables

      static List<Scalable> scalables(String... ids)
    • proportional

      static ProportionalScalable proportional(List<? extends Injection> injections, ProportionalScalable.DistributionMode distributionMode)
    • proportional

      static ProportionalScalable proportional(List<? extends Injection> injections, ProportionalScalable.DistributionMode distributionMode, double minValue, double maxValue)
    • proportional

      static ProportionalScalable proportional(List<Double> percentages, List<Scalable> scalables)
    • proportional

      static ProportionalScalable proportional(List<Double> percentages, List<Scalable> scalables, double minValue, double maxValue)
    • proportional

      static ProportionalScalable proportional(double percentage, Scalable scalable)
    • proportional

      static ProportionalScalable proportional(double percentage1, Scalable scalable1, double percentage2, Scalable scalable2)
    • proportional

      static ProportionalScalable proportional(double percentage1, Scalable scalable1, double percentage2, Scalable scalable2, double percentage3, Scalable scalable3)
    • proportional

      static ProportionalScalable proportional(double percentage1, Scalable scalable1, double percentage2, Scalable scalable2, double percentage3, Scalable scalable3, double percentage4, Scalable scalable4)
    • proportional

      static ProportionalScalable proportional(double percentage1, Scalable scalable1, double percentage2, Scalable scalable2, double percentage3, Scalable scalable3, double percentage4, Scalable scalable4, double percentage5, Scalable scalable5)
    • stack

      static com.powsybl.iidm.modification.scalable.StackScalable stack(Injection<?>... injections)
    • stack

      static com.powsybl.iidm.modification.scalable.StackScalable stack(double minValue, double maxValue, Injection<?>... injections)
    • stack

      static com.powsybl.iidm.modification.scalable.StackScalable stack(List<? extends Injection<?>> injections)
    • stack

      static com.powsybl.iidm.modification.scalable.StackScalable stack(List<? extends Injection<?>> injections, double minValue, double maxValue)
    • stack

      static com.powsybl.iidm.modification.scalable.StackScalable stack(Scalable... scalables)
    • stack

      static com.powsybl.iidm.modification.scalable.StackScalable stack(double minValue, double maxValue, Scalable... scalables)
    • stack

      static com.powsybl.iidm.modification.scalable.StackScalable stack(String... ids)
    • stack

      static com.powsybl.iidm.modification.scalable.StackScalable stack(double minValue, double maxValue, String... ids)
    • upDown

      static com.powsybl.iidm.modification.scalable.UpDownScalable upDown(Scalable upScalable, Scalable downScalable)
    • upDown

      static com.powsybl.iidm.modification.scalable.UpDownScalable upDown(Scalable upScalable, Scalable downScalable, double minValue, double maxValue)
    • getVariationAsked

      static double getVariationAsked(ScalingParameters scalingParameters, double askedValue, double currentGlobalPower)
      Returns the value that has to be added to the network, depending on the type of variation chosen in the parameters
      Parameters:
      scalingParameters - Scaling parameters including a variation type (DELTA_P or TARGET_P)
      askedValue - value of scaling asked on the scalable
      currentGlobalPower - current global power in the network
      Returns:
      the variation value if the type is DELTA_P, else the difference between the variation value and the current global value sum
    • getSteadyStatePower

      double getSteadyStatePower(Network network, double asked, Scalable.ScalingConvention scalingConvention)
      Returns the current power value for the injections corresponding to this Scalable
      Parameters:
      network - Network in which the injections are defined
      asked - value of scaling asked on the scalable. This is used to know in which direction we want to scale for UpDownScalables.
      scalingConvention - The value is computed either with Generator or Load convention according to this parameter.
      Returns:
      the current power value