ThermalStandard
PowerSystems.ThermalStandard — Typemutable struct ThermalStandard <: ThermalGen
name::String
available::Bool
status::Bool
bus::ACBus
active_power::Float64
reactive_power::Float64
rating::Float64
active_power_limits::MinMax
reactive_power_limits::Union{Nothing, MinMax}
ramp_limits::Union{Nothing, UpDown}
operation_cost::Union{ThermalGenerationCost, MarketBidCost}
base_power::Float64
time_limits::Union{Nothing, UpDown}
must_run::Bool
prime_mover_type::PrimeMovers
fuel::ThermalFuels
services::Vector{Service}
time_at_status::Float64
dynamic_injector::Union{Nothing, DynamicInjection}
ext::Dict{String, Any}
internal::InfrastructureSystemsInternal
endA thermal generator, such as a fossil fuel and nuclear generator.
This is a standard representation with options to include a minimum up time, minimum down time, and ramp limits. For a more detailed representation the start-up and shut-down processes, including hot starts, see ThermalMultiStart
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: TheACBusthat 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 used, validation range:active_power_limitsreactive_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), validation range:(0, nothing)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)operation_cost::Union{ThermalGenerationCost, MarketBidCost}:OperationalCostof generationbase_power::Float64: Base power of the unit (MVA) for per unitization, validation range:(0.0001, nothing)time_limits::Union{Nothing, UpDown}: (default:nothing) Minimum up and Minimum down time limits in hours, validation range:(0, nothing)must_run::Bool: (default:false) Set totrueif the unit is must runprime_mover_type::PrimeMovers: (default:PrimeMovers.OT) Prime mover technology according to EIA 923. SeePrimeMovers.fuel::ThermalFuels: (default:ThermalFuels.OTHER) Prime mover fuel according to EIA 923. SeeThermalFuels.services::Vector{Service}: (default:Device[]) Services that this device contributes totime_at_status::Float64: (default:INFINITE_TIME) Time (e.g.,Hours(6)) the generator has been on or off, as indicated bystatusdynamic_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::ThermalStandard) -> Bool
Get ThermalStandardavailable.
InfrastructureSystems.get_name — Methodget_name(value::ThermalStandard) -> String
Get ThermalStandardname.
InfrastructureSystems.set_available! — Methodset_available!(value::ThermalStandard, val) -> Any
Set ThermalStandardavailable.
PowerSystems.get_active_power — Methodget_active_power(value::ThermalStandard) -> Float64
Get ThermalStandardactive_power.
PowerSystems.get_active_power_limits — Methodget_active_power_limits(
value::ThermalStandard
) -> @NamedTuple{min::Float64, max::Float64}
Get ThermalStandardactive_power_limits.
PowerSystems.get_base_power — Methodget_base_power(value::ThermalStandard) -> Float64
Get ThermalStandardbase_power.
PowerSystems.get_bus — Methodget_bus(value::ThermalStandard) -> ACBus
Get ThermalStandardbus.
PowerSystems.get_dynamic_injector — Methodget_dynamic_injector(
value::ThermalStandard
) -> Union{Nothing, DynamicInjection}
Get ThermalStandarddynamic_injector.
PowerSystems.get_ext — Methodget_ext(value::ThermalStandard) -> Dict{String, Any}
Get ThermalStandardext.
PowerSystems.get_fuel — Methodget_fuel(value::ThermalStandard) -> ThermalFuels
Get ThermalStandardfuel.
PowerSystems.get_must_run — Methodget_must_run(value::ThermalStandard) -> Bool
Get ThermalStandardmust_run.
PowerSystems.get_operation_cost — Methodget_operation_cost(
value::ThermalStandard
) -> Union{MarketBidCost, ThermalGenerationCost}
Get ThermalStandardoperation_cost.
PowerSystems.get_prime_mover_type — Methodget_prime_mover_type(value::ThermalStandard) -> PrimeMovers
Get ThermalStandardprime_mover_type.
PowerSystems.get_ramp_limits — Methodget_ramp_limits(
value::ThermalStandard
) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}
Get ThermalStandardramp_limits.
PowerSystems.get_rating — Methodget_rating(value::ThermalStandard) -> Float64
Get ThermalStandardrating.
PowerSystems.get_reactive_power — Methodget_reactive_power(value::ThermalStandard) -> Float64
Get ThermalStandardreactive_power.
PowerSystems.get_reactive_power_limits — Methodget_reactive_power_limits(
value::ThermalStandard
) -> Union{Nothing, @NamedTuple{min::Float64, max::Float64}}
Get ThermalStandardreactive_power_limits.
PowerSystems.get_services — Methodget_services(value::ThermalStandard) -> Vector{Service}
Get ThermalStandardservices.
PowerSystems.get_status — Methodget_status(value::ThermalStandard) -> Bool
Get ThermalStandardstatus.
PowerSystems.get_time_at_status — Methodget_time_at_status(value::ThermalStandard) -> Float64
Get ThermalStandardtime_at_status.
PowerSystems.get_time_limits — Methodget_time_limits(
value::ThermalStandard
) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}
Get ThermalStandardtime_limits.
PowerSystems.set_active_power! — Methodset_active_power!(value::ThermalStandard, val) -> Any
Set ThermalStandardactive_power.
PowerSystems.set_active_power_limits! — Methodset_active_power_limits!(value::ThermalStandard, val) -> Any
Set ThermalStandardactive_power_limits.
PowerSystems.set_base_power! — Methodset_base_power!(value::ThermalStandard, val) -> Any
Set ThermalStandardbase_power.
PowerSystems.set_bus! — Methodset_bus!(value::ThermalStandard, val) -> Any
Set ThermalStandardbus.
PowerSystems.set_ext! — Methodset_ext!(value::ThermalStandard, val) -> Any
Set ThermalStandardext.
PowerSystems.set_fuel! — Methodset_fuel!(value::ThermalStandard, val) -> Any
Set ThermalStandardfuel.
PowerSystems.set_must_run! — Methodset_must_run!(value::ThermalStandard, val) -> Any
Set ThermalStandardmust_run.
PowerSystems.set_operation_cost! — Methodset_operation_cost!(value::ThermalStandard, val) -> Any
Set ThermalStandardoperation_cost.
PowerSystems.set_prime_mover_type! — Methodset_prime_mover_type!(value::ThermalStandard, val) -> Any
Set ThermalStandardprime_mover_type.
PowerSystems.set_ramp_limits! — Methodset_ramp_limits!(value::ThermalStandard, val) -> Any
Set ThermalStandardramp_limits.
PowerSystems.set_rating! — Methodset_rating!(value::ThermalStandard, val) -> Any
Set ThermalStandardrating.
PowerSystems.set_reactive_power! — Methodset_reactive_power!(value::ThermalStandard, val) -> Any
Set ThermalStandardreactive_power.
PowerSystems.set_reactive_power_limits! — Methodset_reactive_power_limits!(
value::ThermalStandard,
val
) -> Any
Set ThermalStandardreactive_power_limits.
PowerSystems.set_services! — Methodset_services!(value::ThermalStandard, val) -> Any
Set ThermalStandardservices.
PowerSystems.set_status! — Methodset_status!(value::ThermalStandard, val) -> Any
Set ThermalStandardstatus.
PowerSystems.set_time_at_status! — Methodset_time_at_status!(value::ThermalStandard, val) -> Any
Set ThermalStandardtime_at_status.
PowerSystems.set_time_limits! — Methodset_time_limits!(value::ThermalStandard, val) -> Any
Set ThermalStandardtime_limits.