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: 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 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, 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. Options are listed herefuel::ThermalFuels: (default:ThermalFuels.OTHER) Prime mover fuel according to EIA 923. Options are listed hereservices::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 ThermalStandard available.
InfrastructureSystems.get_name — Methodget_name(value::ThermalStandard) -> String
Get ThermalStandard name.
InfrastructureSystems.set_available! — Methodset_available!(value::ThermalStandard, val) -> Any
Set ThermalStandard available.
PowerSystems.get_active_power — Methodget_active_power(value::ThermalStandard) -> Float64
Get ThermalStandard active_power.
PowerSystems.get_active_power_limits — Methodget_active_power_limits(
value::ThermalStandard
) -> @NamedTuple{min::Float64, max::Float64}
Get ThermalStandard active_power_limits.
PowerSystems.get_base_power — Methodget_base_power(value::ThermalStandard) -> Float64
Get ThermalStandard base_power.
PowerSystems.get_bus — Methodget_bus(value::ThermalStandard) -> ACBus
Get ThermalStandard bus.
PowerSystems.get_dynamic_injector — Methodget_dynamic_injector(
value::ThermalStandard
) -> Union{Nothing, DynamicInjection}
Get ThermalStandard dynamic_injector.
PowerSystems.get_ext — Methodget_ext(value::ThermalStandard) -> Dict{String, Any}
Get ThermalStandard ext.
PowerSystems.get_fuel — Methodget_fuel(value::ThermalStandard) -> ThermalFuels
Get ThermalStandard fuel.
PowerSystems.get_must_run — Methodget_must_run(value::ThermalStandard) -> Bool
Get ThermalStandard must_run.
PowerSystems.get_operation_cost — Methodget_operation_cost(
value::ThermalStandard
) -> Union{MarketBidCost, ThermalGenerationCost}
Get ThermalStandard operation_cost.
PowerSystems.get_prime_mover_type — Methodget_prime_mover_type(value::ThermalStandard) -> PrimeMovers
Get ThermalStandard prime_mover_type.
PowerSystems.get_ramp_limits — Methodget_ramp_limits(
value::ThermalStandard
) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}
Get ThermalStandard ramp_limits.
PowerSystems.get_rating — Methodget_rating(value::ThermalStandard) -> Float64
Get ThermalStandard rating.
PowerSystems.get_reactive_power — Methodget_reactive_power(value::ThermalStandard) -> Float64
Get ThermalStandard reactive_power.
PowerSystems.get_reactive_power_limits — Methodget_reactive_power_limits(
value::ThermalStandard
) -> Union{Nothing, @NamedTuple{min::Float64, max::Float64}}
Get ThermalStandard reactive_power_limits.
PowerSystems.get_services — Methodget_services(value::ThermalStandard) -> Vector{Service}
Get ThermalStandard services.
PowerSystems.get_status — Methodget_status(value::ThermalStandard) -> Bool
Get ThermalStandard status.
PowerSystems.get_time_at_status — Methodget_time_at_status(value::ThermalStandard) -> Float64
Get ThermalStandard time_at_status.
PowerSystems.get_time_limits — Methodget_time_limits(
value::ThermalStandard
) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}
Get ThermalStandard time_limits.
PowerSystems.set_active_power! — Methodset_active_power!(value::ThermalStandard, val) -> Any
Set ThermalStandard active_power.
PowerSystems.set_active_power_limits! — Methodset_active_power_limits!(value::ThermalStandard, val) -> Any
Set ThermalStandard active_power_limits.
PowerSystems.set_base_power! — Methodset_base_power!(value::ThermalStandard, val) -> Any
Set ThermalStandard base_power.
PowerSystems.set_bus! — Methodset_bus!(value::ThermalStandard, val) -> Any
Set ThermalStandard bus.
PowerSystems.set_ext! — Methodset_ext!(value::ThermalStandard, val) -> Any
Set ThermalStandard ext.
PowerSystems.set_fuel! — Methodset_fuel!(value::ThermalStandard, val) -> Any
Set ThermalStandard fuel.
PowerSystems.set_must_run! — Methodset_must_run!(value::ThermalStandard, val) -> Any
Set ThermalStandard must_run.
PowerSystems.set_operation_cost! — Methodset_operation_cost!(value::ThermalStandard, val) -> Any
Set ThermalStandard operation_cost.
PowerSystems.set_prime_mover_type! — Methodset_prime_mover_type!(value::ThermalStandard, val) -> Any
Set ThermalStandard prime_mover_type.
PowerSystems.set_ramp_limits! — Methodset_ramp_limits!(value::ThermalStandard, val) -> Any
Set ThermalStandard ramp_limits.
PowerSystems.set_rating! — Methodset_rating!(value::ThermalStandard, val) -> Any
Set ThermalStandard rating.
PowerSystems.set_reactive_power! — Methodset_reactive_power!(value::ThermalStandard, val) -> Any
Set ThermalStandard reactive_power.
PowerSystems.set_reactive_power_limits! — Methodset_reactive_power_limits!(
value::ThermalStandard,
val
) -> Any
Set ThermalStandard reactive_power_limits.
PowerSystems.set_services! — Methodset_services!(value::ThermalStandard, val) -> Any
Set ThermalStandard services.
PowerSystems.set_status! — Methodset_status!(value::ThermalStandard, val) -> Any
Set ThermalStandard status.
PowerSystems.set_time_at_status! — Methodset_time_at_status!(value::ThermalStandard, val) -> Any
Set ThermalStandard time_at_status.
PowerSystems.set_time_limits! — Methodset_time_limits!(value::ThermalStandard, val) -> Any
Set ThermalStandard time_limits.