OuterControl
The outer control is composed by the ReactivePowerControl and the ActivePowerControl types.
PowerSystems.OuterControl — Typemutable struct OuterControl{
A <: ActivePowerControl,
R <: ReactivePowerControl
} <: DynamicInverterComponent
active_power::A
reactive_power::R
ext::Dict{String, Any}
states::Vector{Symbol}
n_states::Int
endParameters of a Outer-Loop controller using a active power controller and a reactive power droop controller.
Arguments
A <: ActivePowerControl: Active power controller (typically droop or virtual inertia).R <: ReactivePowerControl: Reactive power controller (typically droop).ext::Dict{String, Any}states::Vector{Symbol}: Vector of states (will depend on the components).n_states::Int: Number of states (will depend on the components).
Virtual Inertia
PowerSystems.VirtualInertia — Typemutable struct VirtualInertia <: ActivePowerControl
Ta::Float64
kd::Float64
kω::Float64
P_ref::Float64
ext::Dict{String, Any}
states::Vector{Symbol}
n_states::Int
endParameters of a Virtual Inertia with SRF using VSM for active power controller
Arguments
Ta::Float64: VSM inertia constant, validation range:(0, nothing)kd::Float64: VSM damping constant, validation range:(0, nothing)kω::Float64: frequency droop gain, validation range:(0, nothing)P_ref::Float64: Reference Power Set-point, validation range:(0, nothing)ext::Dict{String, Any}states::Vector{Symbol}: The states of the VirtualInertia model are:
ω_oc: Speed of the rotating reference frame of the virtual synchronous generator model,
θ_oc: Phase angle displacement of the virtual synchronous generator modeln_states::Int: VirtualInertia has two states
PowerSystems.get_P_ref — Methodget_P_ref(value::VirtualInertia) -> Float64
Get VirtualInertia P_ref.
PowerSystems.get_Ta — Methodget_Ta(value::VirtualInertia) -> Float64
Get VirtualInertia Ta.
PowerSystems.get_ext — Methodget_ext(value::VirtualInertia) -> Dict{String, Any}
Get VirtualInertia ext.
PowerSystems.get_kd — Methodget_kd(value::VirtualInertia) -> Float64
Get VirtualInertia kd.
PowerSystems.get_kω — Methodget_kω(value::VirtualInertia) -> Float64
Get VirtualInertia kω.
PowerSystems.get_n_states — Methodget_n_states(value::VirtualInertia) -> Int64
Get VirtualInertia n_states.
PowerSystems.get_states — Methodget_states(value::VirtualInertia) -> Vector{Symbol}
Get VirtualInertia states.
PowerSystems.set_P_ref! — Methodset_P_ref!(value::VirtualInertia, val) -> Any
Set VirtualInertia P_ref.
PowerSystems.set_Ta! — Methodset_Ta!(value::VirtualInertia, val) -> Any
Set VirtualInertia Ta.
PowerSystems.set_ext! — Methodset_ext!(value::VirtualInertia, val) -> Any
Set VirtualInertia ext.
PowerSystems.set_kd! — Methodset_kd!(value::VirtualInertia, val) -> Any
Set VirtualInertia kd.
PowerSystems.set_kω! — Methodset_kω!(value::VirtualInertia, val) -> Any
Set VirtualInertia kω.
Reactive Power Droop
PowerSystems.ReactivePowerDroop — Typemutable struct ReactivePowerDroop <: ReactivePowerControl
kq::Float64
ωf::Float64
V_ref::Float64
ext::Dict{String, Any}
states::Vector{Symbol}
n_states::Int
endParameters of a Reactive Power droop controller
Arguments
kq::Float64: frequency droop gain, validation range:(0, nothing)ωf::Float64: filter frequency cutoff, validation range:(0, nothing)V_ref::Float64: Reference Voltage Set-point, validation range:(0, nothing)ext::Dict{String, Any}states::Vector{Symbol}: The states of the ReactivePowerDroop model are:
q_oc: Filtered reactive output powern_states::Int: ReactivePowerDroop has 1 state
PowerSystems.get_V_ref — Methodget_V_ref(value::ReactivePowerDroop) -> Float64
Get ReactivePowerDroop V_ref.
PowerSystems.get_ext — Methodget_ext(value::ReactivePowerDroop) -> Dict{String, Any}
Get ReactivePowerDroop ext.
PowerSystems.get_kq — Methodget_kq(value::ReactivePowerDroop) -> Float64
Get ReactivePowerDroop kq.
PowerSystems.get_n_states — Methodget_n_states(value::ReactivePowerDroop) -> Int64
Get ReactivePowerDroop n_states.
PowerSystems.get_states — Methodget_states(value::ReactivePowerDroop) -> Vector{Symbol}
Get ReactivePowerDroop states.
PowerSystems.get_ωf — Methodget_ωf(value::ReactivePowerDroop) -> Float64
Get ReactivePowerDroop ωf.
PowerSystems.set_V_ref! — Methodset_V_ref!(value::ReactivePowerDroop, val) -> Any
Set ReactivePowerDroop V_ref.
PowerSystems.set_ext! — Methodset_ext!(value::ReactivePowerDroop, val) -> Any
Set ReactivePowerDroop ext.
PowerSystems.set_kq! — Methodset_kq!(value::ReactivePowerDroop, val) -> Any
Set ReactivePowerDroop kq.
PowerSystems.set_ωf! — Methodset_ωf!(value::ReactivePowerDroop, val) -> Any
Set ReactivePowerDroop ωf.