HydroEnergyReservoir
PowerSystems.HydroEnergyReservoir — Typemutable struct HydroEnergyReservoir <: HydroGen
name::String
available::Bool
bus::ACBus
active_power::Float64
reactive_power::Float64
rating::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}
base_power::Float64
storage_capacity::Float64
inflow::Float64
initial_storage::Float64
operation_cost::Union{HydroGenerationCost, StorageCost, MarketBidCost}
storage_target::Float64
conversion_factor::Float64
status::Bool
time_at_status::Float64
services::Vector{Service}
dynamic_injector::Union{Nothing, DynamicInjection}
ext::Dict{String, Any}
internal::InfrastructureSystemsInternal
endA hydropower generator with an upper reservoir, offering some energy storage and operational flexibility.
For hydro generators with pumped storage, see HydroPumpedStorage
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), validation range:reactive_power_limitsrating::Float64: Maximum output power rating of the unit (MVA), 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)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)base_power::Float64: Base power of the unit (MVA) for per unitization, validation range:(0, nothing)storage_capacity::Float64: Maximum storage capacity in the reservoir (units can be p.u-hr or m^3), validation range:(0, nothing)inflow::Float64: Baseline inflow into the reservoir (units can be p.u. or m^3/hr), validation range:(0, nothing)initial_storage::Float64: Initial storage capacity in the reservoir (units can be p.u-hr or m^3), validation range:(0, nothing)operation_cost::Union{HydroGenerationCost, StorageCost, MarketBidCost}: (default:HydroGenerationCost(nothing))OperationalCostof generationstorage_target::Float64: (default:1.0) Storage target at the end of simulation as a fraction of storage capacityconversion_factor::Float64: (default:1.0) Conversion factor from flow/volume to energy: m^3 -> p.u-hrstatus::Bool: (default:false) Initial commitment condition at the start of a simulation (true= on orfalse= off)time_at_status::Float64: (default:INFINITE_TIME) Time (e.g.,Hours(6)) the generator has been on 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::HydroEnergyReservoir) -> String
Get HydroEnergyReservoir name.
PowerSystems.get_active_power — Methodget_active_power(value::HydroEnergyReservoir) -> Any
Get HydroEnergyReservoir active_power.
PowerSystems.get_active_power_limits — Methodget_active_power_limits(
value::HydroEnergyReservoir
) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}
Get HydroEnergyReservoir active_power_limits.
PowerSystems.get_available — Methodget_available(value::HydroEnergyReservoir) -> Bool
Get HydroEnergyReservoir available.
PowerSystems.get_base_power — Methodget_base_power(value::HydroEnergyReservoir) -> Float64
Get HydroEnergyReservoir base_power.
PowerSystems.get_bus — Methodget_bus(value::HydroEnergyReservoir) -> ACBus
Get HydroEnergyReservoir bus.
PowerSystems.get_conversion_factor — Methodget_conversion_factor(
value::HydroEnergyReservoir
) -> Float64
Get HydroEnergyReservoir conversion_factor.
PowerSystems.get_dynamic_injector — Methodget_dynamic_injector(
value::HydroEnergyReservoir
) -> Union{Nothing, DynamicInjection}
Get HydroEnergyReservoir dynamic_injector.
PowerSystems.get_ext — Methodget_ext(value::HydroEnergyReservoir) -> Dict{String, Any}
Get HydroEnergyReservoir ext.
PowerSystems.get_inflow — Methodget_inflow(value::HydroEnergyReservoir) -> Any
Get HydroEnergyReservoir inflow.
PowerSystems.get_initial_storage — Methodget_initial_storage(value::HydroEnergyReservoir) -> Any
Get HydroEnergyReservoir initial_storage.
PowerSystems.get_operation_cost — Methodget_operation_cost(
value::HydroEnergyReservoir
) -> Union{HydroGenerationCost, MarketBidCost, StorageCost}
Get HydroEnergyReservoir operation_cost.
PowerSystems.get_prime_mover_type — Methodget_prime_mover_type(
value::HydroEnergyReservoir
) -> PrimeMovers
Get HydroEnergyReservoir prime_mover_type.
PowerSystems.get_ramp_limits — Methodget_ramp_limits(
value::HydroEnergyReservoir
) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}
Get HydroEnergyReservoir ramp_limits.
PowerSystems.get_rating — Methodget_rating(value::HydroEnergyReservoir) -> Any
Get HydroEnergyReservoir rating.
PowerSystems.get_reactive_power — Methodget_reactive_power(value::HydroEnergyReservoir) -> Any
Get HydroEnergyReservoir reactive_power.
PowerSystems.get_reactive_power_limits — Methodget_reactive_power_limits(
value::HydroEnergyReservoir
) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}
Get HydroEnergyReservoir reactive_power_limits.
PowerSystems.get_services — Methodget_services(value::HydroEnergyReservoir) -> Vector{Service}
Get HydroEnergyReservoir services.
PowerSystems.get_status — Methodget_status(value::HydroEnergyReservoir) -> Bool
Get HydroEnergyReservoir status.
PowerSystems.get_storage_capacity — Methodget_storage_capacity(value::HydroEnergyReservoir) -> Any
Get HydroEnergyReservoir storage_capacity.
PowerSystems.get_storage_target — Methodget_storage_target(value::HydroEnergyReservoir) -> Float64
Get HydroEnergyReservoir storage_target.
PowerSystems.get_time_at_status — Methodget_time_at_status(value::HydroEnergyReservoir) -> Float64
Get HydroEnergyReservoir time_at_status.
PowerSystems.get_time_limits — Methodget_time_limits(
value::HydroEnergyReservoir
) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}
Get HydroEnergyReservoir time_limits.
PowerSystems.set_active_power! — Methodset_active_power!(value::HydroEnergyReservoir, val) -> Any
Set HydroEnergyReservoir active_power.
PowerSystems.set_active_power_limits! — Methodset_active_power_limits!(
value::HydroEnergyReservoir,
val
) -> Any
Set HydroEnergyReservoir active_power_limits.
PowerSystems.set_available! — Methodset_available!(value::HydroEnergyReservoir, val) -> Any
Set HydroEnergyReservoir available.
PowerSystems.set_base_power! — Methodset_base_power!(value::HydroEnergyReservoir, val) -> Any
Set HydroEnergyReservoir base_power.
PowerSystems.set_bus! — Methodset_bus!(value::HydroEnergyReservoir, val) -> Any
Set HydroEnergyReservoir bus.
PowerSystems.set_conversion_factor! — Methodset_conversion_factor!(
value::HydroEnergyReservoir,
val
) -> Any
Set HydroEnergyReservoir conversion_factor.
PowerSystems.set_ext! — Methodset_ext!(value::HydroEnergyReservoir, val) -> Any
Set HydroEnergyReservoir ext.
PowerSystems.set_inflow! — Methodset_inflow!(value::HydroEnergyReservoir, val) -> Any
Set HydroEnergyReservoir inflow.
PowerSystems.set_initial_storage! — Methodset_initial_storage!(
value::HydroEnergyReservoir,
val
) -> Any
Set HydroEnergyReservoir initial_storage.
PowerSystems.set_operation_cost! — Methodset_operation_cost!(value::HydroEnergyReservoir, val) -> Any
Set HydroEnergyReservoir operation_cost.
PowerSystems.set_prime_mover_type! — Methodset_prime_mover_type!(
value::HydroEnergyReservoir,
val
) -> Any
Set HydroEnergyReservoir prime_mover_type.
PowerSystems.set_ramp_limits! — Methodset_ramp_limits!(value::HydroEnergyReservoir, val) -> Any
Set HydroEnergyReservoir ramp_limits.
PowerSystems.set_rating! — Methodset_rating!(value::HydroEnergyReservoir, val) -> Any
Set HydroEnergyReservoir rating.
PowerSystems.set_reactive_power! — Methodset_reactive_power!(value::HydroEnergyReservoir, val) -> Any
Set HydroEnergyReservoir reactive_power.
PowerSystems.set_reactive_power_limits! — Methodset_reactive_power_limits!(
value::HydroEnergyReservoir,
val
) -> Any
Set HydroEnergyReservoir reactive_power_limits.
PowerSystems.set_services! — Methodset_services!(value::HydroEnergyReservoir, val) -> Any
Set HydroEnergyReservoir services.
PowerSystems.set_status! — Methodset_status!(value::HydroEnergyReservoir, val) -> Any
Set HydroEnergyReservoir status.
PowerSystems.set_storage_capacity! — Methodset_storage_capacity!(
value::HydroEnergyReservoir,
val
) -> Any
Set HydroEnergyReservoir storage_capacity.
PowerSystems.set_storage_target! — Methodset_storage_target!(value::HydroEnergyReservoir, val) -> Any
Set HydroEnergyReservoir storage_target.
PowerSystems.set_time_at_status! — Methodset_time_at_status!(value::HydroEnergyReservoir, val) -> Any
Set HydroEnergyReservoir time_at_status.
PowerSystems.set_time_limits! — Methodset_time_limits!(value::HydroEnergyReservoir, val) -> Any
Set HydroEnergyReservoir time_limits.