Internal API

HydroPowerSimulations.LevelTargetFeedforwardType
LevelTargetFeedforward(
    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 minimum level (head or volume) for reservoirs based on the source value. It is recommended to use the Volume or Head variable as Source, affecting the LevelTargetParameter.

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
PowerSimulations.add_feedforward_constraints!Method
    add_feedforward_constraints(container::PSI.OptimizationContainer,
                    model::PSI.DeviceModel,
                    devices,
                    ff::ReservoirLimitFeedforward)

Constructs a parameterized integral limit constraint to implement feedforward from other models. The Parameters are initialized using the upper boundary values of the provided variables.

sum(variable[var_name, t] for t in 1:affected_periods)/affected_periods <= param_reference[var_name]

LaTeX

$\sum_{t} x \leq param^{max}$

Arguments

  • container::PowerSimulations.OptimizationContainer : the optimization_container model built in PowerSimulations
  • model::PowerSimulations.DeviceModel : the device model
  • devices::IS.FlattenIteratorWrapper{T} : list of devices
  • ff::ReservoirLimitFeedforward : a instance of the Reservoir Limit Feedforward
source
PowerSimulations.add_feedforward_constraints!Method
    add_feedforward_constraints(
        container::PSI.OptimizationContainer,
        ::PSI.DeviceModel,
        devices::IS.FlattenIteratorWrapper{T},
        ff::ReservoirTargetFeedforward,
    ) where {T <: PSY.Component}

Constructs a equality constraint to a fix a variable in one model using the variable value from other model results.

variable[var_name, t] + slack[var_name, t] >= param[var_name, t]

LaTeX

$x + slack >= param$

Arguments

  • container::PSI.OptimizationContainer : the optimization_container model built in PowerSimulations
  • model::PowerSimulations.DeviceModel : the device model
  • devices::IS.FlattenIteratorWrapper{T} : list of devices
  • ff::ReservoirTargetFeedforward : a instance of the ReservoirTarget Feedforward
source