HydroPumpTurbine
PowerSystems.HydroPumpTurbine
— Typemutable struct HydroPumpTurbine <: HydroGen
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}
head_reservoir::HydroReservoir
tail_reservoir::HydroReservoir
powerhouse_elevation::Float64
ramp_limits::Union{Nothing, UpDown}
time_limits::Union{Nothing, UpDown}
base_power::Float64
operation_cost::Union{HydroGenerationCost, MarketBidCost}
active_power_pump::Float64
efficiency::TurbinePump
transition_time::TurbinePump
minimum_time::TurbinePump
conversion_factor::Float64
must_run::Bool
prime_mover_type::PrimeMovers
services::Vector{Service}
dynamic_injector::Union{Nothing, DynamicInjection}
ext::Dict{String, Any}
internal::InfrastructureSystemsInternal
end
A hydropower pumped turbine that needs to be attached to two reservoir, 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.,PowerLoad
andACBus
) 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_limits
rating::Float64
: Maximum output power rating of the unit (MVA), 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 toNothing
if 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 toNothing
if not applicablehead_reservoir::HydroReservoir
: Head reservoir that this component is connected totail_reservoir::HydroReservoir
: Tail reservoir that this component is connected topowerhouse_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)
operation_cost::Union{HydroGenerationCost, MarketBidCost}
: (default:HydroGenerationCost(nothing)
)OperationalCost
of 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.conversion_factor::Float64
: (default:1.0
) Conversion factor from flow/volume to energy: m^3 -> p.u-hrmust_run::Bool
: (default:false
) Set totrue
if the unit is must runprime_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_name
— Methodget_name(value::HydroPumpTurbine) -> String
Get HydroPumpTurbine
name
.
PowerSystems.get_active_power
— Methodget_active_power(value::HydroPumpTurbine) -> Any
Get HydroPumpTurbine
active_power
.
PowerSystems.get_active_power_limits
— Methodget_active_power_limits(
value::HydroPumpTurbine
) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}
Get HydroPumpTurbine
active_power_limits
.
PowerSystems.get_active_power_limits_pump
— Methodget_active_power_limits_pump(
value::HydroPumpTurbine
) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}
Get HydroPumpTurbine
active_power_limits_pump
.
PowerSystems.get_active_power_pump
— Methodget_active_power_pump(value::HydroPumpTurbine) -> Any
Get HydroPumpTurbine
active_power_pump
.
PowerSystems.get_available
— Methodget_available(value::HydroPumpTurbine) -> Bool
Get HydroPumpTurbine
available
.
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_head_reservoir
— Methodget_head_reservoir(
value::HydroPumpTurbine
) -> HydroReservoir
Get HydroPumpTurbine
head_reservoir
.
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, :down), <:Tuple{Any, Any}}}
Get HydroPumpTurbine
ramp_limits
.
PowerSystems.get_rating
— Methodget_rating(value::HydroPumpTurbine) -> Any
Get HydroPumpTurbine
rating
.
PowerSystems.get_reactive_power
— Methodget_reactive_power(value::HydroPumpTurbine) -> Any
Get HydroPumpTurbine
reactive_power
.
PowerSystems.get_reactive_power_limits
— Methodget_reactive_power_limits(
value::HydroPumpTurbine
) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}
Get HydroPumpTurbine
reactive_power_limits
.
PowerSystems.get_services
— Methodget_services(value::HydroPumpTurbine) -> Vector{Service}
Get HydroPumpTurbine
services
.
PowerSystems.get_tail_reservoir
— Methodget_tail_reservoir(
value::HydroPumpTurbine
) -> HydroReservoir
Get HydroPumpTurbine
tail_reservoir
.
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.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_available!
— Methodset_available!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine
available
.
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_head_reservoir!
— Methodset_head_reservoir!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine
head_reservoir
.
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_tail_reservoir!
— Methodset_tail_reservoir!(value::HydroPumpTurbine, val) -> Any
Set HydroPumpTurbine
tail_reservoir
.
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
.