HydroPumpTurbine
PowerSystems.HydroPumpTurbine — Typemutable struct HydroPumpTurbine <: HydroUnit
name::String
available::Bool
bus::ACBus
active_power::Float64
reactive_power::Float64
rating::Float64
active_power_limits::MinMax
reactive_power_limits::Union{Nothing, MinMax}
active_power_limits_pump::MinMax
outflow_limits::Union{Nothing, MinMax}
powerhouse_elevation::Float64
ramp_limits::Union{Nothing, UpDown}
time_limits::Union{Nothing, UpDown}
base_power::Float64
status::PumpHydroStatus
time_at_status::Float64
operation_cost::Union{HydroGenerationCost, MarketBidCost}
active_power_pump::Float64
efficiency::TurbinePump
transition_time::TurbinePump
minimum_time::TurbinePump
travel_time::Union{Nothing, Float64}
conversion_factor::Float64
must_run::Bool
prime_mover_type::PrimeMovers
services::Vector{Service}
dynamic_injector::Union{Nothing, DynamicInjection}
ext::Dict{String, Any}
internal::InfrastructureSystemsInternal
endA hydropower pumped turbine that needs to have two HydroReservoirs attached, suitable for modeling independent pumped hydro with 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 turbine 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 AC side output power rating of the unit. Stored in per unit of the device and not to be confused with base_power, validation range:(0, nothing)active_power_limits::MinMax: Minimum and maximum stable active power levels (MW) for the turbine, validation range:(0, nothing)reactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set toNothingif not applicableactive_power_limits_pump::MinMax: Minimum and maximum stable active power levels (MW) for the pump, validation range:(0, nothing)outflow_limits::Union{Nothing, MinMax}: Turbine/Pump outflow limits in m3/s. Set toNothingif not applicablepowerhouse_elevation::Float64: Height level in meters above the sea level of the powerhouse on which the turbine is installed., validation range:(0, nothing)ramp_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)status::PumpHydroStatus: (default:PumpHydroStatus.OFF) Initial Operating status of a pumped‑storage hydro unit. See PumpHydroStatus for referencetime_at_status::Float64: (default:INFINITE_TIME) Time (e.g.,Hours(6)) the generator has been on or off, as indicated bystatusoperation_cost::Union{HydroGenerationCost, MarketBidCost}: (default:HydroGenerationCost(nothing))OperationalCostof generationactive_power_pump::Float64: (default:0.0) Initial active power set point of the pump 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 usedefficiency::TurbinePump: (default:(turbine = 1.0, pump = 1.0)) Turbine/Pump efficiency [0, 1.0]transition_time::TurbinePump: (default:(turbine = 0.0, pump = 0.0)) Transition time in hours to switch into the specific mode.minimum_time::TurbinePump: (default:(turbine = 0.0, pump = 0.0)) Minimum operating time in hours for the specific mode.travel_time::Union{Nothing, Float64}: (default:nothing) Downstream (from reservoir into turbine) travel time in hours.conversion_factor::Float64: (default:1.0) Conversion factor from flow/volume to energy: m^3 -> p.u-hrmust_run::Bool: (default:false) Whether the unit must run (i.e., cannot be curtailed)prime_mover_type::PrimeMovers: (default:PrimeMovers.PS) Prime mover technology according to EIA 923. Options are listed hereservices::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.internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
InfrastructureSystems.get_available — Methodget_available(value::HydroPumpTurbine) -> Bool
Get HydroPumpTurbine available.
InfrastructureSystems.get_name — Methodget_name(value::HydroPumpTurbine) -> String
Get HydroPumpTurbine name.
InfrastructureSystems.set_available! — Methodset_available!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine available.
PowerSystems.get_active_power — Methodget_active_power(value::HydroPumpTurbine) -> Float64
Get HydroPumpTurbine active_power.
PowerSystems.get_active_power_limits — Methodget_active_power_limits(
value::HydroPumpTurbine
) -> @NamedTuple{min::Float64, max::Float64}
Get HydroPumpTurbine active_power_limits.
PowerSystems.get_active_power_limits_pump — Methodget_active_power_limits_pump(
value::HydroPumpTurbine
) -> @NamedTuple{min::Float64, max::Float64}
Get HydroPumpTurbine active_power_limits_pump.
PowerSystems.get_active_power_pump — Methodget_active_power_pump(value::HydroPumpTurbine) -> Float64
Get HydroPumpTurbine active_power_pump.
PowerSystems.get_base_power — Methodget_base_power(value::HydroPumpTurbine) -> Float64
Get HydroPumpTurbine base_power.
PowerSystems.get_bus — Methodget_bus(value::HydroPumpTurbine) -> ACBus
Get HydroPumpTurbine bus.
PowerSystems.get_conversion_factor — Methodget_conversion_factor(value::HydroPumpTurbine) -> Float64
Get HydroPumpTurbine conversion_factor.
PowerSystems.get_dynamic_injector — Methodget_dynamic_injector(
value::HydroPumpTurbine
) -> Union{Nothing, DynamicInjection}
Get HydroPumpTurbine dynamic_injector.
PowerSystems.get_efficiency — Methodget_efficiency(
value::HydroPumpTurbine
) -> @NamedTuple{turbine::Float64, pump::Float64}
Get HydroPumpTurbine efficiency.
PowerSystems.get_ext — Methodget_ext(value::HydroPumpTurbine) -> Dict{String, Any}
Get HydroPumpTurbine ext.
PowerSystems.get_minimum_time — Methodget_minimum_time(
value::HydroPumpTurbine
) -> @NamedTuple{turbine::Float64, pump::Float64}
Get HydroPumpTurbine minimum_time.
PowerSystems.get_must_run — Methodget_must_run(value::HydroPumpTurbine) -> Bool
Get HydroPumpTurbine must_run.
PowerSystems.get_operation_cost — Methodget_operation_cost(
value::HydroPumpTurbine
) -> Union{HydroGenerationCost, MarketBidCost}
Get HydroPumpTurbine operation_cost.
PowerSystems.get_outflow_limits — Methodget_outflow_limits(
value::HydroPumpTurbine
) -> Union{Nothing, @NamedTuple{min::Float64, max::Float64}}
Get HydroPumpTurbine outflow_limits.
PowerSystems.get_powerhouse_elevation — Methodget_powerhouse_elevation(value::HydroPumpTurbine) -> Float64
Get HydroPumpTurbine powerhouse_elevation.
PowerSystems.get_prime_mover_type — Methodget_prime_mover_type(value::HydroPumpTurbine) -> PrimeMovers
Get HydroPumpTurbine prime_mover_type.
PowerSystems.get_ramp_limits — Methodget_ramp_limits(
value::HydroPumpTurbine
) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}
Get HydroPumpTurbine ramp_limits.
PowerSystems.get_rating — Methodget_rating(value::HydroPumpTurbine) -> Float64
Get HydroPumpTurbine rating.
PowerSystems.get_reactive_power — Methodget_reactive_power(value::HydroPumpTurbine) -> Float64
Get HydroPumpTurbine reactive_power.
PowerSystems.get_reactive_power_limits — Methodget_reactive_power_limits(
value::HydroPumpTurbine
) -> Union{Nothing, @NamedTuple{min::Float64, max::Float64}}
Get HydroPumpTurbine reactive_power_limits.
PowerSystems.get_services — Methodget_services(value::HydroPumpTurbine) -> Vector{Service}
Get HydroPumpTurbine services.
PowerSystems.get_status — Methodget_status(
value::HydroPumpTurbine
) -> PowerSystems.PumpHydroStatusModule.PumpHydroStatus
Get HydroPumpTurbine status.
PowerSystems.get_time_at_status — Methodget_time_at_status(value::HydroPumpTurbine) -> Float64
Get HydroPumpTurbine time_at_status.
PowerSystems.get_time_limits — Methodget_time_limits(
value::HydroPumpTurbine
) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}
Get HydroPumpTurbine time_limits.
PowerSystems.get_transition_time — Methodget_transition_time(
value::HydroPumpTurbine
) -> @NamedTuple{turbine::Float64, pump::Float64}
Get HydroPumpTurbine transition_time.
PowerSystems.get_travel_time — Methodget_travel_time(
value::HydroPumpTurbine
) -> Union{Nothing, Float64}
Get HydroPumpTurbine travel_time.
PowerSystems.set_active_power! — Methodset_active_power!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine active_power.
PowerSystems.set_active_power_limits! — Methodset_active_power_limits!(
value::HydroPumpTurbine,
val
) -> Any
Set HydroPumpTurbine active_power_limits.
PowerSystems.set_active_power_limits_pump! — Methodset_active_power_limits_pump!(
value::HydroPumpTurbine,
val
) -> Any
Set HydroPumpTurbine active_power_limits_pump.
PowerSystems.set_active_power_pump! — Methodset_active_power_pump!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine active_power_pump.
PowerSystems.set_base_power! — Methodset_base_power!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine base_power.
PowerSystems.set_bus! — Methodset_bus!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine bus.
PowerSystems.set_conversion_factor! — Methodset_conversion_factor!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine conversion_factor.
PowerSystems.set_efficiency! — Methodset_efficiency!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine efficiency.
PowerSystems.set_ext! — Methodset_ext!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine ext.
PowerSystems.set_minimum_time! — Methodset_minimum_time!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine minimum_time.
PowerSystems.set_must_run! — Methodset_must_run!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine must_run.
PowerSystems.set_operation_cost! — Methodset_operation_cost!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine operation_cost.
PowerSystems.set_outflow_limits! — Methodset_outflow_limits!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine outflow_limits.
PowerSystems.set_powerhouse_elevation! — Methodset_powerhouse_elevation!(
value::HydroPumpTurbine,
val
) -> Any
Set HydroPumpTurbine powerhouse_elevation.
PowerSystems.set_prime_mover_type! — Methodset_prime_mover_type!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine prime_mover_type.
PowerSystems.set_ramp_limits! — Methodset_ramp_limits!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine ramp_limits.
PowerSystems.set_rating! — Methodset_rating!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine rating.
PowerSystems.set_reactive_power! — Methodset_reactive_power!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine reactive_power.
PowerSystems.set_reactive_power_limits! — Methodset_reactive_power_limits!(
value::HydroPumpTurbine,
val
) -> Any
Set HydroPumpTurbine reactive_power_limits.
PowerSystems.set_services! — Methodset_services!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine services.
PowerSystems.set_status! — Methodset_status!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine status.
PowerSystems.set_time_at_status! — Methodset_time_at_status!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine time_at_status.
PowerSystems.set_time_limits! — Methodset_time_limits!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine time_limits.
PowerSystems.set_transition_time! — Methodset_transition_time!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine transition_time.
PowerSystems.set_travel_time! — Methodset_travel_time!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine travel_time.