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)
d::Float64
: OEL parameter d, validation range:(0, nothing)
f::Float64
: OEL parameter f, validation range:(0, nothing)
Spar::Float64
: OEL parameter Spar, validation range:(0, nothing)
K1::Float64
: OEL delay time constant, validation range:(0, nothing)
K2::Float64
: OEL parameter K2, validation range:(0, nothing)
Oel_lim::MinMax
: Oel integrator limits (Oelmin, Oelmax)G::Float64
: AVR Exciter Gain, validation range:(0, nothing)
Ta::Float64
: Numerator lead-lag (lag) time constant in s, validation range:(0, nothing)
Tb::Float64
: Denominator lead-lag (lag) time constant in s, validation range:(0, nothing)
Te::Float64
: Exciter Time Constant in s, validation range:(0, nothing)
E_lim::MinMax
: Voltage regulator limits (regulator output) (Emin, Emax)V_ref::Float64
: (default:1.0
) Reference Voltage Set-point (pu), 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.states::Vector{Symbol}
: (Do not modify.) The states are:
Vll: Lead-lag internal state,
Vex: Exciter Output,
oel: OEL integrator state
n_states::Int
: (Do not modify.) The EX4VSA has 3 statesinternal::InfrastructureSystemsInternal
: (Do not modify.) PowerSystems.jl internal reference
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)
Vi_lim::MinMax
: Voltage input limits (Vimin, Vimax)Tc::Float64
: Numerator lead-lag (lead) time constant in s, validation range:(0, nothing)
Tb::Float64
: Denominator lead-lag (lag) time constant in s, validation range:(0, nothing)
Ka::Float64
: Amplifier Gain, validation range:(0, nothing)
Ta::Float64
: Amplifier Time Constant in s, validation range:(0, nothing)
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)
Tf::Float64
: Excitation control system stabilizer time constant, validation range:(eps(), nothing)
V_ref::Float64
: (default:1.0
) Reference Voltage Set-point (pu), 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.states::Vector{Symbol}
: (Do not modify.) The states are:
Vm: Sensed Terminal Voltage,
Vrll: Lead-Lag state,
Vr: Regulator Output,
Vfb: Feedback state
n_states::Int
: (Do not modify.) The EXST1 has 4 statesinternal::InfrastructureSystemsInternal
: (Do not modify.) PowerSystems.jl internal reference
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._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.assign_new_uuid!
— Methodassign_new_uuid!(sys::System, x::Component)
Change the UUID of a component.
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::AreaInterchange
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get AreaInterchange
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::CSVGN1
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get CSVGN1
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
value::ConstantReserveGroup
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get ConstantReserveGroup
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
value::ConstantReserveNonSpinning
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get ConstantReserveNonSpinning
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
value::ConstantReserve
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get ConstantReserve
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
value::DCBus
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get DCBus
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
value::DEGOV1
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get DEGOV1
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::ESAC8B
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get ESAC8B
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::EnergyReservoirStorage
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get EnergyReservoirStorage
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
value::ExponentialLoad
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get ExponentialLoad
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::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(x::Outage) -> Any
Get internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
value::PIDGOV
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get PIDGOV
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::RenewableDispatch
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get RenewableDispatch
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
value::RenewableNonDispatch
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get RenewableNonDispatch
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::ST6B
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get ST6B
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
value::ST8C
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get ST8C
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::SteamTurbineGov1
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get SteamTurbineGov1
internal
.
InfrastructureSystems.get_internal
— Methodget_internal(
value::SwitchedAdmittance
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get SwitchedAdmittance
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::TGSimple
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get TGSimple
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::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
.
InfrastructureSystems.get_internal
— Methodget_internal(
value::WPIDHY
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get WPIDHY
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._convert_argument_types_for_gen!
— Method_convert_argument_types_for_gen!(
str::AbstractString,
struct_args::Vector
)
Convert specific parameters to types that are not Float64 for specific generator 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::Int64,
field::String,
pm_data::Dict{String, Any}
) -> 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::ACBus,
bus_t::ACBus
) -> String
Internal branch name retreval from pm2ps_dict
PowerSystems._get_pm_dict_name
— Method_get_pm_dict_name(device_dict::Dict) -> String
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_market_bid_curve
— Method_make_market_bid_curve(
data::PiecewiseStepData;
initial_input,
power_units,
input_at_zero
) -> CostCurve{PiecewiseIncrementalCurve}
Auxiliary make market bid curve for timeseries with nothing inputs.
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_dera1!
— Method_parse_dera1!(
bus_dict,
componentID,
componentValues,
param_map::Dict,
bus_num::Int64
)
Parse dictionary of data (from _parse_dyr_file
) into a dictionary of DERA1. The function receives the parsed dictionary and constructs a dictionary indexed by bus, that contains a dictionary with each DERA1 indexed by its id.
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._process_get_cost
— Method_process_get_cost(
_::Type{T},
_,
cost,
transform_fn,
start_time::Union{Nothing, Dates.DateTime},
len::Union{Nothing, Int64}
) -> TimeSeries.TimeArray
Helper function for cost getters.
Arguments
T
: type/eltype we expectcomponent::Component
: the componentcost
: the data: either a single element of typeT
or aTimeSeriesKey
transform_fn
: a function to apply to the elements of the time seriesstart_time
: as inget_time_series
len
: as inget_time_series
PowerSystems._process_set_cost
— Method_process_set_cost(_, _, _, _, _::Nothing)
Helper function for cost setters.
Arguments
T1
: type we expect if it's not a time seriesT2
: eltype we expect if it is a time seriessys::System
: the systemcomponent::Component
: the componentcost
: the data: either a single element of typeT1
or aIS.TimeSeriesData
of eltypeT2
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
) -> Union{Nothing, Vector{Dict{String, Any}}}
_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 unique, 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_subsystems
— Methodcheck_subsystems(sys::System)
Check the the consistency of subsystems.
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_active_power_control
— Methodget_active_power_control(
value::OuterControl
) -> PowerSystems.ActivePowerControl
Get active_power_control
from OuterControl
.
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_interconnection_efficiency
— Methodget_interconnection_efficiency(
value::HybridSystem
) -> Union{Nothing, @NamedTuple{in::Float64, out::Float64}}
get HybridSystem
interconnection efficiency
PowerSystems.get_outage_status_scenario
— Methodget_outage_status_scenario(
value::TimeSeriesForcedOutage
) -> String
Get TimeSeriesForcedOutage
outage_status_scenario
.
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_reactive_power_control
— Methodget_reactive_power_control(
value::OuterControl
) -> PowerSystems.ReactivePowerControl
Get reactive_power_control
from OuterControl
.
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_addition_to_subsystem!
— Methodhandle_component_addition_to_subsystem!(
_::System,
subsystem_name::AbstractString,
_::Component
)
Peforms component-type-specific postprocessing when a component is added to a subsystem.
PowerSystems.handle_component_removal!
— Methodhandle_component_removal!(sys::System, bus::ACBus)
Throws ArgumentError if the bus number is not stored in the system.
PowerSystems.handle_component_removal_from_subsystem!
— Methodhandle_component_removal_from_subsystem!(
_::System,
subsystem_name::AbstractString,
_::Component
)
Peforms component-type-specific postprocessing when a component is removed from a subsystem.
PowerSystems.handle_deserialization_special_cases!
— Methodhandle_deserialization_special_cases!(
component::Dict,
_::Type{<:Component}
)
Allow types to implement handling of special cases during deserialization.
Arguments
component::Dict
: The component serialized as a dictionary.::Type
: The type of the component.
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::Union{SubString{String}, String},
d::Dict,
bus::ACBus,
sys_mbase::Float64
) -> 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_and_convert_ts
— Functionread_and_convert_ts(
ts::TimeSeriesData,
component::Component
) -> TimeSeries.TimeArray
read_and_convert_ts(
ts::TimeSeriesData,
component::Component,
start_time::Union{Nothing, Dates.DateTime}
) -> TimeSeries.TimeArray
read_and_convert_ts(
ts::TimeSeriesData,
component::Component,
start_time::Union{Nothing, Dates.DateTime},
len::Union{Nothing, Int64}
) -> TimeSeries.TimeArray
read_and_convert_ts(
ts::TimeSeriesData,
component::Component,
start_time::Union{Nothing, Dates.DateTime},
len::Union{Nothing, Int64},
transform_fn
) -> TimeSeries.TimeArray
Call gettimeseriesarray on the given time series and return a TimeArray of the results, values mapped by `transformfn` if it is not nothing
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_active_power_control!
— Methodset_active_power_control!(value::OuterControl, val) -> Any
Set OuterControl
active_power_control
.
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_efficiency!
— Methodset_interconnection_efficiency!(
value::HybridSystem,
val
) -> Any
Set HybridSystem
interconnection_efficiency
.
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
interconnection_rating
.
PowerSystems.set_reactive_power_control!
— Methodset_reactive_power_control!(value::OuterControl, val) -> Any
Set OuterControl
reactive_power_control
.
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