PowerSystems.OutputCurrentLimiter

HybridOutputCurrentLimiter

PowerSystems.HybridOutputCurrentLimiterType
mutable struct HybridOutputCurrentLimiter <: OutputCurrentLimiter
    I_max::Float64
    rv::Float64
    lv::Float64
    ext::Dict{String, Any}
end

Parameters of Hybrid Current Controller Limiter. Regulates the magnitude of the inverter output current, but with a closed loop feedback regulated by a virtual impedance which provides ant-windup. Described in: Novel Hybrid Current Limiter for Grid-Forming Inverter Control During Unbalanced Faults by Baeckland and Seo, 2023

Arguments

  • I_max::Float64: Maximum limit on current controller input current (device base), validation range: (0, nothing)
  • rv::Float64: Real part of the virtual impedance, validation range: (0, nothing)
  • lv::Float64: Imaginary part of the virtual impedance, validation range: (0, nothing)
  • ext::Dict{String, Any}: (default: Dict{String, Any}())
source

InstantaneousOutputCurrentLimiter

PowerSystems.InstantaneousOutputCurrentLimiterType
mutable struct InstantaneousOutputCurrentLimiter <: OutputCurrentLimiter
    Id_max::Float64
    Iq_max::Float64
    ext::Dict{String, Any}
end

Parameters of Instantaneous (Square) Current Controller Limiter. Regulates inverter output current on the d and q axis separately

Arguments

  • Id_max::Float64: Maximum limit on d-axis current controller input current in pu (DEVICE_BASE), validation range: (0, nothing)
  • Iq_max::Float64: Maximum limit on d-axis current controller input current in pu (DEVICE_BASE), validation range: (0, nothing)
  • ext::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.
source

MagnitudeOutputCurrentLimiter

PowerSystems.MagnitudeOutputCurrentLimiterType
mutable struct MagnitudeOutputCurrentLimiter <: OutputCurrentLimiter
    I_max::Float64
    ext::Dict{String, Any}
end

Parameters of Magnitude (Circular) Current Controller Limiter. Regulates only the magnitude of the inverter output current

Arguments

  • I_max::Float64: Maximum limit on current controller input current in pu (DEVICE_BASE), validation range: (0, nothing)
  • ext::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.
source

PriorityOutputCurrentLimiter

PowerSystems.PriorityOutputCurrentLimiterType
mutable struct PriorityOutputCurrentLimiter <: OutputCurrentLimiter
    I_max::Float64
    ϕ_I::Float64
    ext::Dict{String, Any}
end

Parameters of Priority-Based Current Controller Limiter. Regulates the magnitude of the inverter output current and prioritizes a specific angle for the resultant current signal

Arguments

  • I_max::Float64: Maximum limit on current controller input current in pu (DEVICE_BASE), validation range: (0, nothing)
  • ϕ_I::Float64: Pre-defined angle (measured against the d-axis) for Iref once limit Imax is hit, validation range: (-1.571, 1.571)
  • ext::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.
source

SaturationOutputCurrentLimiter

PowerSystems.SaturationOutputCurrentLimiterType
mutable struct SaturationOutputCurrentLimiter <: OutputCurrentLimiter
    I_max::Float64
    kw::Float64
    ext::Dict{String, Any}
end

Parameters of Saturation Current Controller Limiter. Regulates the magnitude of the inverter output current, and applies a closed loop feedback regulated by a static gain which provides ant-windup

Arguments

  • I_max::Float64: Maximum limit on current controller input current (device base), validation range: (0, nothing)
  • kw::Float64: Defined feedback gain, validation range: (0, nothing)
  • ext::Dict{String, Any}: (default: Dict{String, Any}())
source