BatteryEMS
PowerSystems.BatteryEMS
— Typemutable struct BatteryEMS <: Storage
name::String
available::Bool
bus::ACBus
prime_mover_type::PrimeMovers
initial_energy::Float64
state_of_charge_limits::MinMax
rating::Float64
active_power::Float64
input_active_power_limits::MinMax
output_active_power_limits::MinMax
efficiency::NamedTuple{(:in, :out), Tuple{Float64, Float64}}
reactive_power::Float64
reactive_power_limits::Union{Nothing, MinMax}
base_power::Float64
operation_cost::StorageManagementCost
storage_target::Float64
cycle_limits::Int
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::ACBus
prime_mover_type::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::MinMax
: 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::MinMax
, validation range:(0, nothing)
, action if invalid:error
output_active_power_limits::MinMax
, 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, MinMax}
base_power::Float64
: Base power of the unit in MVA, validation range:(0, nothing)
, action if invalid:warn
operation_cost::StorageManagementCost
storage_target::Float64
: Storage target at the end of simulation as ratio of storage capacity.cycle_limits::Int
: Storage Maximum number of cycles per yearservices::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
.
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) -> ACBus
Get BatteryEMS
bus
.
PowerSystems.get_cycle_limits
— Methodget_cycle_limits(value::BatteryEMS) -> Int64
Get BatteryEMS
cycle_limits
.
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::Float64, out::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), <:Tuple{Any, Any}}
Get BatteryEMS
input_active_power_limits
.
PowerSystems.get_operation_cost
— Methodget_operation_cost(
value::BatteryEMS
) -> StorageManagementCost
Get BatteryEMS
operation_cost
.
PowerSystems.get_output_active_power_limits
— Methodget_output_active_power_limits(
value::BatteryEMS
) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}
Get BatteryEMS
output_active_power_limits
.
PowerSystems.get_prime_mover_type
— Methodget_prime_mover_type(value::BatteryEMS) -> PrimeMovers
Get BatteryEMS
prime_mover_type
.
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), <: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), <: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_cycle_limits!
— Methodset_cycle_limits!(value::BatteryEMS, val) -> Any
Set BatteryEMS
cycle_limits
.
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_type!
— Methodset_prime_mover_type!(value::BatteryEMS, val) -> Any
Set BatteryEMS
prime_mover_type
.
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
.