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/v35 file
PowerSystems.pm_component_status — Constantmaps component types to status parameters
PowerSystems.pm_component_status_inactive — Constantmaps component types to inactive status values
PowerSystems.ActivePowerControl — TypeSupertype for all active power control models used in OuterControl of a DynamicInverter.
Concrete subtypes include ActivePowerDroop, ActivePowerPI, VirtualInertia, ActiveVirtualOscillator, and ActiveRenewableControllerAB.
See also: ReactivePowerControl, OuterControl
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
endIEEE 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.states::Vector{Symbol}: (Do not modify.) The states are:
Vll: Lead-lag internal state,
Vex: Exciter Output,
oel: OEL integrator staten_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
endIEEE 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.states::Vector{Symbol}: (Do not modify.) The states are:
Vm: Sensed Terminal Voltage,
Vrll: Lead-Lag state,
Vr: Regulator Output,
Vfb: Feedback staten_states::Int: (Do not modify.) The EXST1 has 4 statesinternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
PowerSystems.GeneratorCostModelsModule.GeneratorCostModels — TypeEnumeration representing different cost models for generators in power system analysis.
| Value | Description |
|---|---|
PIECEWISE_LINEAR | Piecewise linear cost representation |
POLYNOMIAL | Polynomial cost representation |
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.PumpHydroStatusModule.PumpHydroStatus — TypePumpHydroStatus
Operating status of a pumped‑storage hydro unit.
| Value | Description |
|---|---|
OFF | Unit is idle — neither generating nor pumping |
GEN | Generating mode (turbine operation), producing active power |
PUMP | Pumping mode, consuming active power to store energy |
Notes
- Integer values are 0, 1, and -1 respectively; the sign reflects net active power direction (positive = generation, negative = pumping).
- Intended for use in scheduling, dispatch, and state-tracking of pumped‑storage units.
PowerSystems.ReactivePowerControl — TypeSupertype for all reactive power control models used in OuterControl of a DynamicInverter.
Concrete subtypes include ReactivePowerDroop, ReactivePowerPI, ReactiveVirtualOscillator, and ReactiveRenewableControllerAB.
See also: ActivePowerControl, OuterControl
PowerSystems.StartUpStages — TypeNamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}} representing the start-up costs ($) for a multi-start thermal generator at each temperature stage:
hot: cost when the unit is hot (shortest off-time)warm: cost when the unit is warm (medium off-time)cold: cost when the unit is cold (longest off-time)
For single-stage generators, only the hot field is meaningful. See also single_start_up_to_stages.
PowerSystems.TopologyComponentSelector — TypePluralComponentSelector represented by an AggregationTopology and a type of Component.
PowerSystems.TransformerControlObjectiveModule.TransformerControlObjective — TypeEnumeration of transformer control objectives based on PSS/E COD1 and COD2 fields.
This enumeration defines the control modes for transformer tap changers and phase shifters as specified in the PSS/E-35 manual.
| Value | Description |
|---|---|
UNDEFINED | Undefined |
VOLTAGE_DISABLED | Has voltage control capabilities, which are disabled |
REACTIVE_POWER_FLOW_DISABLED | Has reactive power flow control capabilities, which are disabled |
ACTIVE_POWER_FLOW_DISABLED | Has active power flow control capabilities, which are disabled |
CONTROL_OF_DC_LINE_DISABLED | Has capabilities to control a DC line quantity, which are disabled |
ASYMMETRIC_ACTIVE_POWER_FLOW_DISABLED | Has asymmetric active power flow control capabilities, which are disabled |
FIXED | Fixed tap and fixed phase shift |
VOLTAGE | Voltage control |
REACTIVE_POWER_FLOW | Reactive power flow control |
ACTIVE_POWER_FLOW | Active power flow control |
CONTROL_OF_DC_LINE | Control of a DC line quantity |
ASYMMETRIC_ACTIVE_POWER_FLOW | Asymmetric active power flow control |
Notes
Negative values indicate disabled control modes, while positive values represent active control objectives. The FIXED mode (0) indicates manual tap position control without automatic adjustment.
PowerSystems.UnplannedOutage — TypeAbstract supertype for unplanned (forced) outage events.
See also: Outage, GeometricDistributionForcedOutage, FixedForcedOutage
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.fast_deepcopy_system — Methodfast_deepcopy_system(
sys::System;
skip_time_series,
skip_supplemental_attributes
) -> System
Make a deepcopy of a System more quickly by skipping the copying of time series and/or supplemental attributes.
Arguments
sys::System: theSystemto copyskip_time_series::Bool = true: whether to skip copying time seriesskip_supplemental_attributes::Bool = true: whether to skip copying supplemental attributes
Note that setting both skip_time_series and skip_supplemental_attributes to false results in the same behavior as deepcopy with no performance improvement.
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::DiscreteControlledACBranch
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get DiscreteControlledACBranch internal.
InfrastructureSystems.get_internal — Methodget_internal(
value::DynamicBranch
) -> InfrastructureSystems.InfrastructureSystemsInternal
Return the InfrastructureSystemsInternal of a DynamicBranch.
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::EmissionsData
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get EmissionsData 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::FACTSControlDevice
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get FACTSControlDevice 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::GenericArcImpedance
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get GenericArcImpedance internal.
InfrastructureSystems.get_internal — Methodget_internal(
value::GenericDER
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get GenericDER internal.
InfrastructureSystems.get_internal — Methodget_internal(
value::HybridSystem
) -> InfrastructureSystems.InfrastructureSystemsInternal
Return the internal field of HybridSystem.
InfrastructureSystems.get_internal — Methodget_internal(
value::HydroDispatch
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get HydroDispatch internal.
InfrastructureSystems.get_internal — Methodget_internal(
value::HydroPumpTurbine
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get HydroPumpTurbine internal.
InfrastructureSystems.get_internal — Methodget_internal(
value::HydroReservoir
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get HydroReservoir internal.
InfrastructureSystems.get_internal — Methodget_internal(
value::HydroTurbineGov
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get HydroTurbineGov internal.
InfrastructureSystems.get_internal — Methodget_internal(
value::HydroTurbine
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get HydroTurbine 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::ImpedanceCorrectionData
) -> InfrastructureSystems.InfrastructureSystemsInternal
Return the internal field of ImpedanceCorrectionData.
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::InterruptibleStandardLoad
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get InterruptibleStandardLoad 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::MotorLoad
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get MotorLoad internal.
InfrastructureSystems.get_internal — Methodget_internal(
value::OneDOneQMachine
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get OneDOneQMachine internal.
InfrastructureSystems.get_internal — Methodget_internal(x::Outage) -> Any
Return the internal field of the Outage.
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::PhaseShiftingTransformer3W
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get PhaseShiftingTransformer3W 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(x::PowerPlant) -> Any
Return the internal field of the PowerPlant.
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::ShiftablePowerLoad
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get ShiftablePowerLoad 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(
value::SynchronousCondenser
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get SynchronousCondenser 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::Transformer3W
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get Transformer3W internal.
InfrastructureSystems.get_internal — Methodget_internal(
value::TransmissionInterface
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get TransmissionInterface internal.
InfrastructureSystems.get_internal — Methodget_internal(
value::TwoTerminalGenericHVDCLine
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get TwoTerminalGenericHVDCLine internal.
InfrastructureSystems.get_internal — Methodget_internal(
value::TwoTerminalLCCLine
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get TwoTerminalLCCLine internal.
InfrastructureSystems.get_internal — Methodget_internal(
value::TwoTerminalVSCLine
) -> InfrastructureSystems.InfrastructureSystemsInternal
Get TwoTerminalVSCLine 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._attach_impedance_correction_tables! — Method_attach_impedance_correction_tables!(
sys::System,
transformer::ThreeWindingTransformer,
name::String,
d::Dict,
ict_instances::Dict{Tuple{Int64, WindingCategory}, ImpedanceCorrectionData}
)
Attaches the corresponding ICT data to a Transformer3W component.
PowerSystems._attach_impedance_correction_tables! — Method_attach_impedance_correction_tables!(
sys::System,
transformer::TwoWindingTransformer,
name::String,
d::Dict,
ict_instances::Dict{Tuple{Int64, WindingCategory}, ImpedanceCorrectionData}
)
Attaches the corresponding ICT data to a Transformer2W component.
PowerSystems._attach_single_ict! — Method_attach_single_ict!(
sys::System,
transformer::Union{ThreeWindingTransformer, TwoWindingTransformer},
name::String,
d::Dict,
table_key::String,
winding_idx::WindingCategory,
ict_instances::Dict{Tuple{Int64, WindingCategory}, ImpedanceCorrectionData}
)
Function to attach ICTs to a single Transformer component.
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._emission_rate_curve — Method_emission_rate_curve(
val::Real
) -> IncrementalCurve{LinearFunctionData}
Wrap a scalar emission rate in a constant-rate IncrementalCurve after validation.
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
) -> Any
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_connected_head_devices — Method_get_connected_head_devices(
sys::System,
turbine::HydroUnit
) -> TurbineConnectedDevices
Returns a TurbineConnectedDevices object.
PowerSystems._get_connected_tail_devices — Method_get_connected_tail_devices(
sys::System,
turbine::HydroUnit
) -> TurbineConnectedDevices
Returns a TurbineConnectedDevices object.
PowerSystems._get_contributing_devices — Method_get_contributing_devices(
sys::System,
service::TransmissionInterface
) -> ServiceContributingDevices
Returns a ServiceContributingDevices object.
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{Array{SubString{T}, 1} where T<:AbstractString, 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_3w_name — Method_get_pm_3w_name(
device_dict,
bus_primary::ACBus,
bus_secondary::ACBus,
bus_tertiary::ACBus
) -> String
Internal 3WT name retrieval from pm2ps_dict
PowerSystems._get_pm_branch_name — Method_get_pm_branch_name(
device_dict,
bus_f::ACBus,
bus_t::ACBus
) -> String
Internal branch name retrieval from pm2ps_dict
PowerSystems._get_pm_dict_name — Method_get_pm_dict_name(device_dict::Dict) -> String
Internal component name retrieval 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._impedance_correction_table_lookup — Method_impedance_correction_table_lookup(
data::Dict
) -> Dict{Tuple{Int64, WindingCategory}, ImpedanceCorrectionData}
Parses ITC data from a dictionary and constructs a lookup table of piecewise linear scaling functions.
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._is_synch_condenser — Method_is_synch_condenser(
sub_data::Dict{String, Any},
pm_data::Dict{String, Any}
) -> Bool
_is_synch_condenser(sub_data, pm_data)Returns true if the generator described by sub_data and pm_data meets the criteria for a synchronous condenser.
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,
dtypes::Dict{String, Array}
)
_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 typeTor aTimeSeriesKeytransform_fn: a function to apply to the elements of the time seriesstart_time: as inget_time_serieslen: as inget_time_series
PowerSystems._process_set_cost — Method_process_set_cost(_, _, _, _, _::Nothing)
Helper function for cost setters.
Arguments
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 by setting the corresponding field to nothing.
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._remove_turbine! — Method_remove_turbine!(
reservoir::HydroReservoir,
device::HydroUnit
) -> Bool
Remove turbine from reservoir 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_fewer_significant_figures — Method_select_fewer_significant_figures(
a::Float64,
b::Float64
) -> Float64
Select the value with fewer significant figures (the "rounder" number). Uses trailing zeros after stripping the decimal point as a proxy.
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
) -> Union{Float64, Int64, InlineStrings.InlineString, SubString}
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._validate_emission_rate_curve — Method_validate_emission_rate_curve(curve::ValueCurve)
Validate that an emission_rate ValueCurve holds only finite coefficients and non-negative rate values (the rate at zero input and every tabulated rate must be >= 0).
PowerSystems._value2string — Method_value2string(v, float_precision::Int64) -> Any
converts any value to a string, summarizes arrays and dicts
PowerSystems.add_geographic_info_to_buses! — Methodadd_geographic_info_to_buses!(sys, substation_data)
Add geographic coordinates to all buses using pre-built lookup
PowerSystems.add_service_internal! — Methodadd_service_internal!(device::Device, service::Service)
Add a Service to a Device without checking that both are attached to the same System.
Arguments
See also: add_service!
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_IM_torque_params — Methodcalculate_IM_torque_params(
A::Float64,
B::Float64
) -> Float64
Calculate the torque constant C for an induction motor model from load-torque coefficients.
Throws an error if any of A, B, or C is negative (coefficients must be non-negative and sum to 1).
Arguments
A::Float64: Load torque coefficient for the quadratic speed term.B::Float64: Load torque coefficient for the linear speed term. The constant term isC = 1 - A - B.
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_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_reverse_component_ids — Methoddeserialize_reverse_component_ids(
mapping,
bus_number_mapping,
_::Type{Int64}
) -> Dict
Convert a sbusnsname => pname dictionary to a (pbusn, pname) => s_name dictionary
PowerSystems.deserialize_uuid_handling — Methoddeserialize_uuid_handling(
field_type,
val,
component_cache
) -> Any
Deserialize val of field_type, replacing UUID values with the corresponding components from component_cache where applicable.
Arguments
field_type: The expected type of the field.val: The raw serialized value.component_cache: A dictionary mapping UUIDs to already-deserialized components.
See also: serialize_uuid_handling
PowerSystems.get_AggregateDistributedGenerationA_states — Methodget_AggregateDistributedGenerationA_states(
Freq_Flag::Int64
) -> Tuple{Vector{Symbol}, Int64}
Return the state names and count for an AggregateDistributedGenerationA model based on Freq_Flag.
Arguments
Freq_Flag::Int: Frequency flag (0 or 1).
PowerSystems.get_GenericDER_states — Methodget_GenericDER_states(
Qref_Flag::Int64
) -> Tuple{Vector{Symbol}, Int64}
Return the state names and count for a GenericDER model based on Qref_Flag.
Arguments
Qref_Flag::Int: Reactive power reference flag (1, 2, or 3).
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) -> ACTransmission
Return the underlying ACTransmission branch of a DynamicBranch.
PowerSystems.get_dataframe — Methodget_dataframe(
data::PowerSystemTableData,
category::PowerSystems.InputCategoryModule.InputCategory
) -> 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_from_bus — Methodget_from_bus(b::Branch) -> Any
Return the "from" Bus of the branch.
Arguments
b::Branch: The branch.
See also: get_to_bus, get_arc
PowerSystems.get_generator_mapping — Methodget_generator_mapping(
filename::String
) -> 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}}
Return the interconnection_efficiency field of HybridSystem.
PowerSystems.get_max_storage_level — Methodget_max_storage_level(reservoir::HydroReservoir) -> Float64
Return the maximum storage level for a HydroReservoir.
See also: get_storage_level_limits
PowerSystems.get_outage_status — Methodget_outage_status(value::FixedForcedOutage) -> Float64
Return the outage_status field of FixedForcedOutage.
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_admittance — Methodget_series_admittance(b::ACTransmission) -> ComplexF64
Return the series admittance of an ACTransmission device as the inverse of the complex impedance 1 / (R + jX).
See also: get_series_susceptance
PowerSystems.get_series_admittance — Methodget_series_admittance(
b::PhaseShiftingTransformer
) -> ComplexF64
Return the series admittance of a PhaseShiftingTransformer as 1 / (tap × (R + jX)).
The phase angle α affects the admittance matrix construction but not the series impedance magnitude.
See also: get_series_susceptance, get_series_admittance
PowerSystems.get_series_admittance — Methodget_series_admittance(b::TapTransformer) -> ComplexF64
Return the series admittance of a TapTransformer as 1 / (tap × (R + jX)).
See also: get_series_susceptance, get_series_admittance
PowerSystems.get_series_admittances — Methodget_series_admittances(
b::PhaseShiftingTransformer3W
) -> Tuple{ComplexF64, ComplexF64, ComplexF64}
Return the series admittances of a PhaseShiftingTransformer3W as a 3-tuple of complex values (one per winding), each computed as 1 / (turns_ratio_i × (Ri + jXi)). Phase shift angles affect the admittance matrix but not series impedance magnitudes.
See also: get_series_admittance for 2-winding transformers
PowerSystems.get_series_susceptance — Methodget_series_susceptance(b::ACTransmission) -> Float64
Return the series susceptance of ACTransmission devices as the inverse of the reactance.
See also: get_series_admittance
PowerSystems.get_series_susceptance — Methodget_series_susceptance(
b::Union{PhaseShiftingTransformer, TapTransformer}
) -> Float64
Return the series susceptance of a controllable 2-winding transformer (TapTransformer or PhaseShiftingTransformer) as the inverse of the imaginary part of the impedance, accounting for the tap ratio. The phase shift angle is ignored.
See also: get_series_susceptances for 3-winding transformers
PowerSystems.get_series_susceptances — Methodget_series_susceptances(
b::PhaseShiftingTransformer3W
) -> Tuple{Float64, Float64, Float64}
Return the series susceptances of a PhaseShiftingTransformer3W as a 3-tuple of values (one per winding), each computed as the inverse of the imaginary part of the impedance accounting for turns ratios. Phase shift angles are ignored.
See also: get_series_susceptance for 2-winding transformers, get_series_susceptances for Transformer3W
PowerSystems.get_series_susceptances — Methodget_series_susceptances(
b::Transformer3W
) -> Tuple{Float64, Float64, Float64}
Return the series susceptances of a Transformer3W as a 3-tuple of values (one per winding), each computed as the imaginary part of the inverse of the complex impedance.
See also: get_series_susceptance for 2-winding transformers, get_series_susceptances for PhaseShiftingTransformer3W
PowerSystems.get_to_bus — Methodget_to_bus(b::Branch) -> Any
Return the "to" Bus of the branch.
Arguments
b::Branch: The branch.
See also: get_from_bus, get_arc
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::Bus)
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 theComponent.
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.line_rating_calculation — Methodline_rating_calculation(
l::Union{Line, MonitoredLine}
) -> Float64
Calculates the line rating based on the formula for the maximum transfer limit over an impedance
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
) -> Tuple{Union{Nothing, EnergyReservoirStorage, HydroDispatch, HydroTurbine, RenewableDispatch, RenewableNonDispatch, SynchronousCondenser, ThermalMultiStart, ThermalStandard}, Union{Nothing, Vector{HydroReservoir}}}
Creates a generator of any type.
PowerSystems.make_import_export_curve — Functionmake_import_export_curve(
powers::Vector{Float64},
prices::Vector{Float64}
) -> CostCurve{PiecewiseIncrementalCurve}
make_import_export_curve(
powers::Vector{Float64},
prices::Vector{Float64},
power_units::UnitSystem
) -> CostCurve{PiecewiseIncrementalCurve}
Make a CostCurve{PiecewiseIncrementalCurve} suitable for inclusion in an ImportExportCost from a vector of power values, a vector of costs, and an optional units system.
Examples
iec = make_import_export_curve([0.0, 100.0, 105.0, 120.0, 130.0], [25.0, 26.0, 28.0, 30.0])
iec1 = make_import_export_curve([0.0, 100.0, 105.0, 120.0, 130.0], [25.0, 26.0, 28.0, 30.0]; power_units = UnitSystem.NATURAL_UNITS)PowerSystems.make_import_export_curve — Functionmake_import_export_curve(
curve::PiecewiseStepData
) -> CostCurve{PiecewiseIncrementalCurve}
make_import_export_curve(
curve::PiecewiseStepData,
power_units::UnitSystem
) -> CostCurve{PiecewiseIncrementalCurve}
Make a CostCurve{PiecewiseIncrementalCurve} suitable for inclusion in a ImportExportCost from the FunctionData that might be used to store such a cost curve in a time series.
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.name_formatter_from_component_ids — Methodname_formatter_from_component_ids(
raw_name_mapping,
bus_number_mapping,
sig
) -> PowerSystems.var"#component_id_formatter#name_formatter_from_component_ids##0"{Dict{K, V}} where {K, V}
Use PSS/E exporter metadata to build a function that maps component names back to their original Sienna values.
PowerSystems.parse_export_metadata_dict — Methodparse_export_metadata_dict(md::Dict) -> Tuple{Dict, Dict}
Parse an export_metadata dictionary, returning the kwargs that should be passed to the System constructor and the bus number remapping that should be used to effect the retransformation.
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...)::DictParses directly from iostream
PowerSystems.parse_psse — Methodparse_psse(filename::String; kwargs...) -> Dict{String, Any}
parse_psse(filename::String; kwargs...)::DictParses 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.parse_substation_nodes! — Methodparse_substation_nodes!(
section_data::Dict{String, Any},
data_lines::Vector{String},
start_line_index::Int64
) -> Int64
Process substation data with elements and parse associated nodes
PowerSystems.process_substation_data! — Methodprocess_substation_data!(
section_data,
elements,
section,
current_dtypes,
data_lines,
line_index,
pti_data
) -> Int64
Process substation data with elements and parse associated nodes
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 val, encoding cross-referenced components as UUIDs instead of full objects.
See also: deserialize_uuid_handling
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 the active_power_control field of OuterControl.
PowerSystems.set_branch! — Methodset_branch!(
value::DynamicBranch,
val::ACTransmission
) -> ACTransmission
Set the underlying ACTransmission branch of a DynamicBranch.
PowerSystems.set_electric_load! — Methodset_electric_load!(hybrid::HybridSystem, val::ElectricLoad)
Set the electric_load field of HybridSystem.
PowerSystems.set_interconnection_efficiency! — Methodset_interconnection_efficiency!(
value::HybridSystem,
val
) -> Any
Set the interconnection_efficiency field of HybridSystem.
PowerSystems.set_interconnection_impedance! — Methodset_interconnection_impedance!(
value::HybridSystem,
val
) -> Any
Set the interconnection_impedance field of HybridSystem.
PowerSystems.set_interconnection_rating! — Methodset_interconnection_rating!(value::HybridSystem, val) -> Any
Set the interconnection_rating field of HybridSystem.
PowerSystems.set_reactive_power_control! — Methodset_reactive_power_control!(value::OuterControl, val) -> Any
Set the reactive_power_control field of OuterControl.
PowerSystems.set_renewable_unit! — Methodset_renewable_unit!(hybrid::HybridSystem, val::RenewableGen)
Set the renewable_unit field of HybridSystem.
PowerSystems.set_storage! — Methodset_storage!(hybrid::HybridSystem, val::Storage)
Set the storage field of HybridSystem.
PowerSystems.set_thermal_unit! — Methodset_thermal_unit!(hybrid::HybridSystem, val::ThermalGen)
Set the thermal_unit field of HybridSystem.
PowerSystems.should_encode_as_uuid — Methodshould_encode_as_uuid(val) -> Bool
Return true if the value should be encoded as a UUID during serialization.
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.single_start_up_to_stages — Methodsingle_start_up_to_stages(
start_up::Real
) -> NamedTuple{(:hot, :warm, :cold), <:Tuple{Any, Float64, Float64}}
Convert a single start-up cost value to a StartUpStages
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.supports_services — Methodsupports_services(_::ACBranch) -> Bool
Return true since AC branches support services.
See also: supports_services for Device, supports_services for StaticInjection, supports_services for HydroReservoir, supports_services for DynamicInjection
PowerSystems.supports_services — Methodsupports_services(_::AreaInterchange) -> Bool
Return true since AreaInterchange supports services.
See also: supports_services
PowerSystems.supports_services — Methodsupports_services(_::Device) -> Bool
Return false since most devices do not support services by default.
Arguments
device::Device: The device.
See also: supports_services for StaticInjection, supports_services for ACBranch, supports_services for HydroReservoir, supports_services for DynamicInjection
PowerSystems.supports_services — Methodsupports_services(_::DynamicInjection) -> Bool
Return false since dynamic injection devices do not support services.
See also: supports_services for Device, supports_services for StaticInjection, supports_services for ACBranch, supports_services for HydroReservoir
PowerSystems.supports_services — Methodsupports_services(_::HydroReservoir) -> Bool
Return false since HydroReservoir devices cannot provide services.
See also: supports_services for Device, supports_services for StaticInjection, supports_services for ACBranch, supports_services for DynamicInjection
PowerSystems.supports_services — Methodsupports_services(_::StaticInjection) -> Bool
Return true since static injection devices support services.
Arguments
device::StaticInjection: The device.
See also: supports_services for Device, supports_services for ACBranch, supports_services for HydroReservoir, supports_services for DynamicInjection
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) -> Float64
total_load_rating(sys::System)Sum of 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