Internal API
PowerSystems._pti_dtypes
— Constantlookup array of data types for PTI file sections given by field_name
, as enumerated by PSS/E Program Operation Manual.
PowerSystems._pti_sections
— ConstantA list of data file sections in the order that they appear in a PTI v33 file
PowerSystems.pm_component_status
— Constantmaps component types to status parameters
PowerSystems.pm_component_status_inactive
— Constantmaps component types to inactive status values
PowerSystems.EX4VSA
— Typemutable struct EX4VSA <: AVR
+ Iflim::Float64
+ d::Float64
+ f::Float64
+ Spar::Float64
+ K1::Float64
+ K2::Float64
+ Oel_lim::MinMax
+ G::Float64
+ Ta::Float64
+ Tb::Float64
+ Te::Float64
+ E_lim::MinMax
+ V_ref::Float64
+ ext::Dict{String, Any}
+ states::Vector{Symbol}
+ n_states::Int
+ internal::InfrastructureSystemsInternal
+end
IEEE Excitation System for Voltage Security Assesment
Arguments
Iflim::Float64
: OEL Field current limit, validation range:(0, nothing)
, action if invalid:warn
d::Float64
: OEL parameter d, validation range:(0, nothing)
, action if invalid:warn
f::Float64
: OEL parameter f, validation range:(0, nothing)
, action if invalid:warn
Spar::Float64
: OEL parameter Spar, validation range:(0, nothing)
, action if invalid:warn
K1::Float64
: OEL delay time constant, validation range:(0, nothing)
, action if invalid:warn
K2::Float64
: OEL parameter K2, validation range:(0, nothing)
, action if invalid:warn
Oel_lim::MinMax
: Oel integrator limits (Oelmin, Oelmax)G::Float64
: AVR Exciter Gain, validation range:(0, nothing)
, action if invalid:warn
Ta::Float64
: Numerator lead-lag (lag) time constant in s, validation range:(0, nothing)
, action if invalid:warn
Tb::Float64
: Denominator lead-lag (lag) time constant in s, validation range:(0, nothing)
, action if invalid:warn
Te::Float64
: Exciter Time Constant in s, validation range:(0, nothing)
, action if invalid:warn
E_lim::MinMax
: Voltage regulator limits (regulator output) (Emin, Emax)V_ref::Float64
: Reference Voltage Set-point, validation range:(0, nothing)
ext::Dict{String, Any}
states::Vector{Symbol}
: The states are:
Vll: Lead-lag internal state,
+Vex: Exciter Output,
+oel: OEL integrator state
n_states::Int
: The EX4VSA has 3 statesinternal::InfrastructureSystemsInternal
: power system internal reference, do not modify
PowerSystems.EXST1
— Typemutable struct EXST1 <: AVR
+ Tr::Float64
+ Vi_lim::MinMax
+ Tc::Float64
+ Tb::Float64
+ Ka::Float64
+ Ta::Float64
+ Vr_lim::MinMax
+ Kc::Float64
+ Kf::Float64
+ Tf::Float64
+ V_ref::Float64
+ ext::Dict{String, Any}
+ states::Vector{Symbol}
+ n_states::Int
+ internal::InfrastructureSystemsInternal
+end
IEEE Type ST1 Excitation System (PTI version)
Arguments
Tr::Float64
: Voltage Measurement Time Constant in s, validation range:(0, nothing)
, action if invalid:warn
Vi_lim::MinMax
: Voltage input limits (Vimin, Vimax)Tc::Float64
: Numerator lead-lag (lead) time constant in s, validation range:(0, nothing)
, action if invalid:warn
Tb::Float64
: Denominator lead-lag (lag) time constant in s, validation range:(0, nothing)
, action if invalid:warn
Ka::Float64
: Amplifier Gain, validation range:(0, nothing)
, action if invalid:warn
Ta::Float64
: Amplifier Time Constant in s, validation range:(0, nothing)
, action if invalid:warn
Vr_lim::MinMax
: Voltage regulator limits (regulator output) (Vrmin, Vrmax)Kc::Float64
: Current field constant limiter multiplier, validation range:(0, nothing)
Kf::Float64
: Excitation control system stabilizer gain, validation range:(eps(), 0.3)
, action if invalid:warn
Tf::Float64
: Excitation control system stabilizer time constant, validation range:(eps(), nothing)
, action if invalid:error
V_ref::Float64
: Reference Voltage Set-point, validation range:(0, nothing)
ext::Dict{String, Any}
states::Vector{Symbol}
: The states are:
Vm: Sensed Terminal Voltage,
+Vrll: Lead-Lag state,
+Vr: Regulator Output,
+Vfb: Feedback state
n_states::Int
: The EXST1 has 4 statesinternal::InfrastructureSystemsInternal
: power system internal reference, do not modify
PowerSystems.ExponentialLoad
— Typemutable struct ExponentialLoad <: StaticLoad
+ name::String
+ available::Bool
+ bus::ACBus
+ active_power::Float64
+ reactive_power::Float64
+ active_power_coefficient::Float64
+ reactive_power_coefficient::Float64
+ base_power::Float64
+ max_active_power::Float64
+ max_reactive_power::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 static exponential load.
Arguments
name::String
available::Bool
bus::ACBus
active_power::Float64
reactive_power::Float64
active_power_coefficient::Float64
: Coefficient relating voltage dependence for power P = P0 * V^α, validation range:(0, nothing)
, action if invalid:warn
reactive_power_coefficient::Float64
: Coefficient relating voltage dependence for power Q = Q0 * V^β, validation range:(0, nothing)
, action if invalid:warn
base_power::Float64
: Base power of the unit in MVA, validation range:(0, nothing)
, action if invalid:warn
max_active_power::Float64
max_reactive_power::Float64
services::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
PowerSystems.OperationalCost
— TypeSuper type for operational cost representation in the model
PowerSystems.PowerFlowDataNetwork
— TypeContainer for data parsed by PowerFlowData
PowerSystems.PowerFlowDataNetwork
— MethodPowerFlowDataNetwork(
+ file::Union{IO, String};
+ kwargs...
+) -> PowerSystems.PowerFlowDataNetwork
+
Constructs PowerFlowDataNetwork from a raw file. Currently Supports PSSE data files v30, v32 and v33
PowerSystems.SwitchedAdmittance
— Typemutable struct SwitchedAdmittance <: ElectricLoad
+ name::String
+ available::Bool
+ bus::ACBus
+ Y::Complex{Float64}
+ number_of_steps::Int
+ Y_increase::Complex{Float64}
+ dynamic_injector::Union{Nothing, DynamicInjection}
+ services::Vector{Service}
+ ext::Dict{String, Any}
+ time_series_container::InfrastructureSystems.TimeSeriesContainer
+ internal::InfrastructureSystemsInternal
+end
Arguments
name::String
available::Bool
bus::ACBus
Y::Complex{Float64}
: Initial impedance at N = 0number_of_steps::Int
: Number of steps for adjustable shuntY_increase::Complex{Float64}
: Admittance increment for each of step increasedynamic_injector::Union{Nothing, DynamicInjection}
: corresponding dynamic injection model for admittanceservices::Vector{Service}
: Services that this device contributes toext::Dict{String, Any}
time_series_container::InfrastructureSystems.TimeSeriesContainer
: internal time_series storageinternal::InfrastructureSystemsInternal
: power system internal reference, do not modify
PowerSystems._FieldInfo
— TypeStores user-customized information for required dataframe columns.
PowerSystems._HeatRateColumns
— TypeAdd generators to the System from the raw data.
Base.convert
— Methodconvert(
+ _::Type{@NamedTuple{min::Float64, max::Float64}},
+ input::Tuple{Float64, Float64}
+) -> @NamedTuple{min::Float64, max::Float64}
+
Convert Tuple to Min Max Named Tuple
Base.convert
— Methodconvert(
+ _::Type{@NamedTuple{up::Float64, down::Float64}},
+ input::Tuple{Float64, Float64}
+) -> @NamedTuple{up::Float64, down::Float64}
+
Convert Tuple to Up Down Named Tuple
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::ACBus
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get ACBus
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::AGC
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get AGC
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::AVRFixed
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get AVRFixed
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::AVRSimple
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get AVRSimple
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::AVRTypeII
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get AVRTypeII
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::AVRTypeI
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get AVRTypeI
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::ActiveConstantPowerLoad
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get ActiveConstantPowerLoad
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::AggregateDistributedGenerationA
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get AggregateDistributedGenerationA
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::AndersonFouadMachine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get AndersonFouadMachine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::Arc
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get Arc
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::Area
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get Area
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::BaseMachine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get BaseMachine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::BatteryEMS
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get BatteryEMS
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::CSVGN1
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get CSVGN1
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::DCBus
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get DCBus
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::DEGOV
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get DEGOV
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::DynamicBranch
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get DynamicBranch internal.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::DynamicExponentialLoad
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get DynamicExponentialLoad
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::ESAC1A
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get ESAC1A
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::ESAC6A
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get ESAC6A
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::ESDC1A
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get ESDC1A
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::ESDC2A
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get ESDC2A
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::ESST1A
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get ESST1A
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::ESST4B
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get ESST4B
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::EXAC1A
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get EXAC1A
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::EXAC1
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get EXAC1
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::EXAC2
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get EXAC2
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::EXPIC1
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get EXPIC1
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::FiveMassShaft
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get FiveMassShaft
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::FixedAdmittance
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get FixedAdmittance
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::FixedDCSource
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get FixedDCSource
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::FullMachine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get FullMachine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::GasTG
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get GasTG
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::GeneralGovModel
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get GeneralGovModel
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::GenericBattery
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get GenericBattery
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::GenericDER
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get GenericDER
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::HybridSystem
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get HybridSystem
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::HydroDispatch
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get HydroDispatch
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::HydroEnergyReservoir
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get HydroEnergyReservoir
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::HydroPumpedStorage
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get HydroPumpedStorage
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::HydroTurbineGov
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get HydroTurbineGov
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::IEEEST
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get IEEEST
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::IEEET1
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get IEEET1
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::IEEETurbineGov1
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get IEEETurbineGov1
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::InterconnectingConverter
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get InterconnectingConverter
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::InterruptiblePowerLoad
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get InterruptiblePowerLoad
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::Line
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get Line
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::LoadZone
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get LoadZone
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::MarconatoMachine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get MarconatoMachine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::MonitoredLine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get MonitoredLine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::OneDOneQMachine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get OneDOneQMachine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::PSS2A
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get PSS2A
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::PSS2B
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get PSS2B
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::PSS2C
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get PSS2C
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::PSSFixed
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get PSSFixed
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::PSSSimple
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get PSSSimple
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::PeriodicVariableSource
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get PeriodicVariableSource
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::PhaseShiftingTransformer
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get PhaseShiftingTransformer
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::PowerLoad
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get PowerLoad
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::PowerSystems.EX4VSA
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get EX4VSA
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::PowerSystems.EXST1
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get EXST1
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::PowerSystems.ExponentialLoad
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get ExponentialLoad
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::PowerSystems.SwitchedAdmittance
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get SwitchedAdmittance
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::RenewableDispatch
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get RenewableDispatch
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::RenewableFix
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get RenewableFix
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::ReserveDemandCurve
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get ReserveDemandCurve
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::RoundRotorMachine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get RoundRotorMachine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::SCRX
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get SCRX
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::SEXS
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get SEXS
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::STAB1
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get STAB1
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::SalientPoleMachine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get SalientPoleMachine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::SauerPaiMachine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get SauerPaiMachine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::SimpleAFMachine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get SimpleAFMachine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::SimpleFullMachine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get SimpleFullMachine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::SimpleMarconatoMachine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get SimpleMarconatoMachine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::SimplifiedSingleCageInductionMachine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get SimplifiedSingleCageInductionMachine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::SingleCageInductionMachine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get SingleCageInductionMachine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::SingleMass
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get SingleMass
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::Source
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get Source
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::StandardLoad
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get StandardLoad
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::StaticReserveGroup
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get StaticReserveGroup
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::StaticReserveNonSpinning
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get StaticReserveNonSpinning
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::StaticReserve
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get StaticReserve
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::SteamTurbineGov1
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get SteamTurbineGov1
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ sys::System
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Return the internal of the system
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::TGFixed
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get TGFixed
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::TGTypeII
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get TGTypeII
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::TGTypeI
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get TGTypeI
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::TModelHVDCLine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get TModelHVDCLine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::TapTransformer
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get TapTransformer
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::ThermalMultiStart
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get ThermalMultiStart
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::ThermalStandard
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get ThermalStandard
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::Transfer
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get Transfer
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::Transformer2W
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get Transformer2W
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::TransmissionInterface
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get TransmissionInterface
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::TwoTerminalHVDCLine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get TwoTerminalHVDCLine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::TwoTerminalVSCDCLine
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get TwoTerminalVSCDCLine
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::VariableReserveNonSpinning
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get VariableReserveNonSpinning
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
+ value::VariableReserve
+) -> InfrastructureSystems.InfrastructureSystemsInternal
+
Get VariableReserve
internal
.
PowerSystems._add_dcline_costs!
— Method_add_dcline_costs!(data::Dict{String, Any})
+
adds dcline costs, if gen costs exist
PowerSystems._add_line_delimiter
— Method_add_line_delimiter(
+ mp_line::AbstractString,
+ start_char,
+ end_char
+) -> Any
+
PowerSystems._apply_func!
— Method_apply_func!(data::Dict{String}, key::String, func) -> Any
+
PowerSystems._biggest_generator
— Method_biggest_generator(gens) -> Any
+
find the largest active generator in the network
PowerSystems._bold
— Method_bold(s::String) -> String
+
Makes a string bold in the terminal
PowerSystems._calc_branch_flow_ac
— Method_calc_branch_flow_ac(
+ data::Dict{String}
+) -> Dict{String, Any}
+
helper function for calcbranchflow_ac
PowerSystems._calc_branch_flow_dc
— Method_calc_branch_flow_dc(
+ data::Dict{String}
+) -> Dict{String, Any}
+
helper function for calcbranchflow_dc
PowerSystems._calc_comp_lines
— Method_calc_comp_lines(component::Dict{String}) -> Vector{Any}
+
compute lines in m and b from from pwl cost models
PowerSystems._calc_max_cost_index
— Method_calc_max_cost_index(data::Dict{String}) -> Any
+
PowerSystems._calc_power_balance
— Method_calc_power_balance(data::Dict{String}) -> Dict{String, Any}
+
helper function for calcpowerbalance
PowerSystems._cc_dfs
— Method_cc_dfs(i, neighbors, component_lookup, touched)
+
DFS on a graph
PowerSystems._check_conductors
— Method_check_conductors(data::Dict{String})
+
PowerSystems._check_keys
— Method_check_keys(data, keys)
+
PowerSystems._compare_numbers
— Method_compare_numbers(v1, v2) -> Bool
+
tests if two numbers are equal, up to floating point precision
PowerSystems._convert_argument_types!
— Method_convert_argument_types!(
+ str::AbstractString,
+ struct_args::Vector
+) -> Any
+
Convert specific parameters to types that are not Float64 for specific inverter components
PowerSystems._correct_cost_function!
— Method_correct_cost_function!(id, comp, type_name) -> Bool
+
PowerSystems._correct_reference_buses!
— Method_correct_reference_buses!(data::Dict{String})
+
PowerSystems._create_starbus_from_transformer
— Method_create_starbus_from_transformer(
+ pm_data::Dict,
+ transformer::Dict,
+ starbus_id::Int64
+) -> Dict{String, Any}
+
create_starbus(pm_data, transformer)
Creates a starbus from a given three-winding transformer
. "sourceid" is given by `["busi", "name", "I", "J", "K", "CKT"]` where "bus_i" and "name" are the modified names for the starbus, and "I", "J", "K" and "CKT" come from the originating transformer, in the PSS(R)E transformer specification.
PowerSystems._deactivate_isolated_components!
— Method_deactivate_isolated_components!(data::Dict{String}) -> Bool
+
PowerSystems._extract_matlab_assignment
— Method_extract_matlab_assignment(
+ string::AbstractString
+) -> Tuple{SubString, SubString}
+
breaks up matlab strings of the form 'name = value;'
PowerSystems._find_max_bus_id
— Method_find_max_bus_id(pm_data::Dict) -> Int64
+
_find_max_bus_id(pm_data)
Returns the maximum bus id in pm_data
PowerSystems._float2string
— Method_float2string(
+ v::AbstractFloat,
+ float_precision::Int64
+) -> Union{String, WeakRefStrings.PosLenString}
+
converts a float value into a string of fixed precision
sprintf would do the job but this work around is needed because sprintf cannot take format strings during runtime
PowerSystems._get_bus_value
— Method_get_bus_value(bus_i, field, pm_data) -> Any
+
_get_bus_value(bus_i, field, pm_data)
Returns the value of field
of bus_i
from the PowerModels data. Requires "bus" Dict to already be populated.
PowerSystems._get_contributing_devices
— Method_get_contributing_devices(
+ sys::System,
+ service::Service
+) -> ServiceContributingDevices
+
Returns a ServiceContributingDevices object.
PowerSystems._get_line_elements
— Method_get_line_elements(
+ line::AbstractString
+) -> Tuple{Vector{T} where T<:SubString, Union{String, SubString}}
+
_get_line_elements(line)
Internal function. Uses regular expressions to extract all separate data elements from a line of a PTI file and populate them into an Array{String}
. Comments, typically indicated at the end of a line with a '/'
character, are also extracted separately, and Array{Array{String}, String}
is returned.
PowerSystems._get_pm_branch_name
— Method_get_pm_branch_name(device_dict, bus_f, bus_t) -> String
+
Internal branch name retreval from pm2ps_dict
PowerSystems._get_pm_dict_name
— Method_get_pm_dict_name(device_dict) -> Any
+
Internal component name retreval from pm2ps_dict
PowerSystems._grey
— Method_grey(s::String) -> String
+
Makes a string grey in the terminal, does not seem to work well on Windows terminals more info can be found at https://en.wikipedia.org/wiki/ANSIescapecode
PowerSystems._import_remaining_comps!
— Method_import_remaining_comps!(
+ data_out::Dict,
+ data_in::Dict;
+ exclude
+)
+
Imports remaining top level component lists from data_in
into data_out
, excluding keys in exclude
PowerSystems._import_remaining_keys!
— Method_import_remaining_keys!(
+ comp_dest::Dict,
+ comp_src::Dict;
+ exclude
+)
+
Imports remaining keys from a source component into detestation component, excluding keys in exclude
PowerSystems._init_bus!
— Method_init_bus!(bus::Dict{String, Any}, id::Int64)
+
_init_bus!(bus, id)
Initializes a bus
of id id
with default values given in the PSS(R)E specification.
PowerSystems._instantiate_param_vector_size
— Method_instantiate_param_vector_size(
+ str::AbstractString,
+ param_map::Dict
+) -> Any
+
Construct appropiate vector size for components that collect parameters from more than 2 PSS/E components
PowerSystems._make_mixed_units!
— Method_make_mixed_units!(data::Dict{String})
+
PowerSystems._make_per_unit!
— Method_make_per_unit!(data::Dict{String}, mva_base::Real)
+
PowerSystems._make_shaft
— Method_make_shaft(param_map, val) -> Any
+
Create a SingleMass shaft struct directly using the parameter mapping.
PowerSystems._matpower_to_powermodels!
— Method_matpower_to_powermodels!(
+ mp_data::Dict{String}
+) -> Dict{String}
+
Converts a Matpower dict into a PowerModels dict
PowerSystems._merge_bus_name_data!
— Method_merge_bus_name_data!(
+ data::Dict{String, Any}
+) -> Union{Nothing, Dict{String, Any}}
+
merges bus name data into buses, if names exist
PowerSystems._merge_cost_data!
— Method_merge_cost_data!(
+ data::Dict{String, Any}
+) -> Union{Nothing, Dict{String, Any}}
+
merges generator cost functions into generator data, if costs exist
PowerSystems._merge_generic_data!
— Method_merge_generic_data!(data::Dict{String, Any})
+
merges Matpower tables based on the table extension syntax
PowerSystems._mp2pm_branch!
— Method_mp2pm_branch!(data::Dict{String, Any})
+
sets all branch transformer taps to 1.0, to simplify branch models
PowerSystems._mp2pm_dcline!
— Method_mp2pm_dcline!(data::Dict{String, Any})
+
adds pmin and pmax values at to and from buses
PowerSystems._mp_cost_data
— Method_mp_cost_data(cost_row) -> Dict
+
PowerSystems._parse_dyr_components
— Method_parse_dyr_components(
+ dyr_file::AbstractString
+) -> Dict{Int64, Any}
+
Parse a .dyr file directly from its name by constructing its dictionary of dictionaries.
PowerSystems._parse_dyr_components
— Method_parse_dyr_components(data::Dict) -> Dict{Int64, Any}
+
Parse dictionary of dictionaries of data (from _parse_dyr_file
) into a dictionary of struct components. The function receives the parsed dictionary and constructs a dictionary indexed by bus, that contains a dictionary with each dynamic generator and dynamic inverter components (indexed via its id).
For Generators, each dictionary indexed by id contains a vector with 5 of its components:
- Machine
- Shaft
- AVR
- TurbineGov
- PSS
For Inverters, each dictionary indexed by id contains a vector with 7 of its components:
- Converter
- ActivePowerControl
- ReactivePowerControl
- InnerControl
- DCSource
- FrequencyEstimator
- Filter
PowerSystems._parse_dyr_file
— Method_parse_dyr_file(file::AbstractString) -> Dict{Int64, Dict}
+
Parse .dyr file into a dictionary indexed by bus number. Each bus number key has a dictionary indexed by component type and id.
Comments in .dyr files are not supported (beginning of lines with //).
PowerSystems._parse_dyr_generator_components!
— Method_parse_dyr_generator_components!(
+ bus_dict::Dict,
+ componentID,
+ componentValues,
+ gen_map::Dict,
+ param_map::Dict
+)
+
Parse dictionary of data (from _parse_dyr_file
) into a dictionary of struct components. The function receives the parsed dictionary and constructs a dictionary indexed by bus, that contains a dictionary with each dynamic generator indexed by its id.
PowerSystems._parse_dyr_inverter_components!
— Method_parse_dyr_inverter_components!(
+ bus_dict::Dict,
+ inv_dict::Dict,
+ componentID::Tuple{String, String},
+ inv_map::Dict
+)
+
Parse dictionary of data (from _parse_dyr_file
) into a dictionary of struct components. The function receives the parsed dictionary and constructs a dictionary indexed by bus, that contains a dictionary with each dynamic inverter indexed by its id.
PowerSystems._parse_elements
— Method_parse_elements(
+ elements::Array,
+ dtypes::Array,
+ defaults::Dict,
+ section::AbstractString
+) -> Dict{String, Any}
+
This is an experimental method for parsing elements and setting defaults at the same time. It is not currently working but would reduce memory allocations if implemented correctly.
PowerSystems._parse_line_element!
— Method_parse_line_element!(
+ data::Dict,
+ elements::Array,
+ section::AbstractString
+)
+
_parse_line_element!(data, elements, section)
Internal function. Parses a single "line" of data elements from a PTI file, as given by elements
which is an array of the line, typically split at ,
. Elements are parsed into data types given by section
and saved into data::Dict
.
PowerSystems._parse_matlab_cells
— Method_parse_matlab_cells(lines, index) -> Dict
+
PowerSystems._parse_matlab_data
— Method_parse_matlab_data(
+ lines,
+ index,
+ start_char,
+ end_char
+) -> Dict
+
PowerSystems._parse_matlab_matrix
— Method_parse_matlab_matrix(lines, index) -> Dict
+
PowerSystems._parse_matpower_string
— Method_parse_matpower_string(
+ data_string::String
+) -> Dict{String, Any}
+
PowerSystems._parse_pti_data
— Method_parse_pti_data(data_io::IO) -> Dict{String, Array{Dict}}
+
_parse_pti_data(data_string, sections)
Internal function. Parse a PTI raw file into a Dict
, given the data_string
of the file and a list of the sections
in the PTI file (typically given by default by get_pti_sections()
.
PowerSystems._populate_args
— Method_populate_args(param_map::Vector, val) -> Vector{Any}
+
Populate arguments in a vector for each dynamic component (except Shafts). Returns a vector with the parameter values of the argument of each component.
PowerSystems._populate_defaults!
— Method_populate_defaults!(data::Dict)
+
_populate_defaults!(pti_data)
Internal function. Populates empty fields with PSS(R)E PTI v33 default values
PowerSystems._propagate_topology_status!
— Method_propagate_topology_status!(data::Dict{String}) -> Bool
+
PowerSystems._psse2pm_branch!
— Method_psse2pm_branch!(
+ pm_data::Dict,
+ pti_data::Dict,
+ import_all::Bool
+)
+
_psse2pm_branch!(pm_data, pti_data)
Parses PSS(R)E-style Branch data into a PowerModels-style Dict. "source_id" is given by ["I", "J", "CKT"]
in PSS(R)E Branch specification.
PowerSystems._psse2pm_bus!
— Method_psse2pm_bus!(
+ pm_data::Dict,
+ pti_data::Dict,
+ import_all::Bool
+)
+
_psse2pm_bus!(pm_data, pti_data)
Parses PSS(R)E-style Bus data into a PowerModels-style Dict. "source_id" is given by ["I", "NAME"] in PSS(R)E Bus specification.
PowerSystems._psse2pm_dcline!
— Method_psse2pm_dcline!(
+ pm_data::Dict,
+ pti_data::Dict,
+ import_all::Bool
+)
+
_psse2pm_dcline!(pm_data, pti_data)
Parses PSS(R)E-style Two-Terminal and VSC DC Lines data into a PowerModels compatible Dict structure by first converting them to a simple DC Line Model. For Two-Terminal DC lines, "sourceid" is given by ["IPR", "IPI", "NAME"]
in the PSS(R)E Two-Terminal DC specification. For Voltage Source Converters, "sourceid" is given by ["IBUS1", "IBUS2", "NAME"]
, where "IBUS1" is "IBUS" of the first converter bus, and "IBUS2" is the "IBUS" of the second converter bus, in the PSS(R)E Voltage Source Converter specification.
PowerSystems._psse2pm_generator!
— Method_psse2pm_generator!(
+ pm_data::Dict,
+ pti_data::Dict,
+ import_all::Bool
+)
+
_psse2pm_generator!(pm_data, pti_data)
Parses PSS(R)E-style Generator data in a PowerModels-style Dict. "source_id" is given by ["I", "ID"]
in PSS(R)E Generator specification.
PowerSystems._psse2pm_load!
— Method_psse2pm_load!(
+ pm_data::Dict,
+ pti_data::Dict,
+ import_all::Bool
+)
+
_psse2pm_load!(pm_data, pti_data)
Parses PSS(R)E-style Load data into a PowerModels-style Dict. "source_id" is given by ["I", "ID"]
in the PSS(R)E Load specification.
PowerSystems._psse2pm_shunt!
— Method_psse2pm_shunt!(
+ pm_data::Dict,
+ pti_data::Dict,
+ import_all::Bool
+)
+
_psse2pm_shunt!(pm_data, pti_data)
Parses PSS(R)E-style Fixed and Switched Shunt data into a PowerModels-style Dict. "source_id" is given by ["I", "ID"]
for Fixed Shunts, and ["I", "SWREM"]
for Switched Shunts, as given by the PSS(R)E Fixed and Switched Shunts specifications.
PowerSystems._psse2pm_transformer!
— Method_psse2pm_transformer!(
+ pm_data::Dict,
+ pti_data::Dict,
+ import_all::Bool
+)
+
_psse2pm_transformer!(pm_data, pti_data)
Parses PSS(R)E-style Transformer data into a PowerModels-style Dict. "source_id" is given by ["I", "J", "K", "CKT", "winding"]
, where "winding" is 0 if transformer is two-winding, and 1, 2, or 3 for three-winding, and the remaining keys are defined in the PSS(R)E Transformer specification.
PowerSystems._pti_to_powermodels!
— Method_pti_to_powermodels!(
+ pti_data::Dict;
+ import_all,
+ validate,
+ correct_branch_rating
+) -> Dict{String, Any}
+
_pti_to_powermodels!(pti_data)
Converts PSS(R)E-style data parsed from a PTI raw file, passed by pti_data
into a format suitable for use internally in PowerModels. Imports all remaining data from the PTI file if import_all
is true (Default: false).
PowerSystems._read_data_row
— Method_read_data_row(
+ data::PowerSystemTableData,
+ row,
+ field_infos;
+ na_to_nothing
+) -> NamedTuple
+
Reads values from dataframe row and performs necessary conversions.
PowerSystems._remove_aggregration_topology!
— Method_remove_aggregration_topology!(bus::ACBus, _::LoadZone)
+
Remove the aggregation topology in a ACBus
PowerSystems._remove_pwl_cost_duplicates!
— Function_remove_pwl_cost_duplicates!(id, comp, type_name) -> Bool
+_remove_pwl_cost_duplicates!(
+ id,
+ comp,
+ type_name,
+ tolerance
+) -> Bool
+
checks that each point in the a pwl function is unqiue, simplifies the function if duplicates appear
PowerSystems._remove_service!
— Method_remove_service!(device::Device, service::Service) -> Bool
+
Remove service from device if it is attached.
PowerSystems._rescale_cost_model!
— Method_rescale_cost_model!(comp::Dict{String}, scale::Real)
+
PowerSystems._resolve_swithces!
— Method_resolve_swithces!(data::Dict{String})
+
PowerSystems._select_largest_component!
— Method_select_largest_component!(data::Dict{String}) -> Any
+
PowerSystems._simplify_pwl_cost!
— Function_simplify_pwl_cost!(id, comp, type_name) -> Bool
+_simplify_pwl_cost!(id, comp, type_name, tolerance) -> Bool
+
checks the slope of each segment in a pwl function, simplifies the function if the slope changes is below a tolerance
PowerSystems._split_loads_shunts!
— Method_split_loads_shunts!(data::Dict{String, Any})
+
_split_loads_shunts!(data)
Seperates Loads and Shunts in data
under separate "load" and "shunt" keys in the PowerModels data format. Includes references to originating bus via "loadbus" and "shuntbus" keys, respectively.
PowerSystems._standardize_cost_terms!
— Method_standardize_cost_terms!(
+ components::Dict{String},
+ comp_order::Int64,
+ cost_comp_name::String
+) -> Set{Int64}
+
ensures all polynomial costs functions have at exactly comp_order terms
PowerSystems._type_array
— Method_type_array(
+ string_array::Array{T<:AbstractString, 1}
+) -> Vector
+
Attempts to determine the type of an array of strings extracted from a matlab file
PowerSystems._type_value
— Method_type_value(value_string::AbstractString) -> Any
+
Attempts to determine the type of a string extracted from a matlab file
PowerSystems._update_data!
— Method_update_data!(data::Dict{String}, new_data::Dict{String})
+
recursive call of updatedata
PowerSystems._value2string
— Method_value2string(v, float_precision::Int64) -> Any
+
converts any value to a string, summarizes arrays and dicts
PowerSystems.add_service_internal!
— Methodadd_service_internal!(device::Device, service::Service)
+
This function add a service to the component without checking if the component and the service are attached to the same system
PowerSystems.adequacy_check
— Methodadequacy_check(sys::System)
+
adequacy_check(sys::System)
Checks the system for sum(generator ratings) >= sum(load ratings).
Arguments
sys::System
: system
PowerSystems.arrays_to_dicts!
— Methodarrays_to_dicts!(data::Dict{String})
+
turns top level arrays into dicts
PowerSystems.branch_csv_parser!
— Methodbranch_csv_parser!(sys::System, data::PowerSystemTableData)
+
Add branches to the System from the raw data.
PowerSystems.bus_csv_parser!
— Methodbus_csv_parser!(sys::System, data::PowerSystemTableData)
+
Add buses and areas to the System from the raw data.
PowerSystems.bus_gen_lookup
— Methodbus_gen_lookup(
+ gen_data::Dict{String},
+ bus_data::Dict{String}
+) -> Dict
+
builds a lookup list of what generators are connected to a given bus
PowerSystems.bus_load_lookup
— Methodbus_load_lookup(
+ load_data::Dict{String},
+ bus_data::Dict{String}
+) -> Dict
+
builds a lookup list of what loads are connected to a given bus
PowerSystems.bus_shunt_lookup
— Methodbus_shunt_lookup(
+ shunt_data::Dict{String},
+ bus_data::Dict{String}
+) -> Dict
+
builds a lookup list of what shunts are connected to a given bus
PowerSystems.bus_storage_lookup
— Methodbus_storage_lookup(
+ storage_data::Dict{String},
+ bus_data::Dict{String}
+) -> Dict
+
builds a lookup list of what storage is connected to a given bus
PowerSystems.calc_branch_flow_ac
— Methodcalc_branch_flow_ac(data::Dict{String}) -> Dict{String, Any}
+
assumes a vaild ac solution is included in the data and computes the branch flow values
PowerSystems.calc_branch_flow_dc
— Methodcalc_branch_flow_dc(data::Dict{String}) -> Dict{String, Any}
+
assumes a vaild dc solution is included in the data and computes the branch flow values
PowerSystems.calc_branch_t
— Methodcalc_branch_t(branch::Dict{String}) -> Tuple{Any, Any}
+
PowerSystems.calc_branch_y
— Methodcalc_branch_y(branch::Dict{String}) -> Tuple{Any, Any}
+
PowerSystems.calc_connected_components
— Methodcalc_connected_components(
+ pm_data::Dict{String};
+ edges
+) -> Set{Set{Int64}}
+
computes the connected components of the network graph returns a set of sets of bus ids, each set is a connected component
PowerSystems.calc_cost_pwl_lines
— Methodcalc_cost_pwl_lines(comp_dict::Dict) -> Dict{Any, Any}
+
compute lines in m and b from from pwl cost models data is a list of components.
Can be run on data or ref data structures
PowerSystems.calc_dcline_cost
— Methodcalc_dcline_cost(data::Dict{String}) -> Any
+
computes the dcline cost from given network data
PowerSystems.calc_gen_cost
— Methodcalc_gen_cost(data::Dict{String}) -> Any
+
computes the generator cost from given network data
PowerSystems.calc_max_cost_index
— Methodcalc_max_cost_index(data::Dict{String, Any}) -> Any
+
PowerSystems.calc_power_balance
— Methodcalc_power_balance(data::Dict{String}) -> Dict{String, Any}
+
assumes a vaild solution is included in the data and computes the power balance at each bus
PowerSystems.calc_theta_delta_bounds
— Methodcalc_theta_delta_bounds(
+ data::Dict{String}
+) -> Tuple{Real, Real}
+
PowerSystems.calculate_saturation_coefficients
— Methodcalculate_saturation_coefficients(
+ E::Tuple{Float64, Float64},
+ Se::Tuple{Float64, Float64}
+) -> Tuple{Float64, Float64}
+
Obtain coefficients (A, B) of the function Se(x) = B(x - A)^2/x for Se(E1) = B(E1 - A)^2/E1 and Se(E2) = B(E2 - A)^2/E2 and uses the negative solution of the quadratic equation
PowerSystems.check_ascending_order
— Methodcheck_ascending_order(
+ array::Array{Int64},
+ name::AbstractString
+)
+
Throws DataFormatError if the array is not in ascending order.
PowerSystems.check_attached_buses
— Methodcheck_attached_buses(sys::System, component::Component)
+
Throws ArgumentError if any bus attached to the component is invalid.
PowerSystems.check_branch_loops
— Methodcheck_branch_loops(data::Dict{String})
+
checks that all branches connect two distinct buses
PowerSystems.check_component_addition
— Methodcheck_component_addition(
+ sys::System,
+ component::Component;
+ kwargs...
+)
+
Throws ArgumentError if a PowerSystems rule blocks addition to the system.
This method is tied with handlecomponentaddition!. If the methods are re-implemented for a subtype then whatever is added in handlecomponentaddition! must be checked here.
PowerSystems.check_component_removal
— Methodcheck_component_removal(sys::System, component::Component)
+
Throws ArgumentError if a PowerSystems rule blocks removal from the system.
PowerSystems.check_component_removal
— Methodcheck_component_removal(sys::System, service::Service)
+
Throws ArgumentError if a PowerSystems rule blocks removal from the system.
PowerSystems.check_conductors
— Methodcheck_conductors(data::Dict{String})
+
PowerSystems.check_connectivity
— Methodcheck_connectivity(data::Dict{String})
+
checks that all buses are unique and other components link to valid buses
PowerSystems.check_reference_bus
— Methodcheck_reference_bus(data::Dict{String})
+
checks that contains at least one refrence bus
PowerSystems.check_reference_buses
— Methodcheck_reference_buses(data::Dict{String, Any})
+
checks that each connected components has a reference bus, if not, adds one
PowerSystems.check_status
— Methodcheck_status(data::Dict{String})
+
checks that active components are not connected to inactive buses, otherwise prints warnings
PowerSystems.check_storage_parameters
— Methodcheck_storage_parameters(data::Dict{String, Any})
+
checks that each storage unit has a reasonable parameters
PowerSystems.check_switch_parameters
— Methodcheck_switch_parameters(data::Dict{String})
+
checks that each switch has a reasonable parameters
PowerSystems.check_type
— Methodcheck_type(typ, value) -> Any
+
Checks if the given value is of a given type, if not tries to make it that type
PowerSystems.check_voltage_setpoints
— Methodcheck_voltage_setpoints(data::Dict{String})
+
throws warnings if generator and dc line voltage setpoints are not consistent with the bus voltage setpoint
PowerSystems.compare_dict
— Methodcompare_dict(d1, d2) -> Bool
+
tests if two dicts are equal, up to floating point precision
PowerSystems.correct_branch_directions!
— Methodcorrect_branch_directions!(data::Dict{String}) -> Set{Int64}
+
checks that all parallel branches have the same orientation
PowerSystems.correct_bus_types!
— Methodcorrect_bus_types!(data::Dict{String}) -> Set{Int64}
+
checks bus types are consistent with generator connections, if not, fixes them
PowerSystems.correct_component_refrence_bus!
— Methodcorrect_component_refrence_bus!(
+ component_bus_ids,
+ bus_lookup,
+ component_gens
+)
+
checks that a connected component has a reference bus, if not, tries to add one
PowerSystems.correct_cost_functions!
— Methodcorrect_cost_functions!(
+ data::Dict{String}
+) -> Tuple{Set{Int64}, Set{Int64}}
+
throws warnings if cost functions are malformed
PowerSystems.correct_current_limits!
— Methodcorrect_current_limits!(data::Dict{String}) -> Set{Int64}
+
checks that each branch has a reasonable current rating-a, if not computes one
PowerSystems.correct_dcline_limits!
— Methodcorrect_dcline_limits!(
+ data::Dict{String, Any}
+) -> Set{Int64}
+
checks that parameters for dc lines are reasonable
PowerSystems.correct_network_data!
— Methodcorrect_network_data!(
+ data::Dict{String};
+ correct_branch_rating
+) -> Dict{String, Dict{Symbol, Set{Int64}}}
+
Runs various data quality checks on a PowerModels data dictionary. Applies modifications in some cases. Reports modified component ids.
PowerSystems.correct_thermal_limits!
— Methodcorrect_thermal_limits!(data::Dict{String}) -> Set{Int64}
+
checks that each branch has a reasonable thermal rating-a, if not computes one
PowerSystems.correct_transformer_parameters!
— Methodcorrect_transformer_parameters!(
+ data::Dict{String}
+) -> Set{Int64}
+
checks that each branch has a reasonable transformer parameters
this is important because setting tap == 0.0 leads to NaN computations, which are hard to debug
PowerSystems.correct_voltage_angle_differences!
— Functioncorrect_voltage_angle_differences!(
+ data::Dict{String}
+) -> Set{Int64}
+correct_voltage_angle_differences!(
+ data::Dict{String},
+ default_pad
+) -> Set{Int64}
+
checks that voltage angle differences are within 90 deg., if not tightens
PowerSystems.dc_branch_csv_parser!
— Methoddc_branch_csv_parser!(
+ sys::System,
+ data::PowerSystemTableData
+)
+
Add DC branches to the System from raw data.
PowerSystems.deactivate_isolated_components!
— Methoddeactivate_isolated_components!(data::Dict{String}) -> Bool
+
removes buses with single branch connections and without any other attached components. Also removes connected components without suffuceint generation or loads.
also deactivates 0 valued loads and shunts.
PowerSystems.deserialize_uuid_handling
— Methoddeserialize_uuid_handling(
+ field_type,
+ val,
+ component_cache
+) -> Any
+
Deserialize the value, converting UUIDs to components where necessary.
PowerSystems.get_avr_saturation
— Methodget_avr_saturation(
+ E::Tuple{Float64, Float64},
+ Se::Tuple{Float64, Float64}
+) -> Tuple{Float64, Float64}
+
Obtain coefficients for an AVR
PowerSystems.get_branch
— Methodget_branch(value::DynamicBranch) -> ACBranch
+
Get branch
PowerSystems.get_dataframe
— Methodget_dataframe(
+ data::PowerSystemTableData,
+ category::PowerSystems.InputCategoryModule.InputCategory
+) -> DataFrames.DataFrame
+
Return the dataframe for the category.
PowerSystems.get_enum_value
— Methodget_enum_value(enum, value::AbstractString) -> Any
+
Get the enum value for the string. Case insensitive.
PowerSystems.get_exponential_saturation
— Methodget_exponential_saturation(
+ Se::Tuple{Float64, Float64}
+) -> Tuple{Float64, Float64}
+
Obtain coefficients (A, B) of the function Se = Bx^A for Se(1.2) = B(1.2)^A and Se(1.0) = B(1.0)^A as: B = Se(1.0) and hence (1.2)^A = Se(1.2)/B -> A = log(Se(1.2)/B) / log(1.2)
PowerSystems.get_generator_mapping
— Functionget_generator_mapping() -> Dict{NamedTuple, DataType}
+get_generator_mapping(
+ filename
+) -> Dict{NamedTuple, DataType}
+
Return a dict where keys are a tuple of input parameters (fuel, unit_type) and values are generator types.
PowerSystems.get_generator_type
— Methodget_generator_type(
+ fuel,
+ unit_type,
+ mappings::Dict{NamedTuple, DataType}
+) -> Union{Nothing, DataType}
+
Return the PowerSystems generator type for this fuel and unit_type.
PowerSystems.get_quadratic_saturation
— Methodget_quadratic_saturation(
+ Se::Tuple{Float64, Float64}
+) -> Tuple{Float64, Float64}
+
Obtain coefficients (A, B) of the function Se = B(x - A)^2/x for Se(1.2) = B(1.2 - A)^2/1.2 and Se(1.0) = B(1.0 - A)^2/1.0 as: Se(1.0) = (Se(1.2) * 1.2) /(1.2 - A)^2 * (1.0 - A)^2/1.0 that yields (1.2 - A)^2 Se(1.0) = Se(1.2) * 1.2 * (1.0 - A)^2 or expanding: (1.2 * Se(1.2) - Se(1.0)) A^2 + (2.4 Se(1.0) - 2 * 1.2 * Se(1.2)) A + (1.2 * Se(1.2) - 1.44 Se(1.0)) = 0 and uses the negative solution of the quadratic equation.
PowerSystems.get_series_susceptance
— Methodget_series_susceptance(b::ACBranch) -> Float64
+
Calculate the admittance of AC branches
PowerSystems.get_series_susceptance
— Methodget_series_susceptance(
+ b::Union{PhaseShiftingTransformer, TapTransformer}
+) -> Float64
+
Returns the series susceptance of a controllable transformer following the convention in power systems to define susceptance as the inverse of the imaginary part of the impedance. In the case of phase shifter transformers the angle is ignored.
PowerSystems.get_user_field
— Methodget_user_field(
+ data::PowerSystemTableData,
+ category::PowerSystems.InputCategoryModule.InputCategory,
+ field::AbstractString
+) -> Any
+
Return the custom name stored in the user descriptor file.
Throws DataFormatError if a required value is not found in the file.
PowerSystems.get_user_fields
— Methodget_user_fields(
+ data::PowerSystemTableData,
+ category::PowerSystems.InputCategoryModule.InputCategory
+) -> Any
+
Return a vector of user-defined fields for the category.
PowerSystems.handle_component_addition!
— Methodhandle_component_addition!(
+ sys::System,
+ component::Component;
+ kwargs...
+)
+
Refer to docstring for checkcomponentaddition!
PowerSystems.handle_component_removal!
— Methodhandle_component_removal!(sys::System, bus::ACBus)
+
Throws ArgumentError if the bus number is not stored in the system.
PowerSystems.has_component
— Methodhas_component(
+ _::Type{T<:Component},
+ sys::System,
+ name::AbstractString
+) -> Bool
+
Check to see if the component of type T with name exists.
PowerSystems.im_replicate
— Methodim_replicate(
+ sn_data::Dict{String},
+ count::Int64,
+ global_keys::Set{String}
+) -> Dict{String, Any}
+
Transforms a single network into a multinetwork with several deepcopies of the original network
PowerSystems.is_attached
— Methodis_attached(component::Component, sys::System) -> Bool
+
Return true if the component is attached to the system.
PowerSystems.isafield
— Methodisafield(component::Component, field::Symbol) -> Any
+
Checks if a PowerSystemDevice has a field or subfield name.
PowerSystems.ismultinetwork
— Methodismultinetwork(data::Dict{String}) -> Any
+
checks if a given network data is a multinetwork
PowerSystems.iterate_rows
— Methoditerate_rows(
+ data::PowerSystemTableData,
+ category;
+ na_to_nothing
+) -> Channel{Any}
+
Return a NamedTuple of parameters from the descriptor file for each row of a dataframe, making type conversions as necessary.
Refer to the PowerSystems descriptor file for field names that will be created.
PowerSystems.load_csv_parser!
— Methodload_csv_parser!(sys::System, data::PowerSystemTableData)
+
load_csv_parser!(sys::System, data::PowerSystemTableData)
Add loads to the System from the raw load data.
PowerSystems.loadzone_csv_parser!
— Methodloadzone_csv_parser!(
+ sys::System,
+ data::PowerSystemTableData
+)
+
loadzone_csv_parser!(sys::System, data::PowerSystemTableData)
Add branches to the System from the raw data.
PowerSystems.make_bus
— Methodmake_bus(bus_dict::Dict{String, Any}) -> ACBus
+
Creates a PowerSystems.ACBus from a PowerSystems bus dictionary
PowerSystems.make_generator
— Methodmake_generator(
+ data::PowerSystemTableData,
+ gen,
+ cost_colnames,
+ bus,
+ gen_storage
+) -> Any
+
Creates a generator of any type.
PowerSystems.make_mixed_units!
— Methodmake_mixed_units!(data::Dict{String})
+
Transforms network data into mixed-units (inverse of per-unit)
PowerSystems.make_per_unit!
— Methodmake_per_unit!(data::Dict{String})
+
Transforms network data into per-unit
PowerSystems.make_thermal_gen
— Methodmake_thermal_gen(
+ gen_name::AbstractString,
+ d::Dict,
+ bus::ACBus,
+ sys_mbase::Number
+) -> ThermalStandard
+
The polynomial term follows the convention that for an n-degree polynomial, at least n + 1 components are needed. c(p) = cn*p^n+...+c1p+c0 co is stored in the field in of the Econ Struct
PowerSystems.move_genfuel_and_gentype!
— Methodmove_genfuel_and_gentype!(data::Dict{String, Any})
+
Move gentype and genfuel fields to be subfields of gen
PowerSystems.parse_matpower
— Methodparse_matpower(io::IO; validate) -> Dict{String, Any}
+
Parses the matpwer data from either a filename or an IO object
PowerSystems.parse_psse
— Methodparse_psse(io::IO; kwargs...) -> Dict{String, Any}
+
function parse_psse(io::IO; kwargs...)::Dict
Parses directly from iostream
PowerSystems.parse_psse
— Methodparse_psse(filename::String; kwargs...) -> Dict{String, Any}
+
parse_psse(filename::String; kwargs...)::Dict
Parses directly from file
PowerSystems.parse_pti
— Methodparse_pti(io::IO) -> Dict{String, Array{Dict}}
+
parse_pti(io::IO)
Reads PTI data in io::IO
, returning a Dict
of the data parsed into the proper types.
PowerSystems.parse_pti
— Methodparse_pti(filename::String) -> Dict{String, Array{Dict}}
+
parse_pti(filename::String)
Open PTI raw file given by filename
, returning a Dict
of the data parsed into the proper types.
PowerSystems.propagate_topology_status!
— Methodpropagate_topology_status!(
+ data::Dict{String}
+) -> Union{Nothing, Bool}
+
finds active network buses and branches that are not necessary for the computation and sets their status to off.
Works on a PowerModels data dict, so that a it can be used without a GenericPowerModel object
Warning: this implementation has quadratic complexity, in the worst case
PowerSystems.read_gen!
— Methodread_gen!(
+ sys::System,
+ data::Dict,
+ bus_number_to_bus::Dict{Int64, ACBus};
+ kwargs...
+)
+
Transfer generators to ps_dict according to their classification
PowerSystems.replicate
— Methodreplicate(
+ sn_data::Dict{String},
+ count::Int64;
+ global_keys
+) -> Dict{String, Any}
+
Turns in given single network data in multinetwork data with a count
replicate of the given network. Note that this function performs a deepcopy of the network data. Significant multinetwork space savings can often be achieved by building application specific methods of building multinetwork with minimal data replication.
PowerSystems.resolve_swithces!
— Methodresolve_swithces!(data::Dict{String})
+
given a network data dict merges buses that are connected by closed switches converting the dataset into a pure bus-branch model.
PowerSystems.row_to_dict
— Methodrow_to_dict(row_data, columns) -> Dict{String, Any}
+
takes a row from a matrix and assigns the values names
PowerSystems.row_to_typed_dict
— Methodrow_to_typed_dict(row_data, columns) -> Dict{String, Any}
+
takes a row from a matrix and assigns the values names and types
PowerSystems.select_largest_component
— Methodselect_largest_component(data::Dict{String, Any}) -> Any
+
determines the largest connected component of the network and turns everything else off
PowerSystems.serialize_uuid_handling
— Methodserialize_uuid_handling(val) -> Any
+
Serialize the value, encoding as UUIDs where necessary.
PowerSystems.services_csv_parser!
— Methodservices_csv_parser!(
+ sys::System,
+ data::PowerSystemTableData
+)
+
Add services to the System from the raw data.
PowerSystems.set_branch!
— Methodset_branch!(value::DynamicBranch, val::ACBranch) -> ACBranch
+
Set branch
PowerSystems.set_electric_load!
— Methodset_electric_load!(hybrid::HybridSystem, val::ElectricLoad)
+
Set HybridSystem
load
PowerSystems.set_interconnection_impedance!
— Methodset_interconnection_impedance!(
+ value::HybridSystem,
+ val
+) -> Any
+
set HybridSystem
interconnection impedance
PowerSystems.set_interconnection_rating!
— Methodset_interconnection_rating!(value::HybridSystem, val) -> Any
+
Set HybridSystem
rating
.
PowerSystems.set_renewable_unit!
— Methodset_renewable_unit!(hybrid::HybridSystem, val::RenewableGen)
+
Set HybridSystem
renewable unit
PowerSystems.set_storage!
— Methodset_storage!(hybrid::HybridSystem, val::Storage)
+
Set HybridSystem
storage unit
PowerSystems.set_thermal_unit!
— Methodset_thermal_unit!(hybrid::HybridSystem, val::ThermalGen)
+
Set HybridSystem
thermal unit
PowerSystems.simplify_cost_terms!
— Methodsimplify_cost_terms!(
+ data::Dict{String}
+) -> Tuple{Set{Int64}, Set{Int64}}
+
trims zeros from higher order cost terms
PowerSystems.simplify_network!
— Methodsimplify_network!(data::Dict{String}) -> Bool
+
attempts to deactive components that are not needed in the network by repeated calls to propagate_topology_status!
and deactivate_isolated_components!
warning: this implementation has quadratic complexity, in the worst case
PowerSystems.split_line
— Methodsplit_line(mp_line::AbstractString) -> Vector{Any}
+
PowerSystems.standardize_cost_terms!
— Methodstandardize_cost_terms!(data::Dict{String}; order)
+
ensures all polynomial costs functions have the same number of terms
PowerSystems.throw_if_not_attached
— Methodthrow_if_not_attached(component::Component, sys::System)
+
Throws ArgumentError if the component is not attached to the system.
PowerSystems.total_capacity_rating
— Methodtotal_capacity_rating(sys::System) -> Any
+
total_capacity_rating(sys::System)
Sum of system generator and storage ratings.
Arguments
sys::System
: system
PowerSystems.total_load_rating
— Methodtotal_load_rating(sys::System) -> Any
+
total_load_rating(sys::System)
Checks the system for sum(generator ratings) >= sum(load ratings).
Arguments
sys::System
: system
PowerSystems.update_bus_ids!
— Methodupdate_bus_ids!(
+ data::Dict{String},
+ bus_id_map::Dict{Int64, Int64};
+ injective
+)
+
given a network data dict and a mapping of current-bus-ids to new-bus-ids modifies the data dict to reflect the proposed new bus ids.
PowerSystems.update_data!
— Methodupdate_data!(data::Dict{String}, new_data::Dict{String})
+
recursively applies new_data to data, overwriting information
PowerSystems.verify_device_eligibility
— Methodverify_device_eligibility(
+ sys::System,
+ component::StaticInjection,
+ service::Service
+)
+
Validates if a device is eligible to contribute to a service.
Arguments
sys::System
: PowerSystem Systemcomponent::StaticInjection
: Static injection deviceservice::Service,
: Service for which the device is eligible to contribute