HydroPumpedStorage
PowerSystems.HydroPumpedStorage — Typemutable struct HydroPumpedStorage <: HydroGen
name::String
available::Bool
bus::ACBus
active_power::Float64
reactive_power::Float64
rating::Float64
base_power::Float64
prime_mover_type::PrimeMovers
active_power_limits::MinMax
reactive_power_limits::Union{Nothing, MinMax}
ramp_limits::Union{Nothing, UpDown}
time_limits::Union{Nothing, UpDown}
rating_pump::Float64
active_power_limits_pump::MinMax
reactive_power_limits_pump::Union{Nothing, MinMax}
ramp_limits_pump::Union{Nothing, UpDown}
time_limits_pump::Union{Nothing, UpDown}
storage_capacity::UpDown
inflow::Float64
outflow::Float64
initial_storage::UpDown
storage_target::UpDown
operation_cost::Union{HydroGenerationCost, StorageCost, MarketBidCost}
pump_efficiency::Float64
conversion_factor::Float64
status::PumpHydroStatus
time_at_status::Float64
services::Vector{Service}
dynamic_injector::Union{Nothing, DynamicInjection}
ext::Dict{String, Any}
internal::InfrastructureSystemsInternal
endA hydropower generator with pumped storage and upper and lower reservoirs.
Arguments
name::String: Name of the component. Components of the same type (e.g.,PowerLoad) must have unique names, but components of different types (e.g.,PowerLoadandACBus) can have the same nameavailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulationsbus::ACBus: Bus that this component is connected toactive_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver usedreactive_power::Float64: Initial reactive power set point of the unit (MVAR)rating::Float64: Maximum output power rating of the unit (MVA), validation range:(0, nothing)base_power::Float64: Base power of the unit (MVA) for per unitization, validation range:(0, nothing)prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923. Options are listed hereactive_power_limits::MinMax: Minimum and maximum stable active power levels (MW), validation range:(0, nothing)reactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set toNothingif not applicableramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW/min, validation range:(0, nothing)time_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range:(0, nothing)rating_pump::Float64: Maximum power withdrawal (MVA) of the pump, validation range:(0, nothing)active_power_limits_pump::MinMax:reactive_power_limits_pump::Union{Nothing, MinMax}:ramp_limits_pump::Union{Nothing, UpDown}: ramp up and ramp down limits in MW/min of pump, validation range:(0, nothing)time_limits_pump::Union{Nothing, UpDown}: Minimum up and Minimum down time limits of pump in hours, validation range:(0, nothing)storage_capacity::UpDown: Maximum storage capacity in the upper and lower reservoirs (units can be p.u-hr or m^3), validation range:(0, nothing)inflow::Float64: Baseline inflow into the upper reservoir (units can be p.u. or m^3/hr), validation range:(0, nothing)outflow::Float64: Baseline outflow from the lower reservoir (units can be p.u. or m^3/hr), validation range:(0, nothing)initial_storage::UpDown: Initial storage capacity in the upper and lower reservoir (units can be p.u-hr or m^3), validation range:(0, nothing)storage_target::UpDown: (default:(up=1.0, down=1.0)) Storage target of upper reservoir at the end of simulation as ratio of storage capacityoperation_cost::Union{HydroGenerationCost, StorageCost, MarketBidCost}: (default:HydroGenerationCost(nothing))OperationalCostof generationpump_efficiency::Float64: (default:1.0) Pumping efficiency [0, 1.0], validation range:(0, 1)conversion_factor::Float64: (default:1.0) Conversion factor from flow/volume to energy: m^3 -> p.u-hrstatus::PumpHydroStatus: (default:PumpHydroStatus.OFF) Initial commitment condition at the start of a simulation (PumpHydroStatus.PUMP,PumpHydroStatus.GEN, orPumpHydroStatus.OFF)time_at_status::Float64: (default:INFINITE_TIME) Time (e.g.,Hours(6)) the generator has been generating, pumping, or off, as indicated bystatusservices::Vector{Service}: (default:Device[]) Services that this device contributes todynamic_injector::Union{Nothing, DynamicInjection}: (default:nothing) corresponding dynamic injection deviceext::Dict{String, Any}: (default:Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
InfrastructureSystems.get_name — Methodget_name(value::HydroPumpedStorage) -> String
Get HydroPumpedStorage name.
PowerSystems.get_active_power — Methodget_active_power(value::HydroPumpedStorage) -> Any
Get HydroPumpedStorage active_power.
PowerSystems.get_active_power_limits — Methodget_active_power_limits(
value::HydroPumpedStorage
) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}
Get HydroPumpedStorage active_power_limits.
PowerSystems.get_active_power_limits_pump — Methodget_active_power_limits_pump(
value::HydroPumpedStorage
) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}
Get HydroPumpedStorage active_power_limits_pump.
PowerSystems.get_available — Methodget_available(value::HydroPumpedStorage) -> Bool
Get HydroPumpedStorage available.
PowerSystems.get_base_power — Methodget_base_power(value::HydroPumpedStorage) -> Float64
Get HydroPumpedStorage base_power.
PowerSystems.get_bus — Methodget_bus(value::HydroPumpedStorage) -> ACBus
Get HydroPumpedStorage bus.
PowerSystems.get_conversion_factor — Methodget_conversion_factor(value::HydroPumpedStorage) -> Float64
Get HydroPumpedStorage conversion_factor.
PowerSystems.get_dynamic_injector — Methodget_dynamic_injector(
value::HydroPumpedStorage
) -> Union{Nothing, DynamicInjection}
Get HydroPumpedStorage dynamic_injector.
PowerSystems.get_ext — Methodget_ext(value::HydroPumpedStorage) -> Dict{String, Any}
Get HydroPumpedStorage ext.
PowerSystems.get_inflow — Methodget_inflow(value::HydroPumpedStorage) -> Any
Get HydroPumpedStorage inflow.
PowerSystems.get_initial_storage — Methodget_initial_storage(
value::HydroPumpedStorage
) -> NamedTuple{(:up, :down), <:Tuple{Any, Any}}
Get HydroPumpedStorage initial_storage.
PowerSystems.get_operation_cost — Methodget_operation_cost(
value::HydroPumpedStorage
) -> Union{HydroGenerationCost, MarketBidCost, StorageCost}
Get HydroPumpedStorage operation_cost.
PowerSystems.get_outflow — Methodget_outflow(value::HydroPumpedStorage) -> Float64
Get HydroPumpedStorage outflow.
PowerSystems.get_prime_mover_type — Methodget_prime_mover_type(
value::HydroPumpedStorage
) -> PrimeMovers
Get HydroPumpedStorage prime_mover_type.
PowerSystems.get_pump_efficiency — Methodget_pump_efficiency(value::HydroPumpedStorage) -> Float64
Get HydroPumpedStorage pump_efficiency.
PowerSystems.get_ramp_limits — Methodget_ramp_limits(
value::HydroPumpedStorage
) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}
Get HydroPumpedStorage ramp_limits.
PowerSystems.get_ramp_limits_pump — Methodget_ramp_limits_pump(
value::HydroPumpedStorage
) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}
Get HydroPumpedStorage ramp_limits_pump.
PowerSystems.get_rating — Methodget_rating(value::HydroPumpedStorage) -> Any
Get HydroPumpedStorage rating.
PowerSystems.get_rating_pump — Methodget_rating_pump(value::HydroPumpedStorage) -> Any
Get HydroPumpedStorage rating_pump.
PowerSystems.get_reactive_power — Methodget_reactive_power(value::HydroPumpedStorage) -> Any
Get HydroPumpedStorage reactive_power.
PowerSystems.get_reactive_power_limits — Methodget_reactive_power_limits(
value::HydroPumpedStorage
) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}
Get HydroPumpedStorage reactive_power_limits.
PowerSystems.get_reactive_power_limits_pump — Methodget_reactive_power_limits_pump(
value::HydroPumpedStorage
) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}
Get HydroPumpedStorage reactive_power_limits_pump.
PowerSystems.get_services — Methodget_services(value::HydroPumpedStorage) -> Vector{Service}
Get HydroPumpedStorage services.
PowerSystems.get_status — Methodget_status(
value::HydroPumpedStorage
) -> PowerSystems.PumpHydroStatusModule.PumpHydroStatus
Get HydroPumpedStorage status.
PowerSystems.get_storage_capacity — Methodget_storage_capacity(
value::HydroPumpedStorage
) -> NamedTuple{(:up, :down), <:Tuple{Any, Any}}
Get HydroPumpedStorage storage_capacity.
PowerSystems.get_storage_target — Methodget_storage_target(
value::HydroPumpedStorage
) -> @NamedTuple{up::Float64, down::Float64}
Get HydroPumpedStorage storage_target.
PowerSystems.get_time_at_status — Methodget_time_at_status(value::HydroPumpedStorage) -> Float64
Get HydroPumpedStorage time_at_status.
PowerSystems.get_time_limits — Methodget_time_limits(
value::HydroPumpedStorage
) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}
Get HydroPumpedStorage time_limits.
PowerSystems.get_time_limits_pump — Methodget_time_limits_pump(
value::HydroPumpedStorage
) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}
Get HydroPumpedStorage time_limits_pump.
PowerSystems.set_active_power! — Methodset_active_power!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage active_power.
PowerSystems.set_active_power_limits! — Methodset_active_power_limits!(
value::HydroPumpedStorage,
val
) -> Any
Set HydroPumpedStorage active_power_limits.
PowerSystems.set_active_power_limits_pump! — Methodset_active_power_limits_pump!(
value::HydroPumpedStorage,
val
) -> Any
Set HydroPumpedStorage active_power_limits_pump.
PowerSystems.set_available! — Methodset_available!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage available.
PowerSystems.set_base_power! — Methodset_base_power!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage base_power.
PowerSystems.set_bus! — Methodset_bus!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage bus.
PowerSystems.set_conversion_factor! — Methodset_conversion_factor!(
value::HydroPumpedStorage,
val
) -> Any
Set HydroPumpedStorage conversion_factor.
PowerSystems.set_ext! — Methodset_ext!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage ext.
PowerSystems.set_inflow! — Methodset_inflow!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage inflow.
PowerSystems.set_initial_storage! — Methodset_initial_storage!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage initial_storage.
PowerSystems.set_operation_cost! — Methodset_operation_cost!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage operation_cost.
PowerSystems.set_outflow! — Methodset_outflow!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage outflow.
PowerSystems.set_prime_mover_type! — Methodset_prime_mover_type!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage prime_mover_type.
PowerSystems.set_pump_efficiency! — Methodset_pump_efficiency!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage pump_efficiency.
PowerSystems.set_ramp_limits! — Methodset_ramp_limits!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage ramp_limits.
PowerSystems.set_ramp_limits_pump! — Methodset_ramp_limits_pump!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage ramp_limits_pump.
PowerSystems.set_rating! — Methodset_rating!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage rating.
PowerSystems.set_rating_pump! — Methodset_rating_pump!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage rating_pump.
PowerSystems.set_reactive_power! — Methodset_reactive_power!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage reactive_power.
PowerSystems.set_reactive_power_limits! — Methodset_reactive_power_limits!(
value::HydroPumpedStorage,
val
) -> Any
Set HydroPumpedStorage reactive_power_limits.
PowerSystems.set_reactive_power_limits_pump! — Methodset_reactive_power_limits_pump!(
value::HydroPumpedStorage,
val
) -> Any
Set HydroPumpedStorage reactive_power_limits_pump.
PowerSystems.set_services! — Methodset_services!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage services.
PowerSystems.set_status! — Methodset_status!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage status.
PowerSystems.set_storage_capacity! — Methodset_storage_capacity!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage storage_capacity.
PowerSystems.set_storage_target! — Methodset_storage_target!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage storage_target.
PowerSystems.set_time_at_status! — Methodset_time_at_status!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage time_at_status.
PowerSystems.set_time_limits! — Methodset_time_limits!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage time_limits.
PowerSystems.set_time_limits_pump! — Methodset_time_limits_pump!(value::HydroPumpedStorage, val) -> Any
Set HydroPumpedStorage time_limits_pump.