Public API Reference

Formulations

Variables

Parameters

Expressions

Constraints

HydroPowerSimulations.EnergyCapacityDownConstraintType

Struct to create the constraint that keeps track of the reservoir level of the lower (down) reservoir

For more information check HydroPowerSimulations Formulations.

The specified constraint is formulated as:

\[e_{t}^\text{dn} = e_{t-1}^\text{dn} + \left (p_t^\text{hy,out} + s_t - \frac{p_t^\text{hy,in}}{\eta^\text{pump}} \right) \Delta T - \text{OutflowTimeSeriesParameter}_t, \quad \forall t \in \{1,\dots, T\}\]

source
HydroPowerSimulations.EnergyCapacityUpConstraintType

Struct to create the constraint that keeps track of the reservoir level of the upper (up) reservoir

For more information check HydroPowerSimulations Formulations.

The specified constraint is formulated as:

\[e_{t}^\text{up} = e_{t-1}^\text{up} + \left (p_t^\text{hy,in} - \frac{p_t^\text{hy,out} + s_t}{\eta^\text{pump}} \right) \Delta T + \text{InflowTimeSeriesParameter}_t, \quad \forall t \in \{1,\dots, T\}\]

source

Initial Conditions

Feedforwards

HydroPowerSimulations.HydroUsageLimitFeedforwardType
HydroUsageLimitFeedforward(
    component_type::Type{<:PowerSystems.Component},
    source::Type{T},
    affected_values::Vector{DataType},
    meta = CONTAINER_KEY_EMPTY_META
) where {T}

Adds a constraint to enforce a maximum usage of hydro energy based on the source value. It is recommended to use the Auxiliary Variable HydroEnergyOutput as Source, affecting the HydroUsageLimitParameter.

Arguments:

  • component_type::Type{<:PowerSystems.Component} : Specify the type of component on which the Feedforward will be applied
  • source::Type{T} : Specify the VariableType, ParameterType or AuxVariableType as the source of values for the Feedforward
  • affected_values::Vector{DataType} : Specify the variable on which the hydro limit will be applied using the source values
source
HydroPowerSimulations.ReservoirLimitFeedforwardType
ReservoirLimitFeedforward(
    component_type::Type{<:PSY.Component},
    source::Type{T},
    affected_values::Vector{DataType},
    number_of_periods::Int,
    meta = CONTAINER_KEY_EMPTY_META
) where {T}

Adds a constraint to limit the sum of a variable over the number of periods to the source value.

Arguments:

  • component_type::Type{<:PowerSystems.Component} : Specify the type of component on which the Feedforward will be applied
  • source::Type{T} : Specify the VariableType, ParameterType or AuxVariableType as the source of values for the Feedforward
  • affected_values::Vector{DataType} : Specify the variable on which the reservoir limit will be applied using the source values
  • number_of_periods::Int : Specify the total number of periods that are added on which the limits are applied. For example, in a 24-step simulation if number_of_periods = 24, it will add only one constraint over the sum of 24 periods on which the reservoir limit will be applied. If number_of_periods = 12, it will create two constraints, one for the first 12 steps and one for the 13:24 steps. It is mandatory that number_of_periods can divide the total number of simulation steps.
source
HydroPowerSimulations.ReservoirTargetFeedforwardType
ReservoirTargetFeedforward(
    component_type::Type{<:PowerSystems.Component},
    source::Type{T},
    affected_values::Vector{DataType},
    target_period::Int,
    penalty_cost::Float64,
    meta = CONTAINER_KEY_EMPTY_META
) where {T}

Adds a constraint to enforce a minimum reservoir level target with a slack variable associated with a penalty term.

Arguments:

  • component_type::Type{<:PowerSystems.Component} : Specify the type of component on which the Feedforward will be applied
  • source::Type{T} : Specify the VariableType, ParameterType or AuxVariableType as the source of values for the Feedforward
  • affected_values::Vector{DataType} : Specify the variable on which the reservoir target will be applied using the source values
  • target_period::Int : Specify the time step at which the reservoir target will be applied.
  • penalty_cost::Float64 : Specify the penalty cost for not reaching the desired reservoir target.
source