Hybrid System
PowerSystems.HybridSystem — Typemutable struct HybridSystem <: StaticInjectionSubsystem
name::String
available::Bool
status::Bool
bus::ACBus
active_power::Float64
reactive_power::Float64
base_power::Float64
operation_cost::MarketBidCost
thermal_unit::Union{Nothing, ThermalGen}
electric_load::Union{Nothing, ElectricLoad}
storage::Union{Nothing, Storage}
renewable_unit::Union{Nothing, RenewableGen}
interconnection_impedance::ComplexF64
interconnection_rating::Union{Nothing, Float64}
input_active_power_limits::Union{Nothing, MinMax}
output_active_power_limits::Union{Nothing, MinMax}
reactive_power_limits::Union{Nothing, MinMax}
interconnection_efficiency::Union{
Nothing,
NamedTuple{(:in, :out), Tuple{Float64, Float64}},
}
services::Vector{Service}
dynamic_injector::Union{Nothing, DynamicInjection}
ext::Dict{String, Any}
internal::InfrastructureSystemsInternal
endA Hybrid System that includes a combination of renewable generation, load, thermal generation and/or energy storage.
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 simulationsstatus::Bool: Initial commitment condition at the start of a simulation (true= on orfalse= off)bus::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)base_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same asratingoperation_cost::MarketBidCost: Market bid cost to operate,MarketBidCostthermal_unit::Union{Nothing, ThermalGen}: A thermal generator with supertypeThermalGenelectric_load::Union{Nothing, ElectricLoad}: A load with supertypeElectricLoadstorage::Union{Nothing, Storage}: An energy storage system with supertypeStoragerenewable_unit::Union{Nothing, RenewableGen}: A renewable generator with supertypeRenewableGeninterconnection_impedance::ComplexF64: Impedance (typically in p.u.) between the hybrid system and the grid interconnectioninterconnection_rating::Union{Nothing, Float64}: Maximum rating of the hybrid system's interconnection with the transmission network (MVA)input_active_power_limits::Union{Nothing, @NamedTuple{min::Float64, max::Float64}}: Minimum and maximum stable input active power levels (MW)output_active_power_limits::Union{Nothing, @NamedTuple{min::Float64, max::Float64}}: Minimum and maximum stable output active power levels (MW)reactive_power_limits::Union{Nothing, @NamedTuple{min::Float64, max::Float64}}: Minimum and maximum reactive power limits (MVAR). Set toNothingif not applicableinterconnection_efficiency::Union{Nothing, @NamedTuple{in::Float64, out::Float64}}: Efficiency [0, 1.0] at the grid interconnection to model lossesinandoutof the common DC-side conversionservices::Vector{Service}: (optional) Services that this device contributes todynamic_injector::Union{Nothing, DynamicInjection}: (optional) Corresponding dynamic injection deviceext::Dict{String, Any}: (optional) An extra dictionary for users to add metadata that are not used in simulationinternal::InfrastructureSystems.InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
InfrastructureSystems.get_available — Methodget_available(value::HybridSystem) -> Bool
Return the available field of HybridSystem.
InfrastructureSystems.set_available! — Methodset_available!(value::HybridSystem, val) -> Any
Set the available field of HybridSystem.
PowerSystems.get_active_power — Methodget_active_power(value::HybridSystem) -> Float64
Return the active_power field of HybridSystem.
PowerSystems.get_base_power — Methodget_base_power(value::HybridSystem) -> Float64
Return the base_power field of HybridSystem.
PowerSystems.get_bus — Methodget_bus(value::HybridSystem) -> ACBus
Return the bus field of HybridSystem.
PowerSystems.get_dynamic_injector — Methodget_dynamic_injector(
value::HybridSystem
) -> Union{Nothing, DynamicInjection}
Return the dynamic_injector field of HybridSystem.
PowerSystems.get_electric_load — Methodget_electric_load(
value::HybridSystem
) -> Union{Nothing, ElectricLoad}
Return the electric_load field of HybridSystem.
PowerSystems.get_ext — Methodget_ext(value::HybridSystem) -> Dict{String, Any}
Return the ext field of HybridSystem.
PowerSystems.get_input_active_power_limits — Methodget_input_active_power_limits(
value::HybridSystem
) -> Union{Nothing, @NamedTuple{min::Float64, max::Float64}}
Return the input_active_power_limits field of HybridSystem.
PowerSystems.get_interconnection_impedance — Methodget_interconnection_impedance(
value::HybridSystem
) -> ComplexF64
Return the interconnection_impedance field of HybridSystem.
PowerSystems.get_interconnection_rating — Methodget_interconnection_rating(
value::HybridSystem
) -> Union{Nothing, Float64}
Return the interconnection_rating field of HybridSystem.
PowerSystems.get_operation_cost — Methodget_operation_cost(value::HybridSystem) -> MarketBidCost
Return the operation_cost field of HybridSystem.
PowerSystems.get_output_active_power_limits — Methodget_output_active_power_limits(
value::HybridSystem
) -> Union{Nothing, @NamedTuple{min::Float64, max::Float64}}
Return the output_active_power_limits field of HybridSystem.
PowerSystems.get_reactive_power — Methodget_reactive_power(value::HybridSystem) -> Float64
Return the reactive_power field of HybridSystem.
PowerSystems.get_reactive_power_limits — Methodget_reactive_power_limits(
value::HybridSystem
) -> Union{Nothing, @NamedTuple{min::Float64, max::Float64}}
Return the reactive_power_limits field of HybridSystem.
PowerSystems.get_renewable_unit — Methodget_renewable_unit(
value::HybridSystem
) -> Union{Nothing, RenewableGen}
Return the renewable_unit field of HybridSystem.
PowerSystems.get_services — Methodget_services(value::HybridSystem) -> Vector{Service}
Return the services field of HybridSystem.
PowerSystems.get_status — Methodget_status(value::HybridSystem) -> Bool
Return the status field of HybridSystem.
PowerSystems.get_storage — Methodget_storage(value::HybridSystem) -> Union{Nothing, Storage}
Return the storage field of HybridSystem.
PowerSystems.get_subcomponents — Methodget_subcomponents(hybrid::HybridSystem) -> Channel{Any}
Return an iterator over the subcomponents in the HybridSystem.
Examples
for subcomponent in get_subcomponents(hybrid_sys)
@show subcomponent
end
subcomponents = collect(get_subcomponents(hybrid_sys))PowerSystems.get_thermal_unit — Methodget_thermal_unit(
value::HybridSystem
) -> Union{Nothing, ThermalGen}
Return the thermal_unit field of HybridSystem.
PowerSystems.set_active_power! — Methodset_active_power!(value::HybridSystem, val) -> Any
Set the active_power field of HybridSystem.
PowerSystems.set_base_power! — Methodset_base_power!(value::HybridSystem, val) -> Any
Set the base_power field of HybridSystem.
PowerSystems.set_bus! — Methodset_bus!(value::HybridSystem, val) -> Any
Set the bus field of HybridSystem.
PowerSystems.set_ext! — Methodset_ext!(value::HybridSystem, val) -> Any
Set the ext field of HybridSystem.
PowerSystems.set_input_active_power_limits! — Methodset_input_active_power_limits!(
value::HybridSystem,
val
) -> Any
Set the input_active_power_limits field of HybridSystem.
PowerSystems.set_operation_cost! — Methodset_operation_cost!(value::HybridSystem, val) -> Any
Set the operation_cost field of HybridSystem.
PowerSystems.set_output_active_power_limits! — Methodset_output_active_power_limits!(
value::HybridSystem,
val
) -> Any
Set the output_active_power_limits field of HybridSystem.
PowerSystems.set_reactive_power! — Methodset_reactive_power!(value::HybridSystem, val) -> Any
Set the reactive_power field of HybridSystem.
PowerSystems.set_reactive_power_limits! — Methodset_reactive_power_limits!(value::HybridSystem, val) -> Any
Set the reactive_power_limits field of HybridSystem.
PowerSystems.set_services! — Methodset_services!(value::HybridSystem, val) -> Any
Set the services field of HybridSystem.
PowerSystems.set_status! — Methodset_status!(value::HybridSystem, val) -> Any
Set the status field of HybridSystem.