BatteryEMS
PowerSystems.BatteryEMS
— Typemutable struct BatteryEMS <: Storage
name::String
available::Bool
bus::Bus
prime_mover::PrimeMovers
initial_energy::Float64
state_of_charge_limits::NamedTuple{(:min, :max), Tuple{Float64, Float64}}
rating::Float64
active_power::Float64
input_active_power_limits::NamedTuple{(:min, :max), Tuple{Float64, Float64}}
output_active_power_limits::NamedTuple{(:min, :max), Tuple{Float64, Float64}}
efficiency::NamedTuple{(:in, :out), Tuple{Float64, Float64}}
reactive_power::Float64
reactive_power_limits::Union{Nothing, Min_Max}
base_power::Float64
operation_cost::Union{Nothing, OperationalCost}
storage_target::Float64
services::Vector{Service}
dynamic_injector::Union{Nothing, DynamicInjection}
ext::Dict{String, Any}
time_series_container::InfrastructureSystems.TimeSeriesContainer
internal::InfrastructureSystemsInternal
end
Data structure for a battery compatible with energy management formulations.
Arguments
name::String
available::Bool
bus::Bus
prime_mover::PrimeMovers
: Prime mover technology according to EIA 923initial_energy::Float64
: State of Charge of the Battery p.u.-hr, validation range:(0, nothing)
, action if invalid:error
state_of_charge_limits::NamedTuple{(:min, :max), Tuple{Float64, Float64}}
: Maximum and Minimum storage capacity in p.u.-hr, validation range:(0, nothing)
, action if invalid:error
rating::Float64
active_power::Float64
input_active_power_limits::NamedTuple{(:min, :max), Tuple{Float64, Float64}}
, validation range:(0, nothing)
, action if invalid:error
output_active_power_limits::NamedTuple{(:min, :max), Tuple{Float64, Float64}}
, validation range:(0, nothing)
, action if invalid:error
efficiency::NamedTuple{(:in, :out), Tuple{Float64, Float64}}
, validation range:(0, 1)
, action if invalid:warn
reactive_power::Float64
, validation range:reactive_power_limits
, action if invalid:warn
reactive_power_limits::Union{Nothing, Min_Max}
base_power::Float64
: Base power of the unit in MVA, validation range:(0, nothing)
, action if invalid:warn
operation_cost::Union{Nothing, OperationalCost}
storage_target::Float64
: Storage target at the end of simulation as ratio of storage capacity.services::Vector{Service}
: Services that this device contributes todynamic_injector::Union{Nothing, DynamicInjection}
: corresponding dynamic injection deviceext::Dict{String, Any}
time_series_container::InfrastructureSystems.TimeSeriesContainer
: internal time_series storageinternal::InfrastructureSystemsInternal
: power system internal reference, do not modify
InfrastructureSystems.get_name
— Methodget_name(value::BatteryEMS) -> String
Get BatteryEMS
name
.
InfrastructureSystems.get_time_series_container
— Methodget_time_series_container(value::BatteryEMS) -> InfrastructureSystems.TimeSeriesContainer
Get BatteryEMS
time_series_container
.
InfrastructureSystems.set_name!
— Methodset_name!(value::BatteryEMS, val) -> Any
Set BatteryEMS
name
.
PowerSystems.get_active_power
— Methodget_active_power(value::BatteryEMS) -> Any
Get BatteryEMS
active_power
.
PowerSystems.get_available
— Methodget_available(value::BatteryEMS) -> Bool
Get BatteryEMS
available
.
PowerSystems.get_base_power
— Methodget_base_power(value::BatteryEMS) -> Float64
Get BatteryEMS
base_power
.
PowerSystems.get_bus
— Methodget_bus(value::BatteryEMS) -> Bus
Get BatteryEMS
bus
.
PowerSystems.get_dynamic_injector
— Methodget_dynamic_injector(value::BatteryEMS) -> Union{Nothing, DynamicInjection}
Get BatteryEMS
dynamic_injector
.
PowerSystems.get_efficiency
— Methodget_efficiency(value::BatteryEMS) -> NamedTuple{(:in, :out), Tuple{Float64, Float64}}
Get BatteryEMS
efficiency
.
PowerSystems.get_ext
— Methodget_ext(value::BatteryEMS) -> Dict{String, Any}
Get BatteryEMS
ext
.
PowerSystems.get_initial_energy
— Methodget_initial_energy(value::BatteryEMS) -> Any
Get BatteryEMS
initial_energy
.
PowerSystems.get_input_active_power_limits
— Methodget_input_active_power_limits(value::BatteryEMS) -> NamedTuple{(:min, :max), _A} where _A<:Tuple{Any, Any}
Get BatteryEMS
input_active_power_limits
.
PowerSystems.get_operation_cost
— Methodget_operation_cost(value::BatteryEMS) -> Union{Nothing, PowerSystems.OperationalCost}
Get BatteryEMS
operation_cost
.
PowerSystems.get_output_active_power_limits
— Methodget_output_active_power_limits(value::BatteryEMS) -> NamedTuple{(:min, :max), _A} where _A<:Tuple{Any, Any}
Get BatteryEMS
output_active_power_limits
.
PowerSystems.get_prime_mover
— Methodget_prime_mover(value::BatteryEMS) -> PrimeMovers
Get BatteryEMS
prime_mover
.
PowerSystems.get_rating
— Methodget_rating(value::BatteryEMS) -> Any
Get BatteryEMS
rating
.
PowerSystems.get_reactive_power
— Methodget_reactive_power(value::BatteryEMS) -> Any
Get BatteryEMS
reactive_power
.
PowerSystems.get_reactive_power_limits
— Methodget_reactive_power_limits(value::BatteryEMS) -> Union{Nothing, NamedTuple{(:min, :max), _A} where _A<:Tuple{Any, Any}}
Get BatteryEMS
reactive_power_limits
.
PowerSystems.get_services
— Methodget_services(value::BatteryEMS) -> Vector{Service}
Get BatteryEMS
services
.
PowerSystems.get_state_of_charge_limits
— Methodget_state_of_charge_limits(value::BatteryEMS) -> NamedTuple{(:min, :max), _A} where _A<:Tuple{Any, Any}
Get BatteryEMS
state_of_charge_limits
.
PowerSystems.get_storage_target
— Methodget_storage_target(value::BatteryEMS) -> Float64
Get BatteryEMS
storage_target
.
PowerSystems.set_active_power!
— Methodset_active_power!(value::BatteryEMS, val) -> Any
Set BatteryEMS
active_power
.
PowerSystems.set_available!
— Methodset_available!(value::BatteryEMS, val) -> Any
Set BatteryEMS
available
.
PowerSystems.set_base_power!
— Methodset_base_power!(value::BatteryEMS, val) -> Any
Set BatteryEMS
base_power
.
PowerSystems.set_bus!
— Methodset_bus!(value::BatteryEMS, val) -> Any
Set BatteryEMS
bus
.
PowerSystems.set_efficiency!
— Methodset_efficiency!(value::BatteryEMS, val) -> Any
Set BatteryEMS
efficiency
.
PowerSystems.set_ext!
— Methodset_ext!(value::BatteryEMS, val) -> Any
Set BatteryEMS
ext
.
PowerSystems.set_initial_energy!
— Methodset_initial_energy!(value::BatteryEMS, val) -> Any
Set BatteryEMS
initial_energy
.
PowerSystems.set_input_active_power_limits!
— Methodset_input_active_power_limits!(value::BatteryEMS, val) -> Any
Set BatteryEMS
input_active_power_limits
.
PowerSystems.set_operation_cost!
— Methodset_operation_cost!(value::BatteryEMS, val) -> Any
Set BatteryEMS
operation_cost
.
PowerSystems.set_output_active_power_limits!
— Methodset_output_active_power_limits!(value::BatteryEMS, val) -> Any
Set BatteryEMS
output_active_power_limits
.
PowerSystems.set_prime_mover!
— Methodset_prime_mover!(value::BatteryEMS, val) -> Any
Set BatteryEMS
prime_mover
.
PowerSystems.set_rating!
— Methodset_rating!(value::BatteryEMS, val) -> Any
Set BatteryEMS
rating
.
PowerSystems.set_reactive_power!
— Methodset_reactive_power!(value::BatteryEMS, val) -> Any
Set BatteryEMS
reactive_power
.
PowerSystems.set_reactive_power_limits!
— Methodset_reactive_power_limits!(value::BatteryEMS, val) -> Any
Set BatteryEMS
reactive_power_limits
.
PowerSystems.set_services!
— Methodset_services!(value::BatteryEMS, val) -> Any
Set BatteryEMS
services
.
PowerSystems.set_state_of_charge_limits!
— Methodset_state_of_charge_limits!(value::BatteryEMS, val) -> Any
Set BatteryEMS
state_of_charge_limits
.
PowerSystems.set_storage_target!
— Methodset_storage_target!(value::BatteryEMS, val) -> Any
Set BatteryEMS
storage_target
.
PowerSystems.set_time_series_container!
— Methodset_time_series_container!(value::BatteryEMS, val) -> Any
Set BatteryEMS
time_series_container
.