HydroTurbine
PowerSystems.HydroTurbine
— Typemutable struct HydroTurbine <: 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}
outflow_limits::Union{Nothing, MinMax}
powerhouse_elevation::Float64
ramp_limits::Union{Nothing, UpDown}
time_limits::Union{Nothing, UpDown}
base_power::Float64
operation_cost::Union{HydroGenerationCost, MarketBidCost}
efficiency::Float64
conversion_factor::Float64
reservoirs::Vector{HydroReservoir}
services::Vector{Service}
dynamic_injector::Union{Nothing, DynamicInjection}
ext::Dict{String, Any}
internal::InfrastructureSystemsInternal
end
A hydropower generator that needs to be attached to a reservoir, suitable for modeling indenpendent turbines and 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 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), validation range:(0, nothing)
reactive_power_limits::Union{Nothing, MinMax}
: Minimum and maximum reactive power limits. Set toNothing
if not applicableoutflow_limits::Union{Nothing, MinMax}
: Turbine outflow limits in m3/s. Set toNothing
if 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)
operation_cost::Union{HydroGenerationCost, MarketBidCost}
: (default:HydroGenerationCost(nothing)
)OperationalCost
of generationefficiency::Float64
: (default:1.0
) Turbine 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-hrreservoirs::Vector{HydroReservoir}
: (default:Device[]
) Reservoir(s) that this component is connected toservices::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::HydroTurbine) -> String
Get HydroTurbine
name
.
PowerSystems.get_active_power
— Methodget_active_power(value::HydroTurbine) -> Any
Get HydroTurbine
active_power
.
PowerSystems.get_active_power_limits
— Methodget_active_power_limits(
value::HydroTurbine
) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}
Get HydroTurbine
active_power_limits
.
PowerSystems.get_available
— Methodget_available(value::HydroTurbine) -> Bool
Get HydroTurbine
available
.
PowerSystems.get_base_power
— Methodget_base_power(value::HydroTurbine) -> Float64
Get HydroTurbine
base_power
.
PowerSystems.get_bus
— Methodget_bus(value::HydroTurbine) -> ACBus
Get HydroTurbine
bus
.
PowerSystems.get_conversion_factor
— Methodget_conversion_factor(value::HydroTurbine) -> Float64
Get HydroTurbine
conversion_factor
.
PowerSystems.get_dynamic_injector
— Methodget_dynamic_injector(
value::HydroTurbine
) -> Union{Nothing, DynamicInjection}
Get HydroTurbine
dynamic_injector
.
PowerSystems.get_efficiency
— Methodget_efficiency(value::HydroTurbine) -> Float64
Get HydroTurbine
efficiency
.
PowerSystems.get_ext
— Methodget_ext(value::HydroTurbine) -> Dict{String, Any}
Get HydroTurbine
ext
.
PowerSystems.get_operation_cost
— Methodget_operation_cost(
value::HydroTurbine
) -> Union{HydroGenerationCost, MarketBidCost}
Get HydroTurbine
operation_cost
.
PowerSystems.get_outflow_limits
— Methodget_outflow_limits(
value::HydroTurbine
) -> Union{Nothing, @NamedTuple{min::Float64, max::Float64}}
Get HydroTurbine
outflow_limits
.
PowerSystems.get_powerhouse_elevation
— Methodget_powerhouse_elevation(value::HydroTurbine) -> Float64
Get HydroTurbine
powerhouse_elevation
.
PowerSystems.get_ramp_limits
— Methodget_ramp_limits(
value::HydroTurbine
) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}
Get HydroTurbine
ramp_limits
.
PowerSystems.get_rating
— Methodget_rating(value::HydroTurbine) -> Any
Get HydroTurbine
rating
.
PowerSystems.get_reactive_power
— Methodget_reactive_power(value::HydroTurbine) -> Any
Get HydroTurbine
reactive_power
.
PowerSystems.get_reactive_power_limits
— Methodget_reactive_power_limits(
value::HydroTurbine
) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}
Get HydroTurbine
reactive_power_limits
.
PowerSystems.get_reservoirs
— Methodget_reservoirs(
value::HydroTurbine
) -> Vector{HydroReservoir}
Get HydroTurbine
reservoirs
.
PowerSystems.get_services
— Methodget_services(value::HydroTurbine) -> Vector{Service}
Get HydroTurbine
services
.
PowerSystems.get_time_limits
— Methodget_time_limits(
value::HydroTurbine
) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}
Get HydroTurbine
time_limits
.
PowerSystems.set_active_power!
— Methodset_active_power!(value::HydroTurbine, val) -> Any
Set HydroTurbine
active_power
.
PowerSystems.set_active_power_limits!
— Methodset_active_power_limits!(value::HydroTurbine, val) -> Any
Set HydroTurbine
active_power_limits
.
PowerSystems.set_available!
— Methodset_available!(value::HydroTurbine, val) -> Any
Set HydroTurbine
available
.
PowerSystems.set_base_power!
— Methodset_base_power!(value::HydroTurbine, val) -> Any
Set HydroTurbine
base_power
.
PowerSystems.set_bus!
— Methodset_bus!(value::HydroTurbine, val) -> Any
Set HydroTurbine
bus
.
PowerSystems.set_conversion_factor!
— Methodset_conversion_factor!(value::HydroTurbine, val) -> Any
Set HydroTurbine
conversion_factor
.
PowerSystems.set_efficiency!
— Methodset_efficiency!(value::HydroTurbine, val) -> Any
Set HydroTurbine
efficiency
.
PowerSystems.set_ext!
— Methodset_ext!(value::HydroTurbine, val) -> Any
Set HydroTurbine
ext
.
PowerSystems.set_operation_cost!
— Methodset_operation_cost!(value::HydroTurbine, val) -> Any
Set HydroTurbine
operation_cost
.
PowerSystems.set_outflow_limits!
— Methodset_outflow_limits!(value::HydroTurbine, val) -> Any
Set HydroTurbine
outflow_limits
.
PowerSystems.set_powerhouse_elevation!
— Methodset_powerhouse_elevation!(value::HydroTurbine, val) -> Any
Set HydroTurbine
powerhouse_elevation
.
PowerSystems.set_ramp_limits!
— Methodset_ramp_limits!(value::HydroTurbine, val) -> Any
Set HydroTurbine
ramp_limits
.
PowerSystems.set_rating!
— Methodset_rating!(value::HydroTurbine, val) -> Any
Set HydroTurbine
rating
.
PowerSystems.set_reactive_power!
— Methodset_reactive_power!(value::HydroTurbine, val) -> Any
Set HydroTurbine
reactive_power
.
PowerSystems.set_reactive_power_limits!
— Methodset_reactive_power_limits!(value::HydroTurbine, val) -> Any
Set HydroTurbine
reactive_power_limits
.
PowerSystems.set_reservoirs!
— Methodset_reservoirs!(value::HydroTurbine, val) -> Any
Set HydroTurbine
reservoirs
.
PowerSystems.set_services!
— Methodset_services!(value::HydroTurbine, val) -> Any
Set HydroTurbine
services
.
PowerSystems.set_time_limits!
— Methodset_time_limits!(value::HydroTurbine, val) -> Any
Set HydroTurbine
time_limits
.