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
end
A 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.,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 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_limits
reactive_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 applicableramp_limits::Union{Nothing, UpDown}
: ramp up and ramp down limits in MW/min, validation range:(0, nothing)
operation_cost::Union{ThermalGenerationCost, MarketBidCost}
:OperationalCost
of 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 totrue
if 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 bystatus
dynamic_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, such as latitude and longitude.internal::InfrastructureSystemsInternal
: (Do not modify.) PowerSystems.jl internal reference
InfrastructureSystems.get_name
— Methodget_name(value::ThermalStandard) -> String
Get ThermalStandard
name
.
PowerSystems.get_active_power
— Methodget_active_power(value::ThermalStandard) -> Any
Get ThermalStandard
active_power
.
PowerSystems.get_active_power_limits
— Methodget_active_power_limits(
value::ThermalStandard
) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}
Get ThermalStandard
active_power_limits
.
PowerSystems.get_available
— Methodget_available(value::ThermalStandard) -> Bool
Get ThermalStandard
available
.
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, :down), <:Tuple{Any, Any}}}
Get ThermalStandard
ramp_limits
.
PowerSystems.get_rating
— Methodget_rating(value::ThermalStandard) -> Any
Get ThermalStandard
rating
.
PowerSystems.get_reactive_power
— Methodget_reactive_power(value::ThermalStandard) -> Any
Get ThermalStandard
reactive_power
.
PowerSystems.get_reactive_power_limits
— Methodget_reactive_power_limits(
value::ThermalStandard
) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}
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_available!
— Methodset_available!(value::ThermalStandard, val) -> Any
Set ThermalStandard
available
.
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
.