GenericDER
PowerSystems.GenericDER
— Typemutable struct GenericDER <: DynamicInjection
name::String
Qref_Flag::Int
PQ_Flag::Int
Gen_Flag::Int
PerOp_Flag::Int
Recon_Flag::Int
Trv::Float64
VV_pnts::NamedTuple{(:V1, :V2, :V3, :V4), Tuple{Float64, Float64, Float64, Float64}}
Q_lim::MinMax
Tp::Float64
e_lim::MinMax
Kpq::Float64
Kiq::Float64
Iqr_lim::MinMax
I_max::Float64
Tg::Float64
kWh_Cap::Float64
SOC_ini::Float64
SOC_lim::MinMax
Trf::Float64
fdbd_pnts::NamedTuple{(:fdbd1, :fdbd2), Tuple{Float64, Float64}}
D_dn::Float64
D_up::Float64
fe_lim::MinMax
Kpp::Float64
Kip::Float64
P_lim::MinMax
dP_lim::MinMax
T_pord::Float64
rrpwr::Float64
VRT_pnts::NamedTuple{(:vrt1, :vrt2, :vrt3, :vrt4, :vrt5), Tuple{Float64, Float64, Float64, Float64, Float64}}
TVRT_pnts::NamedTuple{(:tvrt1, :tvrt2, :tvrt3), Tuple{Float64, Float64, Float64}}
tV_delay::Float64
VES_lim::MinMax
FRT_pnts::NamedTuple{(:frt1, :frt2, :frt3, :frt4), Tuple{Float64, Float64, Float64, Float64}}
TFRT_pnts::NamedTuple{(:tfrt1, :tfrt2), Tuple{Float64, Float64}}
tF_delay::Float64
FES_lim::MinMax
Pfa_ref::Float64
Q_ref::Float64
P_ref::Float64
base_power::Float64
states::Vector{Symbol}
n_states::Int
ext::Dict{String, Any}
internal::InfrastructureSystemsInternal
end
Parameters of a Generic Distributed Energy Resource Model. Based on "Modeling Framework and Coordination of DER and Flexible Loads for Ancillary Service Provision."
Arguments
name::String
: Name of the component. Components of the same type (e.g.,PowerLoad
) must have unique names, but components of different types (e.g.,PowerLoad
andACBus
) can have the same nameQref_Flag::Int
: Reactive Power Control Mode. 1 VoltVar Control, 2 Constant Q Control, 3 Constant PF Control, validation range:(1, 3)
PQ_Flag::Int
: Active and reactive power priority mode. 0 for Q priority, 1 for P priority, validation range:(0, 1)
Gen_Flag::Int
: Define generator or storage system. 0 unit is a storage device, 1 unit is a generator, validation range:(0, 1)
PerOp_Flag::Int
: Defines operation of permisible region in VRT characteristic. 0 for cease, 1 for continuous operation, validation range:(0, 1)
Recon_Flag::Int
: Defines if DER can reconnect after voltage ride-through disconnection, validation range:(0, 1)
Trv::Float64
: Voltage measurement transducer's time constant, in s, validation range:(0, nothing)
VV_pnts::NamedTuple{(:V1, :V2, :V3, :V4), Tuple{Float64, Float64, Float64, Float64}}
: Y-axis Volt-var curve points (V1,V2,V3,V4)Q_lim::MinMax
: Reactive power limits in pu (Qmin, Qmax)Tp::Float64
: Power measurement transducer's time constant, in s, validation range:(0, nothing)
e_lim::MinMax
: Error limit in PI controller for q control (emin, emax)Kpq::Float64
: PI controller proportional gain for q control, validation range:(0, nothing)
Kiq::Float64
: PI controller integral gain for q control, validation range:(0, nothing)
Iqr_lim::MinMax
: Limit on rate of change for reactive current (pu/s) (Iqrmin, Iqrmax)I_max::Float64
: Max. inverter's current, validation range:(0, nothing)
Tg::Float64
: Current control's time constant, in s, validation range:(0, nothing)
kWh_Cap::Float64
: BESS capacity in kWh, validation range:(0, nothing)
SOC_ini::Float64
: Initial state of charge (SOC) in pu, validation range:(0, 1)
SOC_lim::MinMax
: Battery's SOC limits (SOCmin, SOCmax)Trf::Float64
: Time constant to estimate system frequency, in s, validation range:(0, nothing)
fdbd_pnts::NamedTuple{(:fdbd1, :fdbd2), Tuple{Float64, Float64}}
: Frequency error dead band thresholds(fdbd1, fdbd2)
D_dn::Float64
: reciprocal of droop for over-frequency conditions, in pu, validation range:(0, nothing)
D_up::Float64
: reciprocal of droop for under-frequency conditions, in pu, validation range:(0, nothing)
fe_lim::MinMax
: Frequency error limits in pu (femin, femax)Kpp::Float64
: PI controller proportional gain for p control, validation range:(0, nothing)
Kip::Float64
: PI controller integral gain for p control, validation range:(0, nothing)
P_lim::MinMax
: Active power limits in pu (Pmin, Pmax)dP_lim::MinMax
: Ramp rate limits for active power in pu/s (dPmin, dPmax)T_pord::Float64
: Power filter time constant in s, validation range:(0, nothing)
rrpwr::Float64
: Ramp rate for real power increase following a fault, in pu/s, validation range:(0, nothing)
VRT_pnts::NamedTuple{(:vrt1, :vrt2, :vrt3, :vrt4, :vrt5), Tuple{Float64, Float64, Float64, Float64, Float64}}
: Voltage ride through v points (vrt1,vrt2,vrt3,vrt4,vrt5)TVRT_pnts::NamedTuple{(:tvrt1, :tvrt2, :tvrt3), Tuple{Float64, Float64, Float64}}
: Voltage ride through time points (tvrt1,tvrt2,tvrt3)tV_delay::Float64
: Time delay for reconnection after voltage ride-through disconnection, validation range:(0, nothing)
VES_lim::MinMax
: Min and max voltage for entering service (VESmin,VESmax)FRT_pnts::NamedTuple{(:frt1, :frt2, :frt3, :frt4), Tuple{Float64, Float64, Float64, Float64}}
: Frequency ride through v points (frt1,frt2,frt3,frt4)TFRT_pnts::NamedTuple{(:tfrt1, :tfrt2), Tuple{Float64, Float64}}
: Frequency ride through time points (tfrt1,tfrt2)tF_delay::Float64
: Time delay for reconnection after frequency ride-through disconnection, validation range:(0, nothing)
FES_lim::MinMax
: Min and max frequency for entering service (FESmin,FESmax)Pfa_ref::Float64
: (default:0.0
) Reference power factor, validation range:(0, nothing)
Q_ref::Float64
: (default:0.0
) Reference reactive power, in pu, validation range:(0, nothing)
P_ref::Float64
: (default:1.0
) Reference active power, in pu, validation range:(0, nothing)
base_power::Float64
: (default:100.0
) Base power of the unit (MVA) for per unitizationstates::Vector{Symbol}
: (Do not modify.) The states of GenericDER depend on the Flagsn_states::Int
: (Do not modify.) The states of GenericDER depend on the Flagsext::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.internal::InfrastructureSystemsInternal
: (Do not modify.) PowerSystems.jl internal reference
InfrastructureSystems.get_name
— Methodget_name(value::GenericDER) -> String
Get GenericDER
name
.
PowerSystems.get_D_dn
— Methodget_D_dn(value::GenericDER) -> Float64
Get GenericDER
D_dn
.
PowerSystems.get_D_up
— Methodget_D_up(value::GenericDER) -> Float64
Get GenericDER
D_up
.
PowerSystems.get_FES_lim
— Methodget_FES_lim(
value::GenericDER
) -> @NamedTuple{min::Float64, max::Float64}
Get GenericDER
FES_lim
.
PowerSystems.get_FRT_pnts
— Methodget_FRT_pnts(
value::GenericDER
) -> @NamedTuple{frt1::Float64, frt2::Float64, frt3::Float64, frt4::Float64}
Get GenericDER
FRT_pnts
.
PowerSystems.get_Gen_Flag
— Methodget_Gen_Flag(value::GenericDER) -> Int64
Get GenericDER
Gen_Flag
.
PowerSystems.get_I_max
— Methodget_I_max(value::GenericDER) -> Float64
Get GenericDER
I_max
.
PowerSystems.get_Iqr_lim
— Methodget_Iqr_lim(
value::GenericDER
) -> @NamedTuple{min::Float64, max::Float64}
Get GenericDER
Iqr_lim
.
PowerSystems.get_Kip
— Methodget_Kip(value::GenericDER) -> Float64
Get GenericDER
Kip
.
PowerSystems.get_Kiq
— Methodget_Kiq(value::GenericDER) -> Float64
Get GenericDER
Kiq
.
PowerSystems.get_Kpp
— Methodget_Kpp(value::GenericDER) -> Float64
Get GenericDER
Kpp
.
PowerSystems.get_Kpq
— Methodget_Kpq(value::GenericDER) -> Float64
Get GenericDER
Kpq
.
PowerSystems.get_PQ_Flag
— Methodget_PQ_Flag(value::GenericDER) -> Int64
Get GenericDER
PQ_Flag
.
PowerSystems.get_P_lim
— Methodget_P_lim(
value::GenericDER
) -> @NamedTuple{min::Float64, max::Float64}
Get GenericDER
P_lim
.
PowerSystems.get_P_ref
— Methodget_P_ref(value::GenericDER) -> Float64
Get GenericDER
P_ref
.
PowerSystems.get_PerOp_Flag
— Methodget_PerOp_Flag(value::GenericDER) -> Int64
Get GenericDER
PerOp_Flag
.
PowerSystems.get_Pfa_ref
— Methodget_Pfa_ref(value::GenericDER) -> Float64
Get GenericDER
Pfa_ref
.
PowerSystems.get_Q_lim
— Methodget_Q_lim(
value::GenericDER
) -> @NamedTuple{min::Float64, max::Float64}
Get GenericDER
Q_lim
.
PowerSystems.get_Q_ref
— Methodget_Q_ref(value::GenericDER) -> Float64
Get GenericDER
Q_ref
.
PowerSystems.get_Qref_Flag
— Methodget_Qref_Flag(value::GenericDER) -> Int64
Get GenericDER
Qref_Flag
.
PowerSystems.get_Recon_Flag
— Methodget_Recon_Flag(value::GenericDER) -> Int64
Get GenericDER
Recon_Flag
.
PowerSystems.get_SOC_ini
— Methodget_SOC_ini(value::GenericDER) -> Float64
Get GenericDER
SOC_ini
.
PowerSystems.get_SOC_lim
— Methodget_SOC_lim(
value::GenericDER
) -> @NamedTuple{min::Float64, max::Float64}
Get GenericDER
SOC_lim
.
PowerSystems.get_TFRT_pnts
— Methodget_TFRT_pnts(
value::GenericDER
) -> @NamedTuple{tfrt1::Float64, tfrt2::Float64}
Get GenericDER
TFRT_pnts
.
PowerSystems.get_TVRT_pnts
— Methodget_TVRT_pnts(
value::GenericDER
) -> @NamedTuple{tvrt1::Float64, tvrt2::Float64, tvrt3::Float64}
Get GenericDER
TVRT_pnts
.
PowerSystems.get_T_pord
— Methodget_T_pord(value::GenericDER) -> Float64
Get GenericDER
T_pord
.
PowerSystems.get_Tg
— Methodget_Tg(value::GenericDER) -> Float64
Get GenericDER
Tg
.
PowerSystems.get_Tp
— Methodget_Tp(value::GenericDER) -> Float64
Get GenericDER
Tp
.
PowerSystems.get_Trf
— Methodget_Trf(value::GenericDER) -> Float64
Get GenericDER
Trf
.
PowerSystems.get_Trv
— Methodget_Trv(value::GenericDER) -> Float64
Get GenericDER
Trv
.
PowerSystems.get_VES_lim
— Methodget_VES_lim(
value::GenericDER
) -> @NamedTuple{min::Float64, max::Float64}
Get GenericDER
VES_lim
.
PowerSystems.get_VRT_pnts
— Methodget_VRT_pnts(
value::GenericDER
) -> @NamedTuple{vrt1::Float64, vrt2::Float64, vrt3::Float64, vrt4::Float64, vrt5::Float64}
Get GenericDER
VRT_pnts
.
PowerSystems.get_VV_pnts
— Methodget_VV_pnts(
value::GenericDER
) -> @NamedTuple{V1::Float64, V2::Float64, V3::Float64, V4::Float64}
Get GenericDER
VV_pnts
.
PowerSystems.get_base_power
— Methodget_base_power(value::GenericDER) -> Float64
Get GenericDER
base_power
.
PowerSystems.get_dP_lim
— Methodget_dP_lim(
value::GenericDER
) -> @NamedTuple{min::Float64, max::Float64}
Get GenericDER
dP_lim
.
PowerSystems.get_e_lim
— Methodget_e_lim(
value::GenericDER
) -> @NamedTuple{min::Float64, max::Float64}
Get GenericDER
e_lim
.
PowerSystems.get_ext
— Methodget_ext(value::GenericDER) -> Dict{String, Any}
Get GenericDER
ext
.
PowerSystems.get_fdbd_pnts
— Methodget_fdbd_pnts(
value::GenericDER
) -> @NamedTuple{fdbd1::Float64, fdbd2::Float64}
Get GenericDER
fdbd_pnts
.
PowerSystems.get_fe_lim
— Methodget_fe_lim(
value::GenericDER
) -> @NamedTuple{min::Float64, max::Float64}
Get GenericDER
fe_lim
.
PowerSystems.get_kWh_Cap
— Methodget_kWh_Cap(value::GenericDER) -> Float64
Get GenericDER
kWh_Cap
.
PowerSystems.get_n_states
— Methodget_n_states(value::GenericDER) -> Int64
Get GenericDER
n_states
.
PowerSystems.get_rrpwr
— Methodget_rrpwr(value::GenericDER) -> Float64
Get GenericDER
rrpwr
.
PowerSystems.get_states
— Methodget_states(value::GenericDER) -> Vector{Symbol}
Get GenericDER
states
.
PowerSystems.get_tF_delay
— Methodget_tF_delay(value::GenericDER) -> Float64
Get GenericDER
tF_delay
.
PowerSystems.get_tV_delay
— Methodget_tV_delay(value::GenericDER) -> Float64
Get GenericDER
tV_delay
.
PowerSystems.set_D_dn!
— Methodset_D_dn!(value::GenericDER, val) -> Any
Set GenericDER
D_dn
.
PowerSystems.set_D_up!
— Methodset_D_up!(value::GenericDER, val) -> Any
Set GenericDER
D_up
.
PowerSystems.set_FES_lim!
— Methodset_FES_lim!(value::GenericDER, val) -> Any
Set GenericDER
FES_lim
.
PowerSystems.set_FRT_pnts!
— Methodset_FRT_pnts!(value::GenericDER, val) -> Any
Set GenericDER
FRT_pnts
.
PowerSystems.set_Gen_Flag!
— Methodset_Gen_Flag!(value::GenericDER, val) -> Any
Set GenericDER
Gen_Flag
.
PowerSystems.set_I_max!
— Methodset_I_max!(value::GenericDER, val) -> Any
Set GenericDER
I_max
.
PowerSystems.set_Iqr_lim!
— Methodset_Iqr_lim!(value::GenericDER, val) -> Any
Set GenericDER
Iqr_lim
.
PowerSystems.set_Kip!
— Methodset_Kip!(value::GenericDER, val) -> Any
Set GenericDER
Kip
.
PowerSystems.set_Kiq!
— Methodset_Kiq!(value::GenericDER, val) -> Any
Set GenericDER
Kiq
.
PowerSystems.set_Kpp!
— Methodset_Kpp!(value::GenericDER, val) -> Any
Set GenericDER
Kpp
.
PowerSystems.set_Kpq!
— Methodset_Kpq!(value::GenericDER, val) -> Any
Set GenericDER
Kpq
.
PowerSystems.set_PQ_Flag!
— Methodset_PQ_Flag!(value::GenericDER, val) -> Any
Set GenericDER
PQ_Flag
.
PowerSystems.set_P_lim!
— Methodset_P_lim!(value::GenericDER, val) -> Any
Set GenericDER
P_lim
.
PowerSystems.set_P_ref!
— Methodset_P_ref!(value::GenericDER, val) -> Any
Set GenericDER
P_ref
.
PowerSystems.set_PerOp_Flag!
— Methodset_PerOp_Flag!(value::GenericDER, val) -> Any
Set GenericDER
PerOp_Flag
.
PowerSystems.set_Pfa_ref!
— Methodset_Pfa_ref!(value::GenericDER, val) -> Any
Set GenericDER
Pfa_ref
.
PowerSystems.set_Q_lim!
— Methodset_Q_lim!(value::GenericDER, val) -> Any
Set GenericDER
Q_lim
.
PowerSystems.set_Q_ref!
— Methodset_Q_ref!(value::GenericDER, val) -> Any
Set GenericDER
Q_ref
.
PowerSystems.set_Qref_Flag!
— Methodset_Qref_Flag!(value::GenericDER, val) -> Any
Set GenericDER
Qref_Flag
.
PowerSystems.set_Recon_Flag!
— Methodset_Recon_Flag!(value::GenericDER, val) -> Any
Set GenericDER
Recon_Flag
.
PowerSystems.set_SOC_ini!
— Methodset_SOC_ini!(value::GenericDER, val) -> Any
Set GenericDER
SOC_ini
.
PowerSystems.set_SOC_lim!
— Methodset_SOC_lim!(value::GenericDER, val) -> Any
Set GenericDER
SOC_lim
.
PowerSystems.set_TFRT_pnts!
— Methodset_TFRT_pnts!(value::GenericDER, val) -> Any
Set GenericDER
TFRT_pnts
.
PowerSystems.set_TVRT_pnts!
— Methodset_TVRT_pnts!(value::GenericDER, val) -> Any
Set GenericDER
TVRT_pnts
.
PowerSystems.set_T_pord!
— Methodset_T_pord!(value::GenericDER, val) -> Any
Set GenericDER
T_pord
.
PowerSystems.set_Tg!
— Methodset_Tg!(value::GenericDER, val) -> Any
Set GenericDER
Tg
.
PowerSystems.set_Tp!
— Methodset_Tp!(value::GenericDER, val) -> Any
Set GenericDER
Tp
.
PowerSystems.set_Trf!
— Methodset_Trf!(value::GenericDER, val) -> Any
Set GenericDER
Trf
.
PowerSystems.set_Trv!
— Methodset_Trv!(value::GenericDER, val) -> Any
Set GenericDER
Trv
.
PowerSystems.set_VES_lim!
— Methodset_VES_lim!(value::GenericDER, val) -> Any
Set GenericDER
VES_lim
.
PowerSystems.set_VRT_pnts!
— Methodset_VRT_pnts!(value::GenericDER, val) -> Any
Set GenericDER
VRT_pnts
.
PowerSystems.set_VV_pnts!
— Methodset_VV_pnts!(value::GenericDER, val) -> Any
Set GenericDER
VV_pnts
.
PowerSystems.set_base_power!
— Methodset_base_power!(value::GenericDER, val) -> Any
Set GenericDER
base_power
.
PowerSystems.set_dP_lim!
— Methodset_dP_lim!(value::GenericDER, val) -> Any
Set GenericDER
dP_lim
.
PowerSystems.set_e_lim!
— Methodset_e_lim!(value::GenericDER, val) -> Any
Set GenericDER
e_lim
.
PowerSystems.set_ext!
— Methodset_ext!(value::GenericDER, val) -> Any
Set GenericDER
ext
.
PowerSystems.set_fdbd_pnts!
— Methodset_fdbd_pnts!(value::GenericDER, val) -> Any
Set GenericDER
fdbd_pnts
.
PowerSystems.set_fe_lim!
— Methodset_fe_lim!(value::GenericDER, val) -> Any
Set GenericDER
fe_lim
.
PowerSystems.set_kWh_Cap!
— Methodset_kWh_Cap!(value::GenericDER, val) -> Any
Set GenericDER
kWh_Cap
.
PowerSystems.set_rrpwr!
— Methodset_rrpwr!(value::GenericDER, val) -> Any
Set GenericDER
rrpwr
.
PowerSystems.set_tF_delay!
— Methodset_tF_delay!(value::GenericDER, val) -> Any
Set GenericDER
tF_delay
.
PowerSystems.set_tV_delay!
— Methodset_tV_delay!(value::GenericDER, val) -> Any
Set GenericDER
tV_delay
.