BatteryEMS

PowerSystems.BatteryEMSType
mutable 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 923
  • initial_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 to
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source